ConfigServer Firewall & Security یا CSF یک نرم افزار مبتنی بر IPtable هست که فایروال را اجرا می کند .
با یک رابط ، شما به راحتی می توانید اتصالات ناخواسته را مسدود کنید.
ابتدا به سراغ آشنایی با CSF می رویم .
CSF چیست ؟
ConfigServer Firewall & Security یک نرم افزار امنیتی و فایروالی ست که بر روی سیستم عامل لینوکس نصب می شود .
پلاگین های CSF هم بر روی سی پنل و هم برو روی دایرکت ادمین کار خواهند کرد .
CSF برخی آی پی ها را مسدود می کند به عنوان مثال آی پی هایی که دفعات زیادی برای اتصال به سرور تلاش می کنند ، آی پی هایی که تعداد بیش از حد مجاز رمیز عبور نادرست وارد می کنند .
این نرم افزار کمک می کند تا سرور به طور موثری در امنیت قرار داشته باشد .
نحوه ی نصب CSF بر روی centos
شما باید به SSH دسترسی داشته باشید .
نصب CSF بسار ساده است .
برای نصب به ترتیب دستورات زیر را انجام دهید :
1.
cd /usr/src
2.
rm -fv csf.tgz
3.
wget https://download.configserver.com/csf.tgz
4.
tar -xzf csf.tgz
5.
cd csf
6. انجام نصب
sh install.sh
7. با دستور زیر اینکه CSF به درستی نصب شده و روی سرور قابل استفاده است را تست کنید .
perl /usr/local/csf/bin/csftest.pl
بعد از نصب CSF در حالت testing mode قرار دارد . شما باید testing mode را خاموش کنید تا CSF شروع به کار بکند .
شما نباید هیچ اسکریپت پیکربندی فایروال iptables دیگری را اجرا کنید.
به عنوان مثال اگر قبلا از APF+BFD استفاده می کردید ، حال این ترکیب را حذف کنید .
(شما باید این کار را انجام دهید ، در صورتی که قبلا از آنها استفاه می کردید باید آنها را حذف کنید در غیر اینصورت در گیر خواهند شد .)
sh /usr/local/csf/bin/remove_apf_bfd.sh
سپس با خواندن مستندات می توانید csf و lfd را پیکر بندی کنید .
فایل های /etc/csf/csf.conf و /etc/csf/readme.txt را پیکر بندی کنید یا اینکه با استفاده از رابط کاربری این کار را انجام دهید .
نصب csf برای cPanel و DirectAdmin از قبل تنظیم شده است تا بر روی آنها کار کند ، سرورها با تمام پورت های استاندارد باز هستند.
CSF برای ssh شما در شرایطی که با یک پورت غیر استاندارد باز می شود ، یک پورت استاندارد نصب می کند .
CSF به صورت خودکار آدرس های IP متصل شده خود را در صورت امکان نصب می کند.
آموزش کانفیگ CSF
در قدم اول باید وارد قسمت Firewall Configuration شوید .
این آموزش مختص دایرکت ادمین است . در سی پنل فایروالی که پیدا کنید که بصورت آفلاین نصب شود .
Testing Mode را خاموش کنید
در صورتی که این کار را انجام ندهید ، CSF فعال نخواهد شد .
و سپس ما باید دسترسی syslog / rsyslog را محدود کنیم.
توجه کنید که در تمامی مراحل بعد از انجام تغییرات باید گرینه ی change در پایین صفحه و سپس “Restart csf+lfd” را بزنید تا تغییرات ذخیره شوند .
…………………….
از این مرحله به بعد تمام گزینه های CSF را توضیح خواهم داد .
Server Information
در این قسمت اطلاعاتی در مورد وضعیت سرور ، امنیت سرور ، لاگ های سرور و … را می توانید مشاهده کنید
Check Server Security
در این قسمت یک بررسی کلی بر روی تنظیمات و امنیت سرور شما انجام می دهد .
در پایین ترین قسمت این صفحه می توانید آدرس ایمیلتان را وارد کنید تا یک گزارش دوره ای از وضعیت سرور برایتان بفرستد .
Firewall Information
اطلاعات کلی فایروال را برایتان می آورد .
فایل csf + lfd readme.txt را ببینید.
watch system logs
در این قسمت تمام لاگ های سرور را می توانید ببینید .
search system logs
با استفاده از آن می توانید فایل ها ی لاگ سیستم های مختلف را سرچ کنید . (لیست شده در csf.syslogs)
view listing ports
در این قسمت می توانید لیست پورت های در حال کار سرور را که مشغول گوش دادن به اتصالات خارجی هستند را ببینید.
Check for ips in RBLs
بررسی می کند که آیا هر کدام از آدرس های آی پی سرور ها در RBL لیست شده اند یا خیر .
updates all checks (standard)
این قسمت گزارشی که فقط استثنائات را نشان می دهد را تولید می کند .
updates all checks(vebose)
گزارشی عادی تولید می کند که موفقیت ها و شکست ها را هم نشان می دهد .
Edit RBL option
در این قسمت می توانید فایل csf.rblconf را برای فعال و غیرفعال کردن IP ها و RBL ها ویرایش کنید .
در پایین ترین قسمت نیز می توانید ایمیلی را وارد کنید تا گزارش های دوره ای را برایتان ایمیل کند .
view iptables log
در این قسمت صد لاگ آخر iptable را مشاهده کنید .
view ifd statistic
در این قسمت می توانید آمار ifd را در قالب انواع نمودار های آماری مشاهده کنید .
csf-quick actions
در این قسمت می توانید اقدامات امنیتی و فایروال را سریعا انجام دهید .
در اولین قسمت Quick allow می توانید آی پی ای که می خواهید به آن اجازه ی عبور از فایر وال را بدهید را وارد کنید و سپس quick allow را وارد کنید .
در فیلد پایین هم میتوانید کامنتی در مورد این مجوز وارد کنید .
در قسمت Quick Deny می توانید آدرس آی پی ای که قصد مسدود سازی آن را دارید را وارد کرده و سپس quick deny را وارد کنید .
در قسمت quick ignore نام آی پی ای که قصد چشم پوشی از آن را دارید وارد کنید و سپس quick ignore را بزنید .
در قسمت quick unblock می توانید آی پی ای را از حالت بلاک خارج کنید .
csf – ConfigServer Firewall
در این قسمت تنظیمات مربوط به کانفیگ فایروال انجام می شود .
firewall configuration
در این قسمت تنظیمات اولیه ی فایروال انجام می شود .
Testing
قسمت testing که در ابتدا توضیح داده شد ، در صورتی به حالت OFF تبدیل نشود CSF فعال نخواهد شد .
TESTING_INTERVAL
این فاصله ی زمانی به این معنی است که در فواصل زمانی 0 تا 5 دقیقه فایروال پاک سازی را انجام می دهد .
این زمان به صورت دیفالت روی 5 تنظیم شده است .
RESTRICT_SYSLOG
این قسمت مربوط به محدودیت در گزارش های سیستمی بوده و میتواند عددی بین 0 تا 3 باشد .
نکته : به متن هشدار موجود در محیط فایروال توجه کنید و طبق آن یکی از موارد زیررا انتخاب کنید.
0 = دسترسی به مواردی که در بالا ذکر شده است.
1 = غیر فعالسازی موارد ذکر شده در بخش SECURITY WARNING
2 = غیر فعال کردن هشدار
3 = تعیین دسترسی خاص به گزارش های سیستمی
همانطور که در ابتدای بحث گفته شد پیشنهاد می شود این عدد را روی 2 تنظیم کنید .
RESTRICT_SYSLOG_GROUP
با توجه به متن هشدار مورد قبلی ، در صورتی که از شماره ی 3 برای تنظیمات استفاده کردید لازم است یک نام بکتا برای سرور در نظر بگیرید .
در صورتی که بخواهید RESTRICT_SYSLOG را به موارد دیگری تغییر دهید و این ویژگی را غیر فعال کنید پس آن گزینه را تغییر دهید و lfd را ری استارت کنید .
RESTRICT_UI
این گزینه محدودیتی روی توانایی تغییر این فایل را با استفاده از رابط کاربری csf اعمال می کند .
برخی گزینه ها ممکن است استفاده شوند که موجب به خطر انداختن سرور میشوند.
به همین دلیل پیشنهاد ما انتخاب گزینه ی 1 برای این قسمت است .
0 = UI نامحدود
1 = UI محدود شده
2 = UI غیر فعال
AUTO_UPDATES
فعال سازی auto updates یک کرون جاب به نام /etc/cron.d/csf_update را ایجاد می کند که یک بار در هز روز فعال می شود تا چک کند آیا به روز رسانی ای در csf+lfd شکل گرفته یا خیر و در صورت مثبت بودن ارتقا را انجام می دهد و csf+lfd را مجدد راه اندازی می کند .
شما باید اطلاعیه ی انتشار نسخه ی جدید را در http://blog.configserver.com چک کنید.
این قسمت می تواند روشن یا خاموش باشد .
IPv4 Port Settings
در این قسمت لیستی از پورت ها که با استفاه از کاما از هم جدا شده اند را می توانید اضافه کنید .
LF_SPI
برخی از تنظیمات kernel / iptables کانکشن ترکینگ را به درستی انجام نمی دهد ، بنابراین یک فایروال SPI به درستی کار نمی کند .
در صورتی که چنین اتفاقی رخ دهد LF_SPI را میتوان 0 تنظیم کرد .
با انجام این کار csf به عنوان یک فایروال ایستا تنظیم خواهد شد .
کانکشن ترکینگ کانفیگ نخواهد شد .
یزنامه هایی که تحت آن قرار دارند کار نخواهند کرد ، مگر اینکه تمام پورت های خروجی باز شود .
بنابراین تمام اتصالات خروجی مجاز خواهند بود تا آزمایش انجام شود .
بنابراین
TCP_OUT، UDP_OUT و ICMP_OUT تاثیری نخواهند داشت.
اگر شما اجازه می دهید که جستجوهای ورودی DNS مجاز باشند، ممکن است لازم باشد از موارد زیر در بخش {} قسمت نام کاربری تان استفاده کنید :
query-source port 53;
این کار باعث می شود ترافیک ورودی DNS تنها از طریق پورت 53 اعمال شود.
غیرفعال کردن این گزینه عملکرد فایروال را در بازرسی بسته های حمایتی (به عنوان مثال DNAT، PACKET_FILTER) متوقف خواهد کرد و فایروالی با امنیت کمتر ایجاد خواهد کرد .
این گزینه باید در شرایط دیگر باید “1” تنظیم شود.
TCP_IN
پورت های TCP ورودی ای که میخواهید به آنها مجوز دهید را وارد کنید .
TCP_OUT
پورت های TCP خروجی ای که میخواهید به آنها مجوز دهید را وارد کنید .
UDP_IN
پورت های UDP ورودی ای که می خواهید به آنها مجوز دهید را وارد کنید .
UDP_OUT
پورت های UDP خروجی ای که می خواهید به آنها مجوز دهید را وارد کنید .
ICMP_IN
PING ورودی مجوز داشته باشد .
غیرفعال کردن PING به احتمال زیاد باعث خراب شدن آپتایم های خارجی مانیتورینگ خواهد شد.
ICMP_IN_RATE
در این قسمت برای هر یک از آدرس های IP، نرخ بسته های ICMP ورودی برای درخواست های PING را می توانید تنظیم کنید .
برای غیر فعال کردن این محدودیت مقدار 0 را وارد کنید .
ICMP_OUT
به PING خروجی مجوز می دهیم .
این گزینه به جز در شرایط خاص هرگز نباید غیر فعال شود .
این کار ممکن است موجب اختلال در عملکرد سیستم عامل شود .
IPv6 Port Settings
در این قسمت تنظیمات مربوط به پورت های آی پی های ورژن 6 را انجام خواهیم داد .
IPV6
برای ipv6 نیازمند ip6tables هستیم .
قبل از ورژن 2.6.20 هسته ها کانکشن ترکینگ انجام نمیدادند ، بنابراین زمانی که IPV6_SPI ها 0 تنظیم شده باشند یک فایروال استاتیک به عنوان یک جایگزین پیکر بندی می شود.
موارد زیر پشتیبانی شده اند :
Temporary ACCEPT/DENY, GLOBAL_DENY, GLOBAL_ALLOW, SMTP_BLOCK, LF_PERMBLOCK,
PACKET_FILTER, Advanced Allow/Deny Filters, RELAY_*, CLUSTER_*, CC6_LOOKUPS,
SYNFLOOD, LF_NETBLOCK
در صورتی که CC6_LOOKUPS و CC_LOOKUPS فعال شوند موارد زیر پشتیبانی می شوند :
CC_DENY, CC_ALLOW, CC_ALLOW_FILTER, CC_IGNORE, CC_ALLOW_PORTS, CC_DENY_PORTS,
CC_ALLOW_SMTPAUTH
اگر ip6tables >= 1.4.3 موارد زیر پشتیبانی می شوند :
PORTFLOOD, CONNLIMIT
اگر ip6tables >= 1.4.17 و perl module IO::Socket::INET6 نصب شده باشد موراد زیر پشتیبانی می شود :
MESSENGER DOCKER SMTP_REDIRECT
و در نهایت ICMP_IN, ICMP_OUT پشتیبانی نمی شوند .
IPV6_ICMP_STRICT
IPv6 از بسته های icmpv6 بسیار استفاده می کند.
به طور پیش فرض، csf به تمام icmpv6 اجازه می دهد در مسیر ورودی و خروجی ترافیک ایجاد کند .
ادامه دارد …