
فایروال سی اس اف یکی از قدرتمند ترین فایروال های مدیریت iptables محسوب میشود.یکی از خصوصیات بسیار جالب این فایروال قدرتمند مجانی بودن و اوپن سورس بودن آن است.
در این آموزش قصد داریم نحوه نصب فایروال CSF بر روی انواع سرور های لینوکسی و همچنین کانفیگ آن را به شما آموزش دهیم
این کانفیگ برای سرور مجازی و سرور اختصاصی معتبر می باشد.
نحوه نصب
ابتدا از طریق putty وارد سرور لینوکسی خود شوید ، سپس دستورات زیر را یکی یکی کپی کرده و منتظر بمانید تا پروسه آن به پایان رسد
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
نحوه کانفیگ
اولین گزینه که در csf.conf هست مربوط میشه به حالت فعال بودن آزمایشی یا آماده به کار
TESTING
در این جا ما دو تا حالت داریم یکی صفر و یکی “یک” که اگه یک قرار بدیم مثل این میمونه که ما اصلا CSF رو نصب نکردیم و اگر ۰ قرار بدیم CSF فعال میشه پس ما صفر رو انتخاب میکنیم و میریم سراغ کانفیگ بعدی.
این مرحله مربوط میشه به مدت زمان بین چک کردن رول های خود CSF که بر حسب دقیقه هست در واقع یه Cron هست و CSF رو استارت میکنه
TESTING_INTERVAL
و میتونه بین ۱ تا ۵ دقیقه باشه توصیه میشه روی ۱ قرار بدید چون هرچه مدت زمان بین چک کردن رول ها کمتر باشه بهتر است
AUTO_UPDATES
این گزینه همون طور که از اسمش پیدا هست وظیفش اینه که به طورت اتوماتیک خودش رو آپدیت نگه داره که اگه “یک” قرار بدید غیر فعال میشه و خودش رو آپدیت نمیکنه ولی اگه “صفر” قرار بدید CSF به صورت اتوماتیک خودش رو آپدیت میکنه پس بهترین گزینه برای این کانفیگ ست کردن صفر هست چون ممکنه باگی توی CSF پیدا بشه و شما متوجه نشید برا همین ۰ انتخاب میکنیم
ETH_DEVICE
CSF به صورت اتوماتیک بر روی تمام کارت شبکه های سرور شما رول ها رو اعمال میکنه پس اگه خالی گذاشتید تمام کارت های شبکه شما پشت فایروال قرار میگیره ولی بعضی وقت ها ممکنه تعداد کارت های شبکه سرور شما چند تا باشه که شما میخواید فقط تعدادی از اون ها پشت CSF باشه برا همین توی این کانفیگ اون ها رو مشخص میکنیم و با علامت “,” از هم دیگه جداشون میکنیم .
ETH_DEVICE_SKIP
این کانفیگ همون طور که از اسمش پیدا هست میتونید اون کارت شبکه هایی که نمیخواید پشت فایروال قرار بگیره رو قرار بدید در واقع آزاد باشه
خوب حالا میخوایم بریم سراغ یه سری تنظیمات که خیلی مهم هست در واقع مدیریت پورت های سرور هست پس مواظب باشید دارید چه پورتی رو باز میزارید و چه پورتی رو میبندید
TCP_IN
همون طور که از اسمش پیدا هست پورت هایی رو میتونید اینجا باز کنید که از بیرون از سرور به سرور دسترسی داشته باشند در واقع پورت هایی که اجازه ورود به سرور رو دارند شما اگه نمیدونید چه پورتی برای چه کاری هست بهتر هست به تاپیک معرفی پورت ها یه سری بزنید و و ببینید چه پورتی برای چه کاری هست اینجا دیگه بستگی به شما داره که چه سرویس هایی روی سرور خودتون دارید و از چه پورت هایی دارید استفاده میکنید
کانفیگ بعدی مربوز میشه به :
TCP_OUT
این کانفیگ هم مربوط میشه به پورت هایی که از سرور به بیرون باز باشد در واقع پورت هایی که از توی سرور به بیرون از سرور باز باشه خوب حالا این ها مربوط میشه به TCP پورت که با UDP تفاوت داره اشتباهی نگیرید
حالا میریم سراغ پورت های UDP
که UDP_IN پورت های UDP از بیرون به داخل رو باز میکنه
UDP_IN
در مورد UDP_OUT پورت های UDP از داخل سرور به بیرون میخواید باز باشه
UDP_OUT
وقتی پورت ها کانفیگ کردیم میریم سراغ پروتکول ICMP که این هم بستگی به افراد داره بعضی وقت ها افراد دوست دارند باز باشه این رو فعال می کنند بعضی ها هم نه و میبندند ولی در صورت باز بودن میتونند یه سری حملات روی سرور داشته باشند راستش اگه در سطح سرور بسته هم بشه و حمله فوی باشه فایده ایی نداره ولی اگه بسته باشه بهتر هست
پس در کانفیگ زیر که ICMP رو از بیرون به داخل کانفیک میکنه :
ICMP_IN
اگر عدد “یک” رو بزاریم ICMP باز است و میتونند پینگ کنند و شما Rate آین هم معلوم میکنید ولی اگه ۰ باشه که کلا بسته میشه برای تنظیم Rate اون هم کانفیگ زیر رو ادیت میکنیم عموما ۱ در ثانیه ست میکنند
ICMP_IN_RATE”
شاید شما دوست داشتید ۲ یا … بیشتر بزارید
حالا میریم سراغ باز یا بستم ICMP از داخل سرور به بیرون که باز بزارید کاریش نداشته باشید چون سرویس های شما قطعا نیاز داره
ICMP_OUT
ICMP_OUT_RATE
اگر دقت کرده باشید من ICMP_OUT_RATE رو عدد ۰ گذاشتم به معنی بی نهایت هست یا نا محدود
SMTP_BLOCK
همون طور که از اسمش پیدا هست در مورد SMTP هست , که این کانفیگ ایمیل هایی که غیر از یوزر روت با SMTP میخواد فرستاده بشه ، بلاک میکنه . در سرور های هاستینگ اصلا توصیه نمیشه چون SMTP تمام یوزر ها رو میبنده اگه سروری دارید که هاستینگ هست گزینه ۱ رو انتخاب کنید . اگه سروری دارید که اصلا سیستم میل استفاده نمیشه ۰ رو انتخاب کنید
SMTP_ALLOWLOCAL
اگر SMTP_BLOCK فعال کرده باشید این گزینه اجازه میده تنها از روی خود سرور توسط SMTP ایمیل فرستاده بشه یعنی اگه با Localhost فرستاده شد اجازه خروج از سرور رو بده غیر از این مثلا اگه از بیرون وصل شدند و خواستند SMTP ایمیل یزندد بلاک کنه اگر شما گزینه صفر رو انتخاب کنید تنها از روی خود سرور اجازه فرستادن ایمیل با SMTP داده میشه و اگر ۱ اصلا غیر فعال میشه
SMTP_PORTS
این گزینه مربوط به پورتی هست که شما تنظیم کردید SMTP باهاش کار کنه که بیشتر موارد ۲۵ هست
DROP”
همون طور که میدونید IPTABLES دو مدل برای دفع پاکت ها داره یکی Drop که پاکت ها از اسمش معلومه ریزش پیدا میکنه و یه مدل دیگه Reject که یه پاکت میفرسه که این پاکت ریجکت شده که توصیه نمیشه چون مشکل ساز هست پس بهترین مدل همون Drop هست
DROP_LOGGING
این کانفیگ اگه گزینه ۰ رو انتخاب کنید لاگ میکنه پاکت هایی که Drop یا Reject شده و اگه ۱ رو اتخاب کنید لاگ نمیگیره از پاکت هایی که ه Drop یا Reject شده پیشنهاد میشه گزینه ۰ رو انتخاب کنید که در صورتی که مشکلی پیش اومد بدونید و دلیلش رو متوجه بشید و حلش کنید
DROP_IP_LOGGING
این گزینه ایپی هایی که پاکت هاشون Drop یا Reject میشه رو بلاک میشکه , میشه گفت یکم خطریه پس بهتره عدد ۱ رو انتخاب کنید و رد بشید چون ایپی های معمولی و ساده بعضی وقت ها پاکت هاشون Drop میشه و این ریسک هست . پس نتیجه میگیریم بهتره گزینه ۱ است
DROP_ONLYRES
این گزینه لاگ میکنه پورت های خاصی رو که مد نظر دارید که با “,” پورت ها رو از هم جدا کنید اگه ۰ صفر رو انتخاب کنید تمام پورت ها رو لاگ میکنه
DROP_NOLOG
این گزینه هم پورت هایی که نمی خواید لاگ کنه رو مینویسید که توصیه میشه خالی بزارید تا همه پورت ها لاگ بشه
PACKET_——————
این گزینه هم لاگ میکنه پاکت هایی که خود IPTABLES تشخیص میده که نامشخص هست یعنی پاکت هایی که INVALID هستند ….
DROP_PF_LOGGING
این گزینه هم لاگ کردن SYN Flood Protection رو فعال میکنه
SYNFLOOD
SYNFLOOD_RATESYNFLOOD_BURST
Synflood اولی ، این تنظیم خود این Synflood Protection رو فعال میکنه و SYNFLOOD_RATE هم Rate رو مشخص میکنه و SYNFLOOD_BURST و این هم Burst که این تنظیمات بستگی به سرور شما و سطح حمله ایی که داره به سرور شما میشه به صورت دیفالت میتونید این ها رو قرار بدید اگر حمله شدیتر از این حرف ها بود Rate رو کمتر کنید تا به جایی برسه که دفع کنه حمله رو
PORTFLOOD
این گزینه هم کانکشن ها رو هر پورت مدیریت میکنه برای مثال اگه شما این تنظیم رو بکنید برای مثال کانفیگ زیر رو ببینید به این معنیست که روی پورت ۸۰ از نوع TCP هر ایپی میتونه در مدت ۵ ثانیه ۲۰ تا کانکشن بندازه
PORTFLOOD
VERBOSE
VERBOSE این کار هایی که Iptables میکنه رو روی صحفه نمایش شما نشون میده که بهتره ۱ رو انتخاب کنید چون بعضی وقت ها دارید کانفیگ میکنید یه هو میبینید ۲۰ خط اومد تو صفحه مانیتورتون !
SYSLOG
این هم برای فعال کردن SYSLOG که همیشه فعال نگهش دارید چون واقعا به کارتون میاد و لاگ های سیستم رو میندازه که مهم هست پس عدد ۰ رو انتخاب میکنیم.
نکته مهم
حتما پس از انجام تغییرات بر روی ذخیره کلیک کرده و فایروال را ریست کنید
service csf restart