اطلاعیه

بستن
No announcement yet.

آموزش تنظیمات و کانفیگ فایروال csf

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش تنظیمات و کانفیگ فایروال csf

    فایروال متن باز و رایگان Config Server Firewall با نام اختصاری CSF قوی ترین فایروال رایگان و Open Source لینوکس است . فایروال CSF روی کلیه توزیع های لینوکس نصب شده و بهترین فایروال برای استفاده در سرور مجازی محسوب میشود .

    کانفیگ فایروال CSF در سرور های لینوکس مبتنی بر کنترل پنل های وب هاستینگ cPanel ، Directadmin و همچنین Webmin به دلیل وجود یک UI یا یک پنل گرافیگی و وب بیس به خصوص برای افرادی که دانش کار در محیط Command Line را ندارند ساده تر است .

    با کانفیگ صحیح فایروال CSF قادر به تشخیص و کنترل بسیاری از حملات و Attack ها مانند اسکن کردن پورت ، حملات SYN flood ، حملات لاگین بیس brute force attacks و … خواهید بود.


    همچنین توصیه میشود مطالعه کنید.

    آموزش iptables لینوکس (دستورات و تنظیمات فایروال لینوکس)



    آموزش تنظیمات و کانفیگ فایروال csf
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	csf-configuration.png نمایش ها:	1 اندازه:	9.0 KB شناسه:	18583

    برای مشاهده مجازی ساز ها و سیستم عامل های تست شده و سازگار با فایروال CSF به لینک زیر مراجعه کنید :

    http://www.configserver.com/cp/csf.html

    این مقاله به کانفیگ فایروال CSF روی سرور های مجازی لینوکس بر پایه Debian مانند Debian Linux و Ubuntu Linux می پردازد . در صورت آشنا بودن با مباحث پایه ای لینوکس میتوانید از همین آموزش برای کانفیگ و تنظیمات CSF در توزیع های RHEL مانند CentOS ، Fedora و RedHat نیز استفاده کنید .

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	csf_large.png نمایش ها:	1 اندازه:	25.3 KB شناسه:	18582

    دستورات اجرا و نصب فایروال CSF باید با دسترسی های root super user در سیستم عامل لینوکس سرور اجرا شوند :

    کد PHP:
    su root 
    آموزش تنظیمات و کانفیگ فایروال CSF :
    فایروال CSF امکانات زیادی برای محافظت سرور مجازی و سرور اختصاصی لینوکس شما در برابر انواع حملات سایبری ارائه میکند که به معرفی آن ها میپردازیم :

    جلوگیری از تلاش های لاگین بدون مجوز یا Login authentication failure daemon :
    فایروال CSF به صورت مداوم و در بازه های زمانی مشخص شده لاگ های سرور را برای بررسی تلاش های ناموفق لاگین به سرور بررسی میکند . CSF بر اساس خواسته شما به این دسته از حملات پاسخ میدهد . برای مثال میتوانید با کانفیگ صحیح به CSF اعلام کنید در صورت مشاهده بیش از ۵ تلاش ناموفق برای لاگین به یکی از سرویس های لینوکس ، آی پی Attacker را برای مدت محدودی (با به صورت دائمی) بلاک کند . نرم افزار ها و سرویس های زیر در حال حاضر توسط CSF محافظت میشوند :

    سرویس های Courier imap, Dovecot, uw-imap, Kerio
    سرویس openSSH
    کنترل پنل WHM/cPanel و صفحه Webmail
    سرویس های Pure-ftpd, vsftpd, Proftpd
    دایرکتوری های رمز دار (htpasswd)
    مغایرت های Mod_security
    مغایرت های Suhosin
    سرویس Exim SMTP AUTH

    امکان سفارسی کردن لاگ ها و محل ذخیره سازی آن ها برای فایروال CSF وجود دارد .

    رد یابی پراسس های لینوکس Process tracking :
    فایروال CSF در صورت کانفیگ ، امکان ردیابی و تعقیب پراسس های مشکوک اجرا شده در background را به سرور مجازی و اختصاصی شده هدیه میکند . با استفاده از این ابزار قادر به شناسایی و جلوگیری از Exploit در VPS یا VDS خود خواهید بود .

    مانیتور کردن دایرکتوری ها Directory watching :
    با کمک این ابزار CSF قادر به مانیتور لحظه ای پوشه /tmp و سایر دایرکتوری های مورد نظر شما برای شناسایی اسکریپت های خطرناک و تروژان ها میباشد . در صورت شناسایی هر گونه اسکریپت ها بدافزار ، CSF مدیر سرور را از طریق ارسال ایمیل اگاه خواهد ساخت .

    محافظ Port flood protection :
    کانفیگ صحیح و تنظیمات حرفه ای در این بخش به شما امکان جلوگیری از حملات port flood attacks و انواع خاصی از حملات Dos و DDos را میدهد . با انجام تنظیمات این بخش شما مشخص میکنید حد اکثر چند کانکشن در یک بازه زمانی مشخص و روی یک پورت خاص مجوز اتصال دارند . مثلا هر IP مجاز به اتصال ۱۰ کانکشن در ۵ ثانیه روی پورت ۸۰ خواهد بود و در صورت تجاوز از این تعداد ، بر اساس تنظیمات انجام شده IP مورد نظر به صورت موقت یا دائم بلاک خواهد شد .

    در زدن به پورت Port knocking :
    با کمک تنظیمات این بخش فایروال CSF مجوز اتصال به پورت های بسته را برای گروهی از کلاینت ها که مرحله در زدن به پورت را با موفقیت پش سر میگذارند فراهم میکند . این ابزار امنیت سرور مجازی و اختصاصی لینوکس را به میزان قابل ملاحظه ای بالا میبرد .

    برای کسب اطلاعات بیشتر در زمینه Port Knocking به آدرس زیر مراجعه کنید :
    کد PHP:
    http://www.portknocking.org 
    محدودیت در تعداد کانکشن ها Connection limit protection :
    این قابلیت به شما امکان تعیین کردن تعداد مجاز کانکشن برای هر IP را میدهد . با کانفیگ اصولی این بخش مثلا هر IP قابلیت اتصال حد اکثر ۲۰۰ یا ۳۰۰ کانکشن همزمان را خواهد داشت . یکی از تنظیمات موثر در کنترل بعضی از انواع حملات Dos و Ddos در سرور های لینوکس همین قسمت است .

    پنل ادمین فایروال بر پایه وب UI integration :
    فایروال CSF از یک پنل وب بیس قوی و کاربر پسند برای کنتل پنل های هاستینگ cPanel ، Webmin و دایرکت ادمین پشتیبانی میکند . با کمک این ابزار قدرتمند تسلط شما بر مدیریت فایروال بیشتر شده و انجام تغییرات در فایروال به مراتب ساده تر میگردد .

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

    نصب فایروال CSF :
    فایروال CSF به صورت پیش فرض در مخازن توزیع های Debian و Ubuntu و CentOS از لینوکس موجود نیست . بنا بر این برای نصب فایروال CSF باید آن را از وب سایت رسمی سی اس اف دانلود کنیم :

    کد PHP:
    wget http://www.configserver.com/free/csf.tgz

    tar -xzf csf.tgz

    cd csf

    sh install
    .sh 
    با اجرای دستورات فوق فایروال CSF روی سرور شما نصب میشود . ولی در اولین قدم ابتدا باید از وجود کلیه ماژول های IPTABLES مورد نیاز CSF روی سرور اطمینان حاصل کنیم . برای بررسی وجود یا عدم وجود ماژول های ضروری IPTABLES روی سرور لینوکس باید اسکریپت پرل CSF مخصوص بررسی ماژول های IPTABLES زیر را اجرا کنیم :

    کد PHP:
    perl /usr/local/csf/bin/csftest.pl 
    در صورت عدم دریافت هر گونه fatal errors توسط اسکریپت پرل فوق ، فایروال CSF بدون مشکل روی سرور شما کار خواهد کرد . در حین فرایند نصب CSF روی سرور ، IP کامپیوتر شما به صورت اتوماتیک WHITELIST میشود . نکته بعدی که در هنگام نصب اولیه فایروال باید به آن توجه کنید قرار گرفتن اتوماتیک فایروال به صورت پیش فرض در وضعیت و حالت تست است . دلیل آن نیز مشخص است . اگر نیاز به باز کردن پورت های خاصی روی سرور دارید ، حتما قبل از خارج کردن فایروال از حالت تست آن ها را باز کنید . اگر از کنترل پنل های هاستینگ استفاده میکنید یا مثلا پورت SSH شما یک پورت غیر استاندارد و به جز پورت ۲۲ هست ، باید این پورت ها را قبل از فعال کردن کامل فایروال و خروج از وضعیت تست باز کنید و در غیر این صورت به محض خارج کردن فایروال CSF از حالت تست امکان قطع شدن دسترسی های شما به سرور وجود خواهد داشت . برای جلوگیری از این مشکل اجازه بدهید سرور با فایروال در وضعیت تست حد اقل ۵ یا ۱۰ دقیقه کار کنید . فایروال csf در وضعیت testing هر ۵ دقیقه کلیه رول های IPTABLES را پاک میکند . بنا بر این اگر هم ایرادی در کانفیگ فایروال باشد که منجر به قطع دسترسی های شما شده باشد ، بعد از ۵ دقیقه خود به خود غیر فعال میگردد .

    کانفیگ مقدماتی و پایه فایروال CSF :
    برای کانفیگ فایروال CSF باید فایل csf.conf را ویرایش کنید . بعد از ذخیره تغییرات در فایل csf.conf با ریست کردن فایروال تغییرات در IPTABLES اعمال خواهند شد :

    کد PHP:
    vi /etc/csf/csf.conf

    csf 
    -
    مرحله اول : تنظیمات پورت های سرور :
    هر چقدر دسترسی ها به سرور شما محدود تر باشد ، امنیت سرور خواه نا خواه افزایش پیدا میکند . این یک قاعده کلی است و پورت های سرور هم مشمول همین قانون هستند . هیچ دلیلی وجود ندارد که پورت های بی استفاده سیستم عامل لینوکس سرور مجازی یا سرور اختصاصی شما باز باشند . بنا بر این در اولین قدم به مدیریت پورت ها در لینوکس میپردازیم . با نصب فایروال CSF پورت های زیر به صورت پیش فرض باز خواهند شد :

    کد PHP:
    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 Rendesvous 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




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


    مرحله دوم : سایر تنظیمات CSF
    در ادامه مبحث آموزش کانفیگ و تنیظمات فایروال CSF به آموزش پیکربندی پر استفاده ترین و مهم ترین قسمت های فایروال CSF در لینوکس می پردازیم .

    کنترل پینگ LICMP_IN :
    مجموعه پروتوکل های ICMP یکی از پر استفاده ترین سرویس های دنیای اینترنت ، شبکه و هاستینگ هستند . با کمک ICMP_IN در فایروال CSF قادر به باز کردن و بستن پینگ آی پی سرور هستید . با قرار دادن مقدار ۱ پینگ سرور باز میشود و در صورت مقدار دهی ۰ پینگ سرور به طور کامل بسته میشود . اگر سرور شما یک سرور اشتراکی است بستن پینگ میتوانید مشکلاتی برای سرور به همراه داشته باشد .

    محدود کردن تعداد IP های بلاک شده با DENY_IP_LIMIT :
    با مقدار دهی به DENY_IP_LIMIT حد اکثر تعداد IP های مجاز برای نگهداری در لیست بلاک فایروال CSF را مشخص میکنید . مقدار دهی زیاد به این پارامترسبب افزایش لود سرور و مصرف CPU میگردد . خیلی از وب مستران به دلایلی که عموما اشتباه است این مقدار را روی ۱۰۰۰ یا بیشتر تنظیم میکنند که سبب مصرف بالای منابع سرور میگردد . حد اکثر مقدار توصیه شده ۲۰۰ است .

    تعداد آی پی ها بلاک شده به صورت موقت DENY_TEMP_IP_LIMIT :
    با مقدار دهی به DENY_TEMP_IP_LIMIT حد اکثر تعداد IP هایی که به صورت موقتی بلاک میشوند را تعیین کنید . مانند بلاک دائمی IP افزایش تعداد این آی پی ها نیز سبب کند شدن فایروال و سرور میگردد .

    محدود کردن پکت ها PACKET_FILTER :
    به کمک این ابزار پکت های اشتباه ، بدون کاربرد و غیر قانونی را فیلتر کنید.

    کنترل حملات SYNFLOOD به کمک SYNFLOOD, SYNFLOOD_RATE , SYNFLOOD_BURST :
    به کمک این ابزار قادر به کنترل حملات SYNFLOOD روی سرور خود خواهید بود . با فعال سازی این قسمت شکل گیری و اتصال کانکشن های جدید به سرور کند میشود . در واقع با این تکنیک و با افزایش زمان شکل گیری و اتصال کانکشن های جدید به سرور تا حدودی حملات flood از نوع SYN کنترل خواهند شد . بنا بر این فقط زمانی که زیر حملات SYNFLOOD هستید این قسمت را فعال کنید ، چرا که ناخواسته سبب کند شدن سرعت لود شدن سایت برای کاربران جدید (کاربرانی که بعد از فعال سازی این قسمت سایت های روی سرور را باز میکنند) میشود .

    محدود کردن کانکشن ها به کمک CONNLIMIT :
    یکی از قوی ترین امکانات فایروال CSF برای کنترل کردن حملات DOS و بعضی از انواع DDOS ابزای CONNLIMIT است . CONNLIMIT به شما این امکان را میدهد تا تعداد کانکشن های همزمان و فعال (concurrent connections) روی پورت های دلخواه را برای هر IP تعیین و محدود کنید . برای درک بهتر این موضوع یک مثال میزنیم :

    این مقدار دهی به CONNLIMIT در فایروال CSF به این معنیست که تعداد کانکشن های همزمان مجاز برای هر آی پی روی پورت ۲۲ حد اکثر ۵ کانکشن و روی پورت ۴۴۳ حد اکثر ۲۰ کانکشن می باشد .

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	connlimit.png نمایش ها:	1 اندازه:	1.2 KB شناسه:	18615

    محدود کردن کانکشن ها به کمک PORTFLOOD :
    یکی دیگر از امکانات بسیار کاربردی و موثر فایروال CSF در کنترل حملات DOS و DDOS ویژگی محدود کردن تعداد کانکشن های مجاز برای اتصال بر روی پورت های تعیین شده در بازه ها زمانی مشخص است . با مقدار دهی صحیح و دقیق به PORTFLOOD سرعت کانکشن زدن یک آی پی روی پورت های مورد نظر شما کنترل خواهد شد . برای درک بهتر چگونگی عملکرد PORTFLOOD در فایروال CSF یک مثال میزنیم :

    این مقدارد هی به PORTFLOOD به فایروال CSF دستور میدهد در صورتی اتصال بیش از ۵ کانکشن در مدت ۲۵۰ ثانیه به پورت ۲۲ از یک IP آن را بلاک کند .

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	flood.png نمایش ها:	1 اندازه:	1.2 KB شناسه:	18616

    اگر قصد محافظت از پورت های بیشتری را دارید میتوانید آن ها را با کاما از هم جدا کنید . به طور کلی فرمت استفاده از PORTFLOOD برای چند پورت مختلف به شکل زیر است :

    فرمت استفاده از PORTFLOOD برای چند پورت به صورت همزمان
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	portfloodS.png نمایش ها:	1 اندازه:	2.2 KB شناسه:	18617

    محدود کردن کلی کانکشن ها Connection Tracking :
    به کمک connection tracking فایروال csf میتواند آی پی هایی را که مجموعا بیشتر از تعداد مجاز و تعیین شده به سرور کانکشن زده اند را بلاک کند . این کانکشن ها به صورت کلی محاسبه میشوند و پورت و سرویس خاصی مد نظر نیست . برای این منظور کافی است تا مقدار CT_LIMIT را مثلا روی ۳۰۰ ست کنیم . در این صورت هر زمانی که بیشتر از ۳۰۰ کانکشن توسط یک ip به سرور متصل شود آن آی پی توسط فایروال CSF بلاک خواهد شد . فایروال CSF به صورت پیش فرض هر ۳۰ ثانیه یک بار تعداد کانکشن های هر آی پی را با مقداری که در CT_LIMIT مشخص کرده اید چک میکند .در صورتی که مایل به افزایش یا کاهش این مدت زمان هستید باید مقدار تعیین شده برای CT_INTERVAL را تغییردهید . توجه داشته باشید که این عدد هر چه کمتر باشد منابع مصرفی توسط CSF بیشتر خواهد بود .

    پک امنیتی CSF شامل امکانات بسیار زیاد دیگری نیز هست که میتوانید از دموی CSF در کنترل پنل WHM آن ها را مشاهده کنید :

    http://configserver.com/cp/csfdemo/config.html

    کلیه تنظیمات فایروال CSF که در لینک فوق مشاهده میکنید در محیط SSH با ویرایش فایل CSF.CONF قابل دسترس هستند . برای ویرایش این فایل در لینوکس دستور زیر را در ssh اجرا کنید :

    کد PHP:
    vi /etc/csf/csf.conf 
    بعد از پایان کانفیگ فایروال csf و ذخیره کردن تغییرات در فایروال ، باید csf را یک بار ریستارت کنید تا تغییرات اعمال شوند . برای ریست کردن فایروال csf یا از طریق پنل ادمین csf در کنترل پنل های دایرکت ادمین ، سی پنل و وبمین اقدام کنید یا در ssh دستور زیر را وارد کنید :

    کد PHP:
    csf -
    حالا ۵ دقیقه فرصت دارید تا همه موارد کانفیگ شده را بررسی کنید . فایروال CSF در حالت تست ۵ دقیقه بعد از استارت کلیه رول های IPTABLES را پاک میکند تا اگر هم اشتباهی درکانفیگ فایروال رخ داده دسترسی های شما کاملا قطع نشود .در صورتی که همه چیز به درستی کار میکرد و مشکلی در کانفیگ شما وجود نداشت مجددا فایل کانفیگ فایروال csf را ویراش کرده و فایروال را از حالت تست و آزمایش خارج کنید . برای این کار کافیست مقدار TESTING را از ۱ به ۰ تغییر دهید و مجددا فایروال را ریست کنید :

    کد PHP:
    TESTING 0

    csf 
    -

    چند نکته در باره فایروال CSF :

    آی پی های بلاک شده در فایل csf.deny ذخیره میشوند.
    آی پی های مجاز و white در فایل csf.allow ذخیره میشوند.
    برای بلاک کردن آی پی در ssh کافی است تا دستور csf -d ip را وارد کنید.
    برای وایت لیست کردن آی پی در ssh کافی است تا دستور csf -a ip را وارد کنید.
    برای بلاک کرد یا وایت لیست کردن یک رنج آی پی باید آن را به شکل ۲٫۳٫۰٫۰/۱۶ در فایل مربوطه وارد کنید.
    همیشه از به روز بود فایروال خود اطیمنان داشته باشید . برای آپدیت کردن csf در محیط ssh دستور csr -u را وارد کنید.
    برای غیر فعال کردن فایروال در ssh دستور csf -x را اجرا کنید.
    برای فعال کردن مجدد فایروال csf در ssh دستور csf -e را وارد کنید.
    از استفاده همزمان csf با سایرفایروال ها جدا خود داری کنید.

    برای نصب پنل ادمین CSF در webmin کافی است تا پلاگین مربوطه را از مسیر /usr/local/csf/csfwebmin.tgz روی کنترل پنل وب مین نصب کنید . در cPanel و Directadmin نیازی به نصب پلاگین نیست .
    نویسنده Babak Ajideh
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-20-2021, 05:40 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X