ConfigServer Security & Firewall (CSF) پرکاربردترین فایروال حرفه‌ای برای cPanel و WHM هست. رایگان، قدرتمند و پیکربندی راحت. تو این مقاله همه چیز رو یاد میگیرید.

CSF چیه؟

یه script مبتنی بر iptables که فایروال، Login Failure Daemon، Web UI و ابزارهای امنیتی رو با هم ارائه میده. برای cPanel، DirectAdmin، Webmin طراحی شده.

نصب

cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

تست

perl /usr/local/csf/bin/csftest.pl

پیکربندی

فایل اصلی: /etc/csf/csf.conf

تنظیمات مهم

TESTING

TESTING = "1" - شروع در حالت تست.
بعد اطمینان: TESTING = "0"

پورت‌های ورودی TCP

TCP_IN = "22,25,53,80,110,143,443,465,587,993,995"

پورت‌های خروجی TCP

TCP_OUT = "22,25,53,80,110,113,443,587,993,995"

پورت‌های UDP

UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"

Login Failure Daemon

lfd به لاگ‌ها نگاه میکنه:
LF_TRIGGER = "5" - بعد 5 تلاش ناموفق مسدود میکنه.
LF_TRIGGER_PERM = "0" - موقت (0) یا دائم (1).

Country Block

مسدود کردن یه کشور کامل:
CC_DENY = "CN,RU"

یا فقط اجازه دادن به کشور خاص:
CC_ALLOW = "IR,US"

Web UI

UI = "1"
UI_PORT = "6666"
UI_USER = "admin"
UI_PASS = "strong_password"

دستورات مفید

Start/Stop

csf -e (enable)
csf -x (disable)
csf -r (restart)

مسدود کردن IP

csf -d 1.2.3.4

Allow کردن IP

csf -a 1.2.3.4

حذف از مسدود

csf -dr 1.2.3.4

وضعیت

csf -l

Deny و Allow Files

/etc/csf/csf.deny - IP های مسدود
/etc/csf/csf.allow - IP های مجاز

Whitelist ثابت

در /etc/csf/csf.allow اضافه کنید:
1.2.3.4 # office IP

Alert Emails

LF_ALERT_TO = "admin@yourdomain.com"

هشدارها ایمیل میشن.

Port Scan Detection

PS_INTERVAL = "300"
PS_LIMIT = "10"

اگه یه IP در 300 ثانیه به 10 پورت مختلف وصل بشه، مسدود میشه.

Anti-DDoS

CONNLIMIT = "22;5,80;20"
حداکثر 5 اتصال به SSH و 20 اتصال به HTTP.

PORTFLOOD

PORTFLOOD = "22;tcp;5;300"
اگه در 300 ثانیه، 5 تا connection جدید به port 22 بیاد، مسدود میشه.

Process Tracking

PT_LIMIT = "60"
PT_INTERVAL = "60"

پروسه‌های مشکوک رو گزارش میده.

User Login Tracking

UT_LIMIT = "50"
هشدار اگه یه کاربر بیش از 50 بار در ساعت login کنه.

Message Filter

MESSENGER = "1"
اگه IP مسدود بشه، صفحه پیام سفارشی نمایش داده میشه.

Cloudflare Integration

CF_ENABLE = "1"
IP های Cloudflare رو Trust میکنه تا IP واقعی کاربر شناسایی بشه.

DNSBL

DNSBL_CHECKS = "1"
IP های در Blacklist عمومی رو مسدود میکنه.

Regular Maintenance

Weekly: csf -l ببینید
Monthly: Update CSF: cd /usr/src/csf && sh update.sh
Quarterly: Config review

Backup Config

cp /etc/csf/csf.conf /etc/csf/csf.conf.bak

Best Practices

TESTING mode: با TESTING شروع کنید.
IP خودت: قبل هر چیز IP خودت رو allow کنید تا سهواً بلاک نشید.
Console access: اگه لاک شدید، از Console دسترسی داشته باشید.
Log monitor: /var/log/lfd.log رو مدام چک کنید.

WHM Integration

در WHM، CSF یه منوی مخصوص داره. تنظیمات رو با GUI انجام دهید.

Custom Regex

/etc/csf/regex.custom.pm برای تعریف الگوهای سفارشی.

سباهاست پیشنهاد

سرورهای cPanel از سباهاست با CSF از قبل نصب شده ارائه میشن.

جمع‌بندی

CSF یه لایه امنیتی ضروری برای سرورهای cPanel هست. با راه‌اندازی درست، سطح امنیت شما رو خیلی بالا میبره.