آشنایی با تعریف، ویژگی و نحوه نصب فایروال CSF در اوبونتو
یکی از دغدغههایی که هر کاربر سرور مجازی با آن مواجه است بحث فایروال، امنیت، بدافزار و دسترسی IP ها است. یک فایروال خوب علاوه بر مدیریت دسترسی IP ها و پورتها، سرور را از حملات سایبری و هک مصون نگه میدارد.
فایروال CSF فایروالی رایگان برای سرور مجازی و سیستمهای مبتنی بر لینوکس است. با استفاده از این فایروال میتوانید ترافیک سرور خود را بصورت بهینه مدیریت کنید. نحوه نصب آن ساده است و از طریق ترمینال میتوان آن را دانلود و نصب کرد.
این دغدغه بیشتر در سرور مجازی لینوکس، جایی که هسته آن اوپن سورس است خود را نشان میدهد و باعث دیده شدن جای خالی یک فایروال قوی میشود. خانهای که در نداشته باشد بر روی همه باز است!
مجهز کردن سرور مجازی و سیستم خود به فایروال باعث مسدود شدن دسترسی هکرها و هر شخص غیرمجاز میشود که این امر با بهرهگیری از پروتکلهای مختلف همانند SSH، HTTP و غیره قابل اجراست.
فایروال اصطلاحا همان دیوار آتشینی است که ترافیک ورودی را فیلتر و بررسی میکند تا از ورود دادههای مخرب جلوگیری کند و امنیت سیستم و سرور را بالا ببرد. فایروالها در سه نوع سختافزاری، نرمافزاری و ابری هستند.
در این مقاله نصب فایروال csf در اوبونتو را فرا خواهیم گرفت و با این فایروال بیشتر آشنا خواهیم شد.
فایروال CSF چیست؟
فایروال CSF یا Config Server Firewall فایروالی رایگان و اوپن سورس از نوع نرمافزاری برای سرورهای مبتنی بر لینوکس و توزیعهای مختلف هسته لینوکس است.
فایروال CSF علاوه بر امکانات یک فایروال معمولی مزایایی نظیر قواعد پیشرفته فایروال، جلوگیری از حملات DDos و تشخیص نفوذ را داراست. از این فایروال برای مدیریت IPtables در لینوکس استفاده میشود.
Config Server Firewall با کنترل پنلهای محبوب نظیر سی پنل، دایرکت ادمین، سایبر پنل و Webmin ادغام شدهاست و از طریق آنها میتوانید به این فایروال دسترسی داشته باشید.
مزایا و ویژگی های فایروال CSF
در توضیح یک فایروال خوب هرچقدر بگوییم باز هم کم است. اگر بخواهیم مزایای فایروال CSF را لیست کنیم باید از اعداد زیادی استفاده کنیم، اما در اینجا برخی را نام میبریم:
پشتیبانی از Port knocking
فایروال CSF از قابلیت Port knocking پشتیبانی میکند. کاربرانی که نحوه صحیح Port knocking را برای دسترسی به سرور اجرا کنند میتوانند به سرور متصل شوند.
قابلیت محافظت Connection limit
با استفاده از این ویژگی میتوان تعداد اتصالات همزمان هر IP address به هر پورت را محدود و از سواستفاده از سرور جلوگیری کرد.
محافظت Port flood
این ویژگی از سرور در مقابل حملات port flood مانند DoS محافظت میکند. Port flood protection به شما امکان محدودسازی تعداد اتصالات مجاز در هر بازه زمانی تعریف شده را میدهد. توصیه میکنیم که حتما این ویژگی را بر روی سرور مجازی لینوکس خود فعال کنید.
البته رعایت اعتدال در ارائه و بلاک کردن دسترسی را رعایت کنید تا ترافیک ارگانیک شما کاهش نیابد.
ردیابی پروسس ها (Process tracking)
همانطور که از نامش پیداست این ویژگی پروسههای اجرا شده در سرور را جهت تشخیص فعالیتهای مشکوک و پورتهای باز ردیابی و بررسی میکند و در صورت تشخیص هر فعالیت مشکوکی از طریق ایمیل آن را به ادمین سرور اطلاعرسانی میکند.
ادغام با UI
در کنار دسترسی از طریق ترمینال لینوکس، فایروال CSF در کنترل پنلهای cPanel و Webmin نیز قابل دسترسی است. اگر با ترمینال لینوکس و کدنویسی آشنایی ندارید از طریق کنترل پنل میتوانید با آن کار کنید.
ریدایرکت Port/IP address
میتوانید فایروال CSF را به منظور Port/IP address redirection پیکربندی کنید.
سرویس پیام رسان
با فعالسازی این سرویس، هنگام بلاک شدن کلاینتی ایمیلی حاوی اطلاعات مربوطه به وی ارسال میشود. این سرویس مزایا و معایب خودش را دارد.
از طرفی اطلاعات مشروحی به کلاینت ارائه میکند که باعث رفع سوتفاهم و ناراحتی وی میشود. اما از طرف دیگر سرور مجازی شما از طریق این طالاعات میتواند مورد حمله قرار گیرد. حالا تصمیم با شماست!
نظارت بر Directory
این ویژگی فایروال CSF پوشه temp/ و پوشههای مرتبط را برای یافتن اسکریپتهای مخرب بررسی کرده و به محض پیداکردن یکی از آنها ایمیلی را جهت مطلع کردن ادمین سرور به آدرس ایمیل وی ارسال میکند.
لیستهای IP block
با دارا بودن این ویژگی فایروال CSF بصورت اتوماتیک لیستهای IP های بلاک شده را از منابعی که مشخص میکنید دانلود میکند.
نصب فایروال CSF در اوبونتو
پس از آشنایی نسبی با فایروال CSF وقت آن رسیده است که به سراغ نصب آن برویم. با پیروی از مراحل زیر به آسانی فایروال CSF را در اوبونتو نصب کنید.
گام اول: نصب dependency های مورد نیاز
در شروع کار نیاز داریم که برخی dependencies را نصب کنیم. بدین منظور package index را با دستور زیر آپدیت کنید:
sudo apt update
حالا dependencies را نصب میکنیم:
sudo apt install wget libio-socket-ssl-perl git perl iptables libnet-libidn-perl libcrypt-ssleay-perl libio-socket-inet6-perl libsocket6-perl sendmail dnsutils unzip
از آنجایی که فایروال CSF بطور پیشفرض در ریپازیتوریهای اوبونتو موجود نیست باید آن را نصب کنیم. با کامند زیر آن را دانلود میکنیم:
wget http://download.configserver.com/csf.tgz
حالا یک فایل فشرده شده به نام csf.tgz داریم.
با دستور زیر آن را از حالت فشرده خارج میکنیم:
tar -xvzf csf.tgz
حالا با دستور زیر پوشهی csf را میتوان مشاهده کرد.
ls -l
به پوشه csf بروید.
cd csf
با اجرای اسکریپت زیر فایروال CSF را نصب کنید:
sudo bash install.sh
اکنون که فایروال CSF نصب شدهاست لازم است که از بارگیری iptables ها اطمینان حاصل کنیم. برای این کار دستور:
sudo perl /usr/local/csf/bin/csftest.pl
را از طریق ترمینال لینوکس اجرا میکنیم.
گام دوم: کانفیگ فایروال CSF در لینوکس اوبونتو
بعد از نصب فایروال CSF در اوبونتو باید تغییراتی را در فایل پیکربندی csf.conf برای فعال شدن CSF اعمال کنیم. این فایل را با دستور زیرین باز میکنیم:
sudo nano /etc/csf/csf.conf
مقدار دستور TESTING را از 1 به 0 تغییر میدهیم.
TESTING = "0"
مقدار دستور RESTRICT_SYSLOG را نیز به 3 تغییر میدهیم تا دسترسی rsyslog/syslog را به افراد عضو RESTRICT_SYSLOG_GROUP محدود کنیم.
در این مرحله با جایگذاری 4 دستور TCP_IN، TCP_OUT، UDP_IN و UDP_OUT میتوانید پورتهای TCP و UDP را باز کنید. با این کار پورتهای نمایش دادهشده بصورت پیشفرض باز میشوند:
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,587,993,995"
UDP_IN = "20,21,53,80,443"
UDP_OUT = "20,21,53,113,123"
به احتمال زیاد به تمامی این پورتها نیاز نخواهید داشت. پس بهتر است تنها پورتهایی را که سرویسهای در حال اجرای سیستمتان از آنها استفاده میکنند باز بگذارید. بعد از اتمام بستن پورتهای اضافی CSF را ریلود کنید:
sudo csf -r
دستور زیرین را برای مشاهده تمام قوانین IP table هایی که روی سرور تعریف شدهاند اجرا کنید:
csf -l
همچنین اگر مایلید که فایروال CSF در هر استارتاپ سیستم اجرا شود این کامندها را در ترمینال اجرا کنید:
sudo systemctl start csf
sudo systemctl enable csf
با این دستور مطمئن میشویم که فایروال CSF درحال اجراست:
sudo systemctl status csf
مدیریت IP ها در فایروال CSF
از کلیدیترین عملکردهای هر فایروالی بلاک کردن یا دادن دسترسی به IPها برای اتصال به سرور است. با فایروال CSF نیز میتوانید IPها را در سه حالت دارای دسترسی، بدون دسترسی و ignored قراردهید.
این کار با اعمال تغییر در کانفیگ فایلهای زیر قابل انجام است:
- csf.allow
- csf.deny
- csf.ignore
بلاک کردن IP در فایروال CSF در اوبونتو
چنانچه قصد بلاک کردن IP ای را دارید فایل پیکربندی csf.deny را باز کنید:
sudo nano /etc/csf/csf.deny
سپس آدرس IP ای که قصد بلاکش را دارید وارد کنید. در صورتی که قصد وارد کردن بیش از یک آدرس را دارید میتوانید هر یک را جداگانه در یک خط بنویسید:
192.168.100.50
192.168.100.120
یا که با استفاده از نشانه CIDR تمامی یک زیرشبکه را وارد کنید:
192.168.100.0/24
دادن دسترسی به IP در فایروال CSF
برای اعطای اجازه دسترسی به یک IP از طریق Iptables و خارج کردن آن از لیست سیاه مسدودی و دیگر فیلترها، فایل پیکربندی csf.allow را ویرایش میکنیم:
sudo nano /etc/csf/csf.allow
از طریق روشی که در بالا آموزش دادیم میتوانید چندین IP را بصورت یکجا برای فایروال تعریف کنید. توجه داشته باشید که اگر یک IP را در این لیست قرار دهید، به سرور دسترسی خواهد داشت حتی اگر قبلا بلاک شده و در فایل csf.deny باشد.
بخاطر ادغام شدن فایروال CSF در سی پنل میتوانید از طریق سی پنل به بررسی بلاک بودن IP بپردازید.
ignore یک IP در فایروال CSF
علاوه بر عملکردهایی که در بالا ذکر شد فایروال CSF این امکان را برایمان فراهم میکند تا IP ای را از لیستها و فیلترها خارج کنیم . هر آدرس IP ای که در فایل csf.ignore قرار بگیرد عاری از فیلترهای iptableها خواهد شد.
جهت exempt کردن هر IP ای از فیلترها فایل پیکربندی csf.ignore را باز کنید و آدرس IP را در آن قرار دهید:
sudo nano /etc/csf/csf.ignore
اگر می خواهید صاحب یک سرور لینوکس امن باشید تا با اضافه کردن فایروال هایی مثل CSF، این امنیت را به حداکثر برسانید، می توانید از صفحه خرید سرور مجازی لینوکس (Linux VPS) مراجعه کنید.
سخن آخر
CSF فایروالی از نوع نرم افزاری است که در VPS های لینوکس از آن به کثرت استفاده می٬شود. فایروال CSF علیرغم رایگان بودنش ویژگیهای بسیار خوبی دارد که آن را گزینهی اول در بین فایروالها برای اکثر کاربران لینوکسی کرده است.
این فایروال مزایای فراوانی نیز دارد که به برخی از آنها نظیر Process tracking، Port flood protection، Port knocking و Port/IP address redirection اشاره کردیم. با در دست داشتن این چنین ابزاری در برابر حملات سایبری نفوذناپذیر خواهید بود.
با این آموزش به سادگی میتوانید این فایروال را بر روی اوبونتو نصب و راه اندازی کنید. در صورت بروز هرگونه خطا یا سوال آن را با ما در بخش نظرات درمیان بگذارید.