آموزش نصب فایروال CSF در لینوکس؛ تنظیم حرفهای، رفع خطاها و جلوگیری از قفل شدن SSH
آموزش نصب فایروال CSF در لینوکس؛ تنظیم حرفهای، جلوگیری از قفل شدن SSH و رفع خطاهای رایج
CSF یکی از محبوبترین فایروالهای مدیریتی برای سرورهای لینوکسی است که همراه با LFD میتواند پورتها، IPها، تلاشهای ورود ناموفق، اسکن پورت، حملات brute force و رفتارهای مشکوک را کنترل کند. در این آموزش، نصب CSF را با SSH، تنظیمات مهم، چالشهای واقعی کاربران، خطاهای رایج و راهحلهای عملی بررسی میکنیم.
چکلیست مهم قبل از نصب
نصب CSF با SSH در Ubuntu و AlmaLinux
تنظیمات اصلی csf.conf
پورتهای مهم کنترلپنلها
تنظیم LFD و جلوگیری از brute force
مشکلات رایج و راهحلها
FAQ کامل CSF
CSF چیست؟ فرق CSF با فایروال ساده لینوکس
CSF یا ConfigServer Security & Firewall یک ابزار مدیریتی برای کنترل فایروال لینوکس است. CSF خودش هسته فایروال نیست؛ بلکه روی مکانیزمهای فایروال لینوکس مثل iptables/ip6tables و Netfilter کار میکند و مدیریت پورتها، IPهای مجاز/مسدود، محدودسازی اتصالها و قوانین امنیتی را سادهتر میکند.
بخش مهم CSF فقط باز و بسته کردن پورت نیست. سرویس LFD یا Login Failure Daemon همراه آن رفتارهای مشکوک مثل تلاشهای زیاد برای ورود به SSH، FTP، ایمیل یا پنل را بررسی میکند و میتواند IP مهاجم را مسدود کند.
CSF برای چه کسانی مناسب است؟
- مدیران سرور مجازی و اختصاصی که میخواهند پورتها را دقیق کنترل کنند.
- کاربران cPanel/WHM، DirectAdmin، CyberPanel و سرورهای وب مستقل.
- سایتهای وردپرسی، فروشگاهی و پروژههایی که حملات SSH، FTP، SMTP یا اسکن پورت دارند.
- تیمهایی که میخواهند بهجای دستورهای پراکنده iptables، یک لایه مدیریتی قابل فهم داشته باشند.
قبل از نصب CSF؛ این چکلیست را جدی بگیرید
بیشترین مشکلی که کاربران هنگام نصب فایروال تجربه میکنند، قفل شدن SSH یا بسته شدن پورت کنترلپنل است. بنابراین قبل از نصب CSF، این چند مرحله را انجام دهید.
دستورهای آماده قبل از نصب
echo “$SSH_CONNECTION”
# پیدا کردن IP عمومی از داخل سرور
curl -4 ifconfig.me || curl -4 icanhazip.com
# بررسی پورتهایی که الان گوش میکنند
ss -tulpn
# بررسی فایروالهای فعال
systemctl is-active firewalld 2>/dev/null || true
ufw status 2>/dev/null || true
iptables -S 2>/dev/null | head -n 40
هشدار مهم برای جلوگیری از قفل شدن SSH
اگر پورت SSH را در `TCP_IN` قرار ندهید یا IP خودتان را قبل از فعالسازی allow نکنید، ممکن است دسترسی SSH قطع شود. همیشه بعد از نصب، اول با یک نشست جدید SSH تست کنید و بعد نشست قبلی را ببندید.
آموزش نصب CSF با SSH در لینوکس
نصب CSF معمولاً با دانلود بسته رسمی، Extract کردن و اجرای install.sh انجام میشود. قبل از اجرا، مطمئن شوید با کاربر root وارد شدهاید.
نصب پیشنیازها در Ubuntu/Debian
apt install -y wget curl perl libwww-perl liblwp-protocol-https-perl unzip tar
نصب پیشنیازها در AlmaLinux/Rocky/CentOS
# اگر dnf نبود:
yum install -y wget curl perl-libwww-perl perl-LWP-Protocol-https unzip tar perl
دانلود و نصب CSF
rm -rf csf csf.tgz
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
تست ماژولها و سازگاری فایروال
اگر خروجی تست مشکلی جدی نشان نداد، میتوانید سراغ تنظیمات اصلی بروید. اگر خطای iptables، ip6tables، kernel modules یا nft/legacy دیدید، قبل از فعالسازی نهایی آن را بررسی کنید.
تنظیمات مهم فایل csf.conf
فایل اصلی تنظیمات CSF معمولاً اینجاست:
۱. TESTING را خاموش کنید، اما عجله نکنید
بعد از نصب، CSF معمولاً در حالت تست نصب میشود تا اگر اشتباه کردید، فایروال خودش بعد از مدتی غیرفعال شود. وقتی پورتها را تنظیم و تست کردید، مقدار زیر را تغییر دهید:
۲. پورتهای ورودی و خروجی را تنظیم کنید
مهمترین بخش برای جلوگیری از قفل شدن سایت و پنل، تنظیم `TCP_IN` و `TCP_OUT` است.
TCP_IN = “22,25,53,80,110,143,443,465,587,993,995”
TCP_OUT = “20,21,22,25,53,80,110,113,443,587,993,995”
UDP_IN = “20,21,53”
UDP_OUT = “20,21,53,123”
اگر SSH روی پورت دیگری است
اگر SSH شما مثلاً روی پورت 22222 است، باید همان پورت را در `TCP_IN` بگذارید. فقط نوشتن 22 کافی نیست.
۳. IP خودتان را allow کنید
csf -a YOUR.IP.ADDRESS “my admin ip”
# مشاهده فایل allow
cat /etc/csf/csf.allow
۴. اعمال تنظیمات
systemctl restart lfd 2>/dev/null || service lfd restart
csf -l | head -n 80
پورتهای مهم برای کنترلپنلها و سرویسها
یکی از رایجترین مشکلات کاربران این است که بعد از نصب CSF، سایت بالا میآید ولی پنل باز نمیشود، یا ایمیل کار نمیکند. دلیل معمولاً این است که پورتهای لازم در `TCP_IN` و گاهی `TCP_OUT` وارد نشدهاند.
| سرویس | پورتهای رایج | توضیح |
|---|---|---|
| SSH | 22 یا پورت سفارشی | قبل از فعالسازی CSF حتماً پورت واقعی SSH را وارد کنید. |
| وبسایت | 80, 443 | HTTP و HTTPS برای باز شدن سایت ضروری هستند. |
| DNS | 53 TCP/UDP | اگر سرور DNS هم روی همین سرور است، هر دو پروتکل را بررسی کنید. |
| ایمیل | 25, 465, 587, 110, 143, 993, 995 | برای SMTP/IMAP/POP3 بسته به سرویس ایمیل لازم میشود. |
| cPanel/WHM | 2082, 2083, 2086, 2087, 2095, 2096 | برای ورود کاربران، WHM و Webmail. |
| DirectAdmin | 2222 | پورت پیشفرض پنل DirectAdmin. |
| CyberPanel | 8090 | پورت ورود به پنل CyberPanel. |
| FTP | 21 و Passive Ports | اگر FTP دارید، فقط 21 کافی نیست و محدوده Passive هم لازم است. |
| LiteSpeed/OpenLiteSpeed | 7080، 8088 در بعضی نصبها | برای کنسول مدیریت یا تست وبسرور. |
تنظیم LFD برای جلوگیری از Brute Force
LFD لاگهای سیستم را بررسی میکند و اگر یک IP چند بار ورود ناموفق داشته باشد، میتواند آن را block کند. این بخش برای SSH، FTP، ایمیل، cPanel، DirectAdmin و سرویسهای دیگر مفید است.
tail -f /var/log/lfd.log
# وضعیت سرویس
systemctl status lfd –no-pager
# راهاندازی مجدد
systemctl restart lfd
تنظیمات مهم امنیتی
- LF_SSHD: تعداد تلاش ناموفق SSH قبل از ban شدن IP.
- LF_FTPD: کنترل تلاشهای ناموفق FTP.
- LF_SMTPAUTH: مقابله با تلاشهای ورود به SMTP.
- CT_LIMIT: محدودسازی تعداد اتصال همزمان از یک IP.
- PORTFLOOD: کنترل flood روی پورتهای مشخص.
- LF_EMAIL_ALERT: ارسال ایمیل هشدار در صورت ban یا رخداد امنیتی.
زیادهروی در محدودسازی خطرناک است
اگر مقدارها خیلی سختگیرانه باشند، کاربران واقعی پشت NAT، اینترنت موبایل یا شبکههای شرکتی ممکن است اشتباهی ban شوند. برای سایت فروشگاهی یا ناحیه کاربری، تنظیمات را با لاگ واقعی تیون کنید.
مشکلات رایج نصب و تنظیم CSF + راهحل
مشکل ۱: بعد از نصب CSF، SSH قطع شد
دلیل معمولاً وارد نکردن پورت SSH در `TCP_IN` یا allow نکردن IP مدیر است.
nano /etc/csf/csf.conf
# پورت SSH را به TCP_IN اضافه کنید
csf -r
# اگر موقتاً باید فایروال را خاموش کنید:
csf -x
اگر هیچ SSH باز ندارید، باید از کنسول Rescue/VNC پنل دیتاسنتر وارد شوید و CSF را غیرفعال یا تنظیم کنید.
مشکل ۲: سایت باز نمیشود ولی SSH کار میکند
احتمالاً پورتهای 80 و 443 در `TCP_IN` نیستند یا وبسرور روی پورت غیرعادی اجرا شده است.
grep ‘^TCP_IN’ /etc/csf/csf.conf
csf -r
مشکل ۳: پنل cPanel، DirectAdmin یا CyberPanel باز نمیشود
پورت پنل را به `TCP_IN` اضافه کنید. برای DirectAdmin معمولاً 2222، برای CyberPanel معمولاً 8090 و برای WHM معمولاً 2087 لازم است.
مشکل ۴: ایمیل ارسال یا دریافت نمیشود
پورتهای SMTP/IMAP/POP3 را بررسی کنید. همچنین در برخی دیتاسنترها پورت 25 از سمت provider بسته است و ربطی به CSF ندارد.
مشکل ۵: با Cloudflare یا CDN، کاربران واقعی ban میشوند
اگر سرور IP واقعی کاربران را درست تشخیص ندهد، ممکن است IPهای Cloudflare یا CDN بهجای IP کاربر دیده شوند. در این حالت باید real visitor IP را در وبسرور درست کنید و IPهای رسمی CDN را با دقت allow کنید. لیست IPهای CDN ممکن است تغییر کند، پس آن را از منبع رسمی همان سرویس بگیرید.
مشکل ۶: Docker یا سرویسهای container بعد از CSF به مشکل میخورند
Docker خودش قوانین iptables ایجاد میکند. اگر CSF بدون بررسی روی سروری با Docker فعال شود، ممکن است ارتباط containerها، port mapping یا NAT دچار مشکل شود. در این حالت باید قبل از نصب، ساختار شبکه Docker و قوانین NAT را بررسی کنید.
مشکل ۷: firewalld یا ufw با CSF تداخل دارد
بهتر است همزمان چند ابزار مدیریتی فایروال، قوانین اصلی را کنترل نکنند. اگر CSF را بهعنوان فایروال اصلی انتخاب میکنید، وضعیت UFW/firewalld را بررسی و سیاست مشخصی داشته باشید.
systemctl status firewalld –no-pager
# بررسی UFW
ufw status verbose
# بررسی قوانین iptables
iptables -L -n -v
ip6tables -L -n -v
مشکل ۸: IPv6 باز مانده یا درست کنترل نمیشود
اگر سرور IPv6 دارد، فقط تنظیم IPv4 کافی نیست. مقدار `IPV6` و پورتهای IPv6 را در CSF بررسی کنید. بسیاری از مدیران فقط IPv4 را میبندند اما سایت یا سرویس از IPv6 همچنان در دسترس میماند.
دستورهای مدیریتی مهم CSF
| دستور | کاربرد |
|---|---|
| csf -e | فعال کردن CSF |
| csf -x | غیرفعال کردن موقت CSF |
| csf -r | Restart و اعمال تنظیمات |
| csf -l | نمایش قوانین فعلی فایروال |
| csf -a IP | اضافه کردن IP به allow |
| csf -d IP | اضافه کردن IP به deny |
| csf -dr IP | حذف IP از deny |
| csf -g IP | جستجوی IP در allow/deny/rules |
| csf -tf IP 3600 | مسدودسازی موقت IP برای ۳۶۰۰ ثانیه |
| csf -tr IP | حذف block موقت |
چکلیست پیشنهادی سلامسرور بعد از نصب CSF
- از یک IP دیگر، SSH جدید باز کنید و مطمئن شوید قفل نشدهاید.
- سایت را با HTTP و HTTPS تست کنید.
- پنل مدیریتی مثل cPanel/WHM، DirectAdmin یا CyberPanel را باز کنید.
- ارسال و دریافت ایمیل را تست کنید.
- اگر DNS روی همین سرور است، رکورد دامنه را بررسی کنید.
- لاگ LFD را حداقل ۱۰ دقیقه بررسی کنید.
- اگر سایت فروشگاهی دارید، پرداخت تستی انجام دهید.
- اگر CDN دارید، IP واقعی کاربران و لاگ وبسرور را بررسی کنید.
سوالات متداول درباره نصب CSF در لینوکس
آیا CSF رایگان است؟
CSF بهصورت عمومی بهعنوان ابزار رایگان فایروال شناخته میشود؛ اما قبل از نصب روی سرور تولیدی، بهتر است وضعیت دانلود، مجوز و نگهداری نسخه فعلی را از منبع رسمی پروژه بررسی کنید.
آیا CSF جایگزین WAF است؟
نه. CSF فایروال سطح سرور و شبکه است؛ WAF درخواستهای HTTP/HTTPS و حملاتی مثل SQL Injection یا XSS را بررسی میکند. برای سایت حساس، ترکیب CSF، WAF، آپدیت نرمافزار، بکاپ و مانیتورینگ بهتر است.
آیا CSF روی Ubuntu نصب میشود؟
بله، معمولاً روی Ubuntu/Debian و توزیعهای خانواده RHEL نصب میشود؛ اما باید سازگاری iptables/nftables، سرویسهای فعال و تداخل با UFW/firewalld را بررسی کنید.
بعد از نصب CSF سایت باز نمیشود، چه کنم؟
پورتهای 80 و 443 را در `TCP_IN` بررسی کنید، با `ss -tulpn` ببینید وبسرور روی چه پورتی گوش میکند و سپس `csf -r` بزنید.
برای جلوگیری از قفل شدن SSH چه کار کنم؟
قبل از فعالسازی، IP خودتان را با `csf -a` allow کنید، پورت واقعی SSH را در `TCP_IN` بگذارید، یک نشست SSH دوم باز نگه دارید و بعد از اعمال تنظیمات، از نشست جدید تست بگیرید.
آیا باید firewalld یا UFW را غیرفعال کنم؟
بهتر است چند ابزار مدیریتی همزمان قوانین اصلی فایروال را کنترل نکنند. اگر CSF را بهعنوان فایروال اصلی انتخاب میکنید، وضعیت UFW/firewalld را بررسی کنید و از تداخل قوانین جلوگیری کنید.
CSF روی سرور Docker مناسب است؟
قابل انجام است، اما نیاز به دقت دارد. Docker قوانین NAT و iptables خودش را ایجاد میکند؛ بنابراین نصب CSF بدون بررسی ممکن است ارتباط containerها را مختل کند.
آیا CSF برای وردپرس کافی است؟
برای امنیت سرور مفید است، اما برای امنیت کامل وردپرس کافی نیست. باید افزونهها را بهروز نگه دارید، WAF داشته باشید، wp-admin را محافظت کنید، بکاپ بگیرید و دسترسی SSH/FTP را محدود کنید.
جمعبندی
CSF اگر درست نصب و تنظیم شود، یکی از بهترین ابزارهای عملی برای کنترل دسترسی سرور، کاهش brute force و مدیریت قوانین امنیتی است. اما نصب عجولانه آن میتواند باعث قفل شدن SSH، بسته شدن پنل، مشکل ایمیل یا اختلال در سرویسها شود. بهترین روش این است که اول پورتها، IP مدیر، کنترلپنل، ایمیل، DNS و CDN را مشخص کنید، سپس CSF را با حالت امن نصب و مرحلهبهمرحله تست کنید.
شما میتوانید دیدگاه خود را در مورد این مطلب با ما به اشتراک بگذارید.