مرکز آموزش میهن وب هاست

مرکز آموزش میهن وب هاست

آموزش کار با فایروال CSF

پرینت این مقاله پرینت این مقاله


معرفی

Config Server Firewall یا به اختصار CSF، یک فایروال نرم افزاری رایگان و پیشرفته برای اکثر توزیع های لینوکس و سرورهای مبتنی بر لینوکس است. علاوه بر قابلیت های اساسی فایروال و فیلترینگ پکت ، CSF شامل سایر ویژگی های امنیتی ، مانند مقابله با حملات flood و همچنین ایجاد محدودیت هایی برای ورود به سیستم است.

رابط کاربری csf در کنترل پنل های محبوب لینوکسی مانند Cpanel ، Directadmin و Webmin ادغام شده است اما در این بخش قرار است تنها به استفاده از خط فرمان لینوکس پرداخته شود.

CSF قادر است بسیاری از حملات مانند اسکن پورت ، حملات SYN و حملات brute force را شناسایی کند.

لیست کامل سیستم عامل ها و ویژگی های پشتیبانی شده را می توان در اینجا مشاهده نمود.

این آموزش برای سرور مبتنی بر لینوکس ، مانند Centos نوشته شده است. لازم به ذکر است که دستورات باید با مجوزهای root اجرا شوند.

توجه : این آموزش تنها امنیت IPv4 را در بر می گیرد.

ویژگی ها

Csf ویژگی هایی بسیاری را برای امنیت سرور ارائه می دهد.

Login authentication failure daemon

CSF گزارشات مربوط به تلاشهای ناموفق ورود به سیستم را در فاصله زمانی منظم بررسی می کند و قادر است بیشتر تلاش های غیرمجاز برای دستیابی به سرور شما را تشخیص دهد. بنابراین می توانید اقدامات امنیتی دلخواه خود را در فایل پیکربندی CSF تنظیم نمایید.

برنامه های زیر توسط این ویژگی پشتیبانی می شوند:

  • Courier imap, Dovecot, uw-imap, Kerio
  • openSSH
  • (cPanel, WHM, Webmail (cPanel servers only
  • Pure-ftpd, vsftpd, Proftpd
  • Password protected web pages (htpasswd)
  • (Mod_security failures (v1 and v2
  • Suhosin failures
  • Exim SMTP AUTH

علاوه بر اینها، شما قادر هستید فایل ورود به سیستم خود را ایجاد کنید.

Process tracking

CSF را می توان برای ردیابی فرآیندها به منظور تشخیص فرآیندهای مشکوک یا پورت های باز شبکه پیکربندی کرد و در صورت شناسایی، ایمیلی به مدیر سیستم ارسال کند. این ویژگی ممکن است به شما کمک کند تا سوء استفاده احتمالی از سرور خود را شناسایی و متوقف کنید.

 

Directory watching

این ویژگی فولدر های /temp و سایر پوشه های مربوطه را برای اسکریپت های مخرب مانیتور می کند و در صورت شناسایی یک ایمیل به مدیر سرور ارسال می کند.

 

Messenger service

فعال کردن این ویژگی به CSF اجازه می دهد تا هنگام استفاده از یک بلوک، اطلاعات بیشتری به کاربر ارسال کند. در صورت فعالسازی این ویژگی، اگر یک IP به دلایلی مسدود شود ، CSF یک صفحه وب را تحت عنوان پیام مسدود شدن سرور نشان می دهد.

 

Port flood protection

این ویژگی سرور شما را در برابر حملات port flood محافظت می کند. شما می توانید در مدت زمان دلخواه خود مقدار اتصالات مجاز را بر روی هر پورت مشخص کنید. فعالسازی این ویژگی توصیه می شود زیرا می تواند منجر به down شدن سرویس ها توسط فرد مهاجم شود. شما باید توجه داشته باشید که چه محدودیتی را تعیین کرده اید ، زیرا تنظیمات بیش از حد محدود کننده باعث می شود اتصالات مشتری های شما کاهش یابد. ضمن اینکه تنظیمات بیش از حد مجاز ممکن است یک مهاجم را در یک حمله syn flood موفق گرداند.

Port knocking

با کمک این ویژگی، CSF مجوز اتصال به پورت های بسته را برای گروهی از کلاینت ها فراهم میکند .

ممکن است در صورت ارائه خدماتی که فقط برای مخاطبان محدودی ارائه شده است ، این کار مفید واقع شود.

Connection limit protection

از این ویژگی می توان برای محدود کردن تعداد همزمان اتصالات فعال از آدرس IP بر روی هر پورت استفاده کرد. در صورت پیکربندی مناسب ، ممکن است از سوءاستفاده روی سرور مانند حملات DoS جلوگیری کند.

Port/IP address redirection

CSF می تواند کانکشن ها را از یک آدرس ip و پورت به یک آدرس ip و پورت دیگر هدایت کند.

توجه : پس از تغییر مسیر ، آدرس منبع مشتری همان آدرس IP سرور خواهد بود اما این معادل ترجمه آدرس شبکه (NAT) نیست.

UI integration

ویژگی دیگری Csf این است که اگر با خط فرمان لینوکس آشنایی ندارید، رابط گرافیکی را در کنترل پنل های Directadmin ، Cpanel و Webmin ادغام کرده است که می توانید تنظیمات را از همان بخش انجام دهید.

IP block lists

این ویژگی به CSF اجازه می دهد تا لیست های آدرس های IP مسدود شده را به طور خودکار از منابع تعریف شده توسط شما دریافت کند.

نصب فایروال ConfigServer
گام اول - Config Server Firewall در حال حاضر در مخازن centos نیست و می بایست از وب سایت ConfigServer دانلود شود.

wget http://download.configserver.com/csf.tgz

با این کار CSF در دایرکتوری مدنظر شما دانلود می شود.

گام دوم - هم اکنون می بایست فایل دانلود شده را استخراج کرد.

tar -xzf csf.tgz

توجه : قبل از نصب csf توجه داشته باشید که هیچ فایروال دیگری بر روی سرور شما نصب نباشد.

گام سوم - سپس وارد پوشه ای که استخراج شده (csf) شوید. در این دایرکتوری فایل install فایروال وجود خواهد داشت که با اجرای دستورات زیر نصب می شود.

cd csf

sh install.sh

توجه : با نصب فایروال csf تمامی rule های ایجاد شده در iptables به صورت اتوماتیک حذف می شوند.

پیکربندی اولیه
با ویرایش فایل csf.conf در مسیر /etc/csf/ می تواند تنظیمات را اعمال نمود.

nano /etc/csf/csf.conf

پس از ایجاد هر تغییری در فایل conf ، برای اعمال تغییرات می بایست یکبار csf را ریستارت کرد.

csf -r

گام اول - خارج کردن فایروال از حالت تست
پس از نصب فایروال csf حتماً می بایست آن را از حالت "تست" خارج نمایید در غیر اینصورت فایروال عملاً هیچ کاری نمی کند.

بنابراین می بایست به شکل زیر دربیاید.

TESTING = "0"

گام دوم - پیکربندی پورت ها
هرچه دسترسی کمتر به سرور شما وجود داشته باشد ، سرور شما ایمن تر خواهد بود. با این حال ، همه پورت ها نمی توانند بسته شوند زیرا مشتری باید بتواند از خدمات شما استفاده کند.

پورت های باز شده به طور پیش فرض به شرح زیر است:

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

TCP_OUT = "20,21,22,25,53,80,110,113,443"

UDP_IN = "20,21,53"

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

 
سرویس های فعال بر روی این پورت ها به شرح زیر است :

Port 20: FTP data transfer

Port 21: FTP control

Port 22: Secure shell (SSH

Port 25: Simple mail transfer protocol (SMTP)

Port 53: Domain name system (DNS)

Port 80: Hypertext transfer protocol (HTTP)

Port 110: Post office protocol v3 (POP3)

Port 113: Authentication service/identification protocol

Port 123: Network time protocol (NTP)

Port 143: Internet message access protocol (IMAP)

Port 443: Hypertext transfer protocol over SSL/TLS (HTTPS)

Port 465: URL Rendezvous Directory for SSM (Cisco)

Port 587: E-mail message submission (SMTP)

Port 993: Internet message access protocol over SSL (IMAPS)

Port 995: Post office protocol 3 over TLS/SSL (POP3S)

 
در صورتی که هر کدام از پورت ها را لازم ندارید، می توانید آنها را حذف کنید.

در زیر مجموعه پورت هایی وجود دارد که در صورت اجرای سرویس ذکر شده باید باز شوند.

در هر سرور پورت های زیر باید باز باشند :

TCP_IN: 22,53

TCP_OUT: 22,53,80,113,443

UPD_IN: 53

UPD_OUT: 53,113,123

آپاچی :

TCP_IN: 80,443

FTP سرور :

TCP_IN: 20,21

TCP_OUT: 20,21

UPD_IN: 20,21

UPD_OUT:20,21

 
Mail سرور :

TCP_IN: 25,110,143,587,993,995

TCP_OUT: 25,110

MySQL سرور :

TCP_IN: 3306

TCP_OUT: 3306

شما می توانید لیست کاملی از پورت های TCP و UDP را در اینجا پیدا کنید. شما باید پورت های کلیه خدماتی را که استفاده می کنید، باز نمایید.

 
گام سوم - تنظیمات اضافی
Csf تعداد زیادی تنظیمات خاص را در فایل پیکربندی خود ارائه می دهد. برخی از رایج ترین تنظیمات در زیر توضیح داده شده است.

ICMP_IN

در صورتی که مقدار این متغیر برابر "1" باشد آی پی سرور شما Pingable می باشد و چنانچه مقدار آن را به "0" تغییر دهید Ping آی پی آدرس در دسترس نخواهد بود که به منظور امنیت بیشتر سرور می توان تنظیم کرد.

اما اگر شما میزبان هرگونه خدمات عمومی هستید ، توصیه می شود درخواست های ICMP را فعال بگذارید.

ICMP_IN_LIMIT

تعداد درخواست های ICMP (پینگ) مجاز از یک آدرس IP را در مدت زمان مشخصی تنظیم می کند. معمولاً نیازی به تغییر مقدار پیش فرض (1 / ثانیه) نیست.

DENY_IP_LIMIT

تعداد آدرس های IP مسدود شده CSF را نگه می دارد. توصیه می شود تعداد آدرس های IP رد شده محدود شود زیرا داشتن تعداد زیادی بلاک ممکن است عملکرد سرور را کند کند.

DENY_TEMP_IP_LIMIT

مانند موارد فوق ، اما برای بلاک های آدرس IP موقتی.

PACKET_FILTER

بسته های نامعتبر ، ناخواسته و غیرقانونی را فیلتر کنید.

SYNFLOOD, SUNFLOOD_RATE and SYNFLOOD_BURST

این امر در برابر حملات SYN Flood محافظت می کند. اما با توجه به اینکه این تنظیمات منجر به کندی هر اتصال می شود ، می بایست تنها زمان هایی که سرور مورد حمله قرار می گیرد ، تنظیم شود.

CONNLIMIT

تعداد اتصالات فعال همزمان را در پورت محدود می کند.

22;5;443;20

5 اتصال همزمان بر روی پورت 22 و 20 اتصال همزمان بر روی پورت 443 را مجوز دسترسی می دهد.

PORTFLOOD

تعداد اتصالات را در هر بازه زمانی محدود می کند که اتصالات جدید به پورت های خاص امکان پذیر شود.

22;tcp;5;250

اگر بیش از 5 اتصال در پورت 22 با استفاده از پروتکل TCP در 250 ثانیه برقرار شود ، آدرس IP را مسدود می کند.

 
گام چهارم - ثبت تغییرات
هر زمان که تنظیمات را در csf.conf تغییر می دهید ، باید فایل ها را ذخیره کرده و CSF را مجدداً راه اندازی کنید تا تغییرات اعمال شوند.

برای ذخیره تنظیمات، فایل را با فشردن Ctrl + X ببندید. وقتی از شما خواسته می شود تغییرات را ذخیره کنید یا نه ، Y را فشار دهید تا تغییرات ذخیره شود.

سپس با اجرای دستور زیر csf را مجدداً راه اندازی کنید.

csf -r

مسدود کردن و مجاز کردن آدرسهای IP
در صورتی که مایل هستید IP های کاربران را در فایروال csf مسدود و یا باز کنید مراحل زیر را طی کنید.

1- ابتدا از طریق ssh وارد روت سرورتان شوید.

2- با اجرای دستور زیر بلاک بودن و یا نبودن آی پی را بررسی نمایید ، در صورتی که بلاک باشد می توانید دلیل آن را مشاهده نمایید.

csf -g userip

3- برای بلاک کردن آی پی خاص باید دستور زیر را اجرا نمایید.

csf -d userip

4- برای رفع بلاک آی پی خاص دستور زیر را اجرا نمایید.

csf -dr userip

5- و در آخر برای اعمال تغییرات یکبار فایروال csf را ریستارت می کنیم.

csf -r

نحوه حذف فایروال csf از سرور
برای حذف این نرم افزار از روی سرور، ابتدا با دستور زیر وارد دایرکتوری مربوط به این سرویس شوید:

cd /etc/csf

سپس کد زیر را اجرا نمایید.

sh uninstall.sh

5/5 از 4 رای