فایروال CSF چیست؟ آموزش نصب و کانفیگ CSF

فهرست مطالب

در دنیای امروز، امنیت سرورها از اهمیت بالایی برخوردار است. یکی از ابزارهای قدرتمند برای افزایش امنیت سرورهای لینوکسی، فایروال CSF (ConfigServer Security & Firewall) است. در این مقاله، به معرفی CSF، ویژگی‌های آن، مراحل نصب و پیکربندی آن خواهیم پرداخت.


فایروال CSF چیست؟

CSF یک فایروال پیشرفته برای سرورهای لینوکسی است که به‌ویژه برای کنترل پنل‌های cPanel، DirectAdmin و Webmin طراحی شده است. این فایروال با استفاده از iptables، ترافیک ورودی و خروجی را کنترل کرده و از سرور در برابر حملات مختلف محافظت می‌کند.


ویژگی‌های کلیدی CSF

  • پشتیبانی از کنترل پنل‌های محبوب: CSF با کنترل پنل‌هایی مانند cPanel، DirectAdmin و Webmin سازگار است.
  • تشخیص و جلوگیری از حملات: این فایروال قادر به شناسایی و جلوگیری از حملاتی مانند Brute Force، DDoS و Port Scanning است.
  • مدیریت دسترسی‌ها: با استفاده از فایل‌های csf.allow و csf.deny، می‌توان دسترسی‌های IP را مدیریت کرد.
  • مدیریت محدودیت‌های اتصال: با تنظیمات CONNLIMIT و PORTFLOOD، می‌توان محدودیت‌هایی برای تعداد اتصالات همزمان اعمال کرد.
  • سیستم تشخیص نفوذ (LFD): این سیستم تلاش‌های ناموفق برای ورود به سرور را شناسایی کرده و IP مهاجم را مسدود می‌کند.

سیستم‌عامل‌های پشتیبانی‌شده

CSF از اکثر توزیع‌های لینوکس پشتیبانی می‌کند، از جمله:

  • CentOS
  • Ubuntu
  • Debian
  • Fedora
  • CloudLinux

پیش‌نیازهای نصب CSF

قبل از نصب CSF، اطمینان حاصل کنید که:

  • دسترسی SSH به سرور دارید.
  • Perl و libwww-perl بر روی سرور نصب شده‌اند.

مراحل نصب CSF بر روی سرور لینوکس

  1. وارد سرور شوید: ssh root@your-server-ip
  1. نصب پیش‌نیازها: yum install perl-libwww-perl
  1. دانلود و نصب CSF: cd /usr/src wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf sh install.sh
  1. بررسی نصب: perl /usr/local/csf/bin/csftest.pl

پیکربندی اولیه CSF

  1. غیرفعال‌سازی فایروال پیش‌فرض: systemctl stop firewalld systemctl disable firewalld
  1. ویرایش فایل پیکربندی CSF: nano /etc/csf/csf.conf
  1. تغییر مقدار TESTING به 0: TESTING = "0"
  1. راه‌اندازی CSF و LFD: systemctl start csf systemctl start lfd systemctl enable csf systemctl enable lfd

تنظیمات مهم در فایل csf.conf

  • TCP_IN: پورت‌های ورودی مجاز.
  • TCP_OUT: پورت‌های خروجی مجاز.
  • ICMP_IN: اجازه یا عدم اجازه پینگ به سرور.
  • CONNLIMIT: محدودیت تعداد اتصالات همزمان به پورت‌ها.
  • PORTFLOOD: محدودیت تعداد اتصالات در مدت زمان مشخص.

مدیریت دسترسی‌ها با csf.allow و csf.deny

  • csf.allow: برای مجاز کردن دسترسی IPهای خاص.
  • csf.deny: برای مسدود کردن دسترسی IPهای خاص.

مدیریت محدودیت‌های اتصال با CONNLIMIT و PORTFLOOD

  • CONNLIMIT: برای محدود کردن تعداد اتصالات همزمان به پورت‌ها.
  • PORTFLOOD: برای محدود کردن تعداد اتصالات در مدت زمان مشخص.

فعال‌سازی و غیرفعال‌سازی CSF

  • فعال‌سازی CSF:
  systemctl start csf
  systemctl start lfd
  • غیرفعال‌سازی CSF:
  systemctl stop csf
  systemctl stop lfd

نظارت و گزارش‌گیری با LFD

LFD (Login Failure Daemon) تلاش‌های ناموفق برای ورود به سرور را شناسایی کرده و IP مهاجم را مسدود می‌کند. برای مشاهده گزارش‌ها:

cat /var/log/lfd.log

رفع مشکلات رایج در CSF

  • عدم دسترسی به سرور پس از فعال‌سازی CSF:
    • اطمینان حاصل کنید که پورت‌های ضروری مانند 22 (SSH) در TCP_IN باز هستند.
  • مشاهده خطا در csftest.pl:
    • اطمینان حاصل کنید که تمام پیش‌نیازها نصب شده‌اند و iptables به درستی پیکربندی شده است.

نتیجه‌گیری

فایروال CSF (ConfigServer Security & Firewall) ابزاری قدرتمند و رایگان برای افزایش امنیت سرورهای لینوکسی است. با نصب و پیکربندی صحیح آن، می‌توان از سرور در برابر تهدیدات مختلف محافظت کرد و امنیت سیستم را بهبود بخشید.


سوالات متداول

1. آیا CSF با تمامی کنترل پنل‌ها سازگار است؟

خیر، CSF به‌ویژه برای کنترل پنل‌های cPanel، DirectAdmin و Webmin طراحی شده است.

2. آیا CSF رایگان است؟

بله، CSF یک فایروال رایگان و متن‌باز است.

3. آیا پس از نصب CSF نیاز به راه‌اندازی مجدد سرور است؟

خیر، پس از نصب و پیکربندی، تنها نیاز به راه‌اندازی مجدد CSF و LFD است.

4. چگونه می‌توانم یک IP را از لیست سیاه خارج کنم؟

برای حذف IP از لیست سیاه، از دستور زیر استفاده کنید:

bashCopyEditcsf -dr IP_ADDRESS

5. آیا CSF از حملات DDoS محافظت می‌کند؟

بله، CSF با استفاده از تنظیمات مانند PORTFLOOD و SYNFLOOD از سرور در برابر حملات DDoS محافظت می‌کند.