آموزش نصب و کانفیگ و استفاده از ConfigServer Firewall & Security در سرور های لینوکس

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 اجازه می دهد در مسیر ورودی و خروجی ترافیک ایجاد کند .

ادامه دارد …