راهنمای جامع ایمنسازی سرور با CSF: مسدودسازی حملات Brute Force و اسکن پورت
آموزش کامل نصب، پیکربندی و ایمنسازی سرور با فایروال CSF و LFD برای مقابله با حملات Brute Force، اسکن پورت و جلوگیری از قفل شدن دسترسی ادمین.
فایروال ConfigServer Security & Firewall که به اختصار CSF نامیده میشود، یکی از قدرتمندترین ابزارهای متنباز برای مدیریت پورتها، فیلتر کردن بستهها و کنترل ترافیک شبکه در لینوکس است. این ابزار به همراه سیستم جانبی خود یعنی LFD (Login Failure Daemon)، به صورت لحظهای لاگها را پایش کرده و در صورت مشاهده رفتار مشکوک یا تلاشهای ناموفق مکرر، آیپی مهاجم را مسدود میکند. در این راهنما قصد داریم به صورت کاملاً عملی و دقیق، نحوه پیکربندی این فایروال را برای تأمین امنیت حداکثری سرور بررسی کنیم.
مقدمه: چرا فایروال CSF برای هر سرور لینوکسی حیاتی است؟
اگر مدیریت یک سرور مجازی (VPS) یا سرور اختصاصی لینوکسی را بر عهده داشته باشید، احتمالاً لاگهای سیستم خود را بررسی کردهاید و با حجم عظیمی از درخواستهای نامعتبر، تلاشهای ناموفق برای ورود به SSH یا پنلهای میزبانی وب مانند cPanel مواجه شدهاید. این حملات Brute Force که معمولاً توسط باتنتهای خودکار و اسکریپتهای مخرب در سراسر اینترنت انجام میشوند، منابع سختافزاری سرور (CPU و RAM) را به شدت درگیر کرده و پایداری سرویسهای شما را تهدید میکنند. بدون داشتن یک لایه دفاعی مناسب در لایه شبکه، سرور شما طعمه آسانی برای نفوذگران خواهد بود.
پیش از شروع، توجه داشته باشید که تسلط بر ساختار سیستمعامل، نیازمند یادگیری مبانی است که میتوانید نکات تکمیلی را در دوره لینوکس مقدماتی مطالعه کنید.
پیشنیازها و آمادگی سرور پیش از نصب CSF
پیش از شروع فرآیند نصب، باید مطمئن شویم که پکیجهای وابسته و کتابخانههای مورد نیاز مانند Perl و iptables روی سیستم نصب شدهاند. همچنین اگر فایروال دیگری مانند Firewalld یا UFW روی سرور فعال است، باید آن را غیرفعال کنید تا تداخلی در عملکرد پکتها و قوانین فایروال ایجاد نشود. تداخل فایروالها یکی از شایعترین دلایل قطع دسترسی یا کار نکردن صحیح قوانین پورت است.
برای بررسی و غیرفعال کردن فایروالهای موازی در توزیعهای مبتنی بر ردهت مانند المالینوکس و کلاودلینوکس، دستورات زیر را بررسی کنید:
systemctl stop firewalld
systemctl disable firewalld
همچنین مطمئن شوید که ابزار wget یا curl روی سرور نصب شده است تا بتوانید پکیج اصلی فایروال را بدون مشکل دانلود کنید.
نصب و راهاندازی اولیه CSF روی سرورهای لینوکسی سی پنل
برای شروع نصب، از طریق دسترسی SSH و با حساب کاربری root به سرور متصل شوید. سپس دستور زیر را اجرا کنید تا آخرین نسخه پایدار فایروال از mirror های سی پنل و المالینوکس دانلود و روی سیستم استقرار یابد:
البته باید توجه داشته باشید به دلیل عدم فعالیت شرکت سازنده این فایروال، شرکت سی پنل این فایروال را شخصا ارائه میکند و اسم ان از کانفیگ سرور به cpanel-csf تغییر یافته است. بنابر این مراحل نصب بسیار ساده بوده و مانند گذشته با چند دستور نمیباشد.
dnf install cpanel-csf -y
تنظیمات کلیدی فایل csf.conf برای مقابله با Brute Force
قلب تپنده فایروال CSF، فایل پیکربندی آن یعنی /etc/csf/csf.conf است. پس از نصب موفقیتآمیز، باید این فایل را با یک ویرایشگر متنی مانند nano باز کنید و پارامترهای امنیتی آن را متناسب با نیاز سرور بهینهسازی کنید.
nano /etc/csf/csf.conf
یکی از مهمترین پارامترهایی که باید تغییر دهید، متغیر TESTING است. این مقدار به طور پیشفرض روی 1 تنظیم شده است. پس از اطمینان از صحت قوانین اولیه و تست اتصال، حتماً آن را به 0 تغییر دهید تا فایروال به صورت دائم فعال شود:
TESTING = "0"
برای مقابله مؤثر با حملات Brute Force روی سرویسهای مختلف مانند SSH، FTP و میلسرورها، باید محدودیتهای تعداد اتصال (Connection Limiting) را فعال کنید. پارامتر PORTFLOOD یکی از ابزارهای عالی برای جلوگیری از حملات سیلآسا یا همان Flood است. به عنوان مثال، میتوانید تنظیم کنید که اگر کاربری در کمتر از ۱۰ ثانیه بیش از ۱۵ ارتباط جدید به پورت SSH برقرار کرد، آیپی او به طور خودکار مسدود شود.
پس از اعمال تغییرات در فایل تنظیمات، برای اعمال قوانین جدید کافی است دستور زیر را اجرا کنید:
csf -r
مدیریت پورتهای ورودی و خروجی امن (TCP_IN و TCP_OUT)
یکی از اصول اولیه امنیت شبکه، بستن تمامی پورتهای غیرمجاز و باز گذاشتن صرفاً پورتهای مورد نیاز است. در فایل csf.conf بخشهایی به نامهای TCP_IN و TCP_OUT وجود دارد که شماره پورتهای مجاز برای ارتباطات ورودی و خروجی را مشخص میکنند.
پورتهای استاندارد ورودی معمولاً شامل موارد زیر هستند:
- پورت 22 (یا پورت سفارشی و امن SSH)
- پورت 80 و 443 (برای وبسرویسهای HTTP و HTTPS)
- پورتهای مربوط به کنترلپنلها مانند 2082، 2083، 2087 در سرورهای cPanel
- پورتهای ایمیل شامل 25، 465، 587، 993 و 995
توصیه میشود پورتهای خروجی (TCP_OUT) را نیز محدود کنید تا اگر بدافزاری روی سرور اجرا شد نتواند به راحتی به سرورهای دیگر در شبکه یا خارج از شبکه متصل شود. بررسی وضعیت این پورتها و تسلط بر نحوه مدیریت سرویسها، از مباحث پایهای در مدیریت سرور است که بصورت مفصل در دوه آموزش کانفیگ فایروال csf به شما عزیزان یاد داده میشود.
پیکربندی Login Failure Daemon (LFD) برای هشدارهای امنیتی
سیستم LFD به صورت مداوم فایلهای لاگ سرور از جمله /var/log/secure، /var/log/messages و لاگهای وبسرویس را رصد میکند. اگر کاربری رمز عبور خود را چندین بار اشتباه وارد کند، LFD وارد عمل شده و بلافاصله آیپی مخرب را مسدود کرده و ایمیل هشداری برای مدیر سرور ارسال میکند.
برای تنظیم حساسیت LFD، پارامترهای زیر را در فایل csf.conf بررسی کنید:
LF_SSH: تعداد تلاشهای ناموفق مجاز برای ورود به SSH (پیشفرض معمولاً روی 5 است).LF_FTP: تعداد تلاشهای ناموفق برای سرویس FTP.LF_SMTP: محدودیت تلاشهای ناموفق برای احراز هویت ایمیل.
همچنین مطمئن شوید که آدرس ایمیل مدیر سرور در متغیر LF_ALERT_TO به درست وارد شده باشد تا گزارشهای امنیتی و مسدودسازیها را به موقع دریافت کنید. اگر علاوه بر CSF قصد دارید لایههای امنیتی وبسرویس و اپلیکیشن خود را نیز ارتقا دهید، بررسی راهکارهای تخصصی مانند آموزش کانفیگ ایمونیفای 360 کمک شایانی به شما خواهد کرد.
روشهای تست فایروال و سناریوهای Rollback
پس از اعمال هرگونه تغییرات در فایروال، تست صحت عملکرد آن الزامی است. برای بررسی اینکه آیا قوانین به درستی عمل میکنند یا خیر، میتوانید از یک سرور دیگر یا اینترنت مجزا تلاش کنید به پورتهای مسدود شده متصل شوید. در صورت بروز هرگونه خطای تنظیماتی که منجر به قطع دسترسی SSH شما شد، دو راهکار برای Rollback وجود دارد:
- اگر سرور شما دارای پنل مدیریت ابری یا KVM/VNC اختصاصی است، از طریق کنسول وب به سرور متصل شده و دستور
csf -xرا برای غیرفعال کردن موقت فایروال اجرا کنید. - با استفاده از دستور
csf -fمیتوانید تمامی قوانین فلاش (پاک) کنید تا دسترسیها به حالت اولیه بازگردد.
نکات کلیدی برای جلوگیری از مسدود شدن IP خود مدیر سرور (Lockout Prevention)
یکی از کابوسهای رایج مدیران سرور، اشتباه در تنظیمات فایروال و مسدود شدن آیپی خودشان است که منجر به قطع کامل دسترسی SSH به سرور میشود. برای جلوگیری از این اتفاق، حتماً باید نکات زیر را رعایت کنید:
- آیپی ثابت اینترنت خود را در فایل
/etc/csf/csf.allowقرار دهید. خطوط نوشته شده در این فایل هرگز توسط فایروال مسدود نخواهند شد. - پیش از بستن کامل حالت تست (Testing Mode)، حتماً با یک تب جدید در ترمینال ورود به سرور را تست کنید.
- اگر از اینترنت با آیپی متغیر استفاده میکنید، مراقب محدودیتهای سختگیرانه روی پورتهای مدیریتی باشید.
رعایت این اصول ساده از بروز قطعیهای ناخواسته جلوگیری میکند.
جمعبندی و مسیر یادگیری پیشرفته در دوره جامع کانفیگ CSF
پیکربندی صحیح فایروال CSF و سیستم LFD یکی از مهمترین اقدامات برای تأمین امنیت پایه سرورهای لینوکسی در برابر انواع حملات Brute Force و اسکن پورت است. با رعایت اصول نگهداری، مدیریت دقیق پورتها و افزودن آیپیهای معتبر به لیست مجاز، میتوانید ضریب امنیت سرور خود را به شکل چشمگیری افزایش دهید.
اگر میخواهید تمام این مباحث را به صورت تخصصی، سناریومحور و گامبهگام زیر نظر متخصصان یاد بگیرید، پیشنهاد میکنیم از طریق لینک زیر در دوره آموزشی مربوطه شرکت کنید:
برای تسلط کامل بر امنیت شبکه و تنظیمات پیشرفته، از صفحه دوره جامع کانفیگ CSf دیدن کنید.
