آشنایی با csf
CSF مخفف ConfigServer Security & Firewall نوعی دیواره آتش ( فایروال ) می باشد که بر روی سرورهای لینوکس و اکثر کنترل پنل ها از قبیل CPanel و DirectAdmin نصب می شود و نوعی سیستم برای مقابله با حمله هکرها به سیستم عامل سرور و همچنین محدودیت های خوبی می تواند بر روی سرورهای خدمات میزبانی وب اعمال نماید. یکی از وظیفه های این فایروال جلوگیری از نفوذ به سرور و همچنین امنیت نرم افزارهای سرورهای لینوکس می باشد.
Csf وظیفه حفاظت از سرور را دارد و همانطور که از اسم آن مشخص می باشد، یک دیوار آتشین است که از انواع حملات که مهمترین آن ها syn flood ،، DDos و Brute force است جلوگیری می کند.
از ویژگیهایی که دلیل بر محبوب شدن این فایروال شده است، مدیریت بیشتر محتوای سرور مثل مدیریت پورتها، مدیریت کانکشنها، مدیریت پروسسها و همچنین open sorce و رایگان بودن آن است.
برخی از قابلیت های CSF
اسکریپت فایروال و SPI مستقیم و اعمال در iptables
امکان محدود کردن تعداد اتصال به پورت مشخص
امکان محدود کردن تعداد ورود هر IP در لحظه و یا روز
امکان تست سرور از نظر امنیت و راهنمایی لازم در پیکربندی
امکان محدود کردن دسترسی IP بر اساس تنظیمات به صورت خودکار
امکان نصب بر روی اکثر پنل های معتبر از قبیل cPanel – DirectAdmin
دارای رابط گرافیکی زیبا و کاربر پسند
امکان مانیتور کردن سرورهای لینوکس توسط CSF
ارسال ایمیل در زمان تست نفوذ
بستن IP نفوذگر در زمان نت اسکن و DDOS
اعلان ورود به محیط SSH
اعلان ورود به سیستم SU
مسدود کردن بی حد اتصال
ارتقاء آسان نسخه CSF در پنل
گزارش روند مشکوک – گزارش سوء استفاده بالقوه بر روی سرور
گزارش فرآیندهای کاربر بیش از حد
گزارش فایل های مشکوک – گزارش بالقوه بهره برداری از فایل ها
گزارش ورود به سیستم از mod_security

نصب فایروال csf در ssh در لینوکس برای کنترل پنل سی پنل و دایرکت ادمین
ابتدا جهت نصب نیاز است با استفاده از دستور زیر پکیج های مورد نیاز را در محیط ssh نصب نمایید.
yum install perl-libwww-perl
توجه : در سرور های ایران به دلیل تحریم ها احتمالا با زدن دستور بالا با ارور های mysql رو به رو شوید! در صورتی که با این ارور رو به رو شدید و از قبل سرور را کانفیگ کرده اید و mysql نصب می باشد دیگر مراحل را ادامه دهید.
سپس جهت نصب csf دستورات زیر را به ترتیب اجرا کنید :
cd /usr/src
rm -fv csf.tgz
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
سپس برای تست ماژول های iptables مورد نیاز csf دستور زیر را وارد کنید :
perl /usr/local/csf/bin/csftest.pl
پس از نصب در صورتی که وارد پنل مدیریت CSF در WHM شوید با دو ارور در بالای صفحه رو به رو می شوید اولی ارور غیرفعال بودن فایروال و حالت تست است و دومی ارور RESTRICT_SYSLOG
جهت رفع ارور RESTRICT_SYSLOG ابتدا به بخش firewall configuration در CSF بروید و سپس عبارت RESTRICT_SYSLOG را جستوجو کنید و مقدار برابر آن را از ۰ به ۳ تغییر دهید و در پایین صفحه بر روی change کلیک کرده و سپس CSF را ریستارت کنید
برای رفع ارور تست و فعال سازی فایروال نیز می توانید از همین بخش اقدام کنید و مقدار روبه رو TESTING را OFF کنید یا فایل کانفیگ csf را با استفاده از دستور زیر در مسیر /etc/csf/csf.conf ادیت کرده و “TESTING = “۱ را به “TESTING = “۰ تغییر دهید.
nano /etc/csf/csf.conf
برای فعال سازی فایروال در محیط ssh میتوانید از دستور زیر استفاده کنید.
service csf start
وبرای غیر فعال کردن آن میتوانید از دستور زیر استفاده نمایید.
service csf stop
در کنترل پنل های سی پنل و دایرکت ادمین پس از نصب فایروال csf به طور خودکار تمام پورت های پیش فرض استاندارد در فایروال باز خواهد شد.
csf در هنگام نصب به طور خودکار پورت ssh سرور را در لیست پورت های باز قرار خواهد داد.

حذف csf
برای حذف csf از دستورات زیر استفاده کنید :
cd /etc/csf sh uninstall.sh
فایل های کانفیگ csf
جهت کانفیگ و پیکربندی این فایروال میتوانید فایل های مربوطه را تغییر دهید البته با ورود به پنل whm از بخش ConfigServer Security & Firewall و سپس بخش firewall configuration نیز به قسمت های زیر دسترسی دارید و می توانید در محیط گرافیکی CSF تغییرات زیر را اعمال کنید .
در توزیع ها لینوکس عموما این فایل ها در آدرس /etc/csf/ قرار دارد ، در مورد برخی از این فایل ها توضیحاتی میدیهیم که به شرح زیر است :
csf.conf
در صورتی که بخواهید هر تغییری را در پیکربندی فایروال انجام دهید، فایل اصلی پیکربندی فایروال فایل csf.conf میباشد،
شما می توانید از طریق رابط گرافیکی خود csf از داخل سی پنل و دایرکت ادمین به این فایل دسترسی پیدا کنید و آن را ویرایش نمائید و یا از دستور nano برای ویرایش آن استفاده کنید.
csf.allow
آی پی های مجاز و white در فایل csf.allow ذخیره می شوند.
csf.deny
آی پی های بلاک شده در فایل csf.deny ذخیره می شوند.
csf.ignore
لیستی از IP هایی که میبایست فایروال آن ها را نادیده بگیرد و در هیچ شرایطی مسدود نکند
csf.*ignore
لیستی از IP ها ، File ها ، User هایی که میبایست نادیده گرفته شود و مسدود نشوند، در این فایل قرار می گیرند.
نکته : در صورت تغییر در هر کدام از فایل های اعلام شده میبایست فایروال ریستارت شود که جهت انجام این کار میتوانید از دستور زیر استفاده نمایید
Csf -r
لیست سیستم عامل های پشتیبانی و تست شده در csf
لیست سیستم عامل های پشتیبانی و تست شده csf | لیست سیستم عامل های پشتیبانی و تست شده csf |
RedHat Enterprise از ورژن ۳ تا ۷ | Fedora از ورژن ۱ تا ۲۲ |
CentOS از ورژن ۳ تا ۷ | openSUSE ورژن ۱۰ و ۱۱ و ۱۲ |
CloudLinux از ورژن ۳ تا ۷ | Debian از ورژن ۳٫۱ تا ۸ |
Ubuntu ورژن ۶ تا ۱۵ | Slackware ورژن ۱۲ |
لیست مجازی ساز های پشتیبانی شده csf :
لیست مجازی ساز های پشتیبانی شده | لیست مجازی ساز های پشتیبانی شده |
Virtuozzo | **Openvz |
VMware | UML |
Xen | UML |
VirtualBox | KV |
برخی از پرکاربردترین دستورات csf
غیرفعال کردن CSF
csf –x
فعال کردن CSF
csf –e
ریستارت کردن CSF
csf –r
ریستارت سریع CSF
csf –q
unblock کردن تمام IPهای بلاک شده
csf –f
unblock کردن تمام IPهایی که موقت بلاک شده (temporary )
csf –tf
چک کردن نسخه CSf
csf –v
بررسی بروز بودن csf
csf –c
چک و آپدیت کردن CSF
csf –u
آپدیت اجباری CSF
csf –uf
حذف و unblock تمام IPهایی که در /etc/csf/csf.deny وجود دارند
csf –df
مشاهده کلیه تنظیمات اعمال شده IPv4 سرویس iptables
csf –l
مشاهده کلیه تنظیمات اعمال شده IPv6 سرویس iptables
csf -l6
در ادامه دستورات ip 192.168.1.2 بعنوان نمونه ذکر شده است و نیاز است ip مورد نظرتان را جایگزین نمائید.
حذف کردن IP از لیست temporary یا allow list
csf -tr 192.168.1.2
اضافه کردن IP در whitelist (اضافه کردن IP در فایل allow در مسیر /etc/csf/csf.allow)
csf -a 192.168.1.2
حذف کردن IP از allow list (حذف IP از فایل allow در مسیر /etc/csf/csf.allow)
csf -ar 192.168.1.2
Unblock کردن IP بدون اضافه شدن در whitelist (حذف IP از deny list در مسیر /etc/csf/csf.allow)
csf -dr 192.168.1.5
بلاک کردن IP (اضافه کردن IP در فایل deny در مسیر /etc/csf/csf.deny )
csf -d 192.168.1.2
چک کردن IP و مشخص شدن بلاک بودن یا نبودن ، درصورتیکه بلاک شده باشد دلیل آن نیز مشخص میشود
csf -g 192.168.1.2