ایمنسازی سرورهای لینوکس Ubuntu/Debian/Alma/CentOS با Iptables و فایروال UFW
مقدمه: در این آموزش، نحوه ایمنسازی سرور Ubuntu با استفاده از Iptables و فایروال سادهشده UFW را بهصورت گامبهگام بررسی میکنیم. Iptables یک ابزار قدرتمند برای مدیریت ترافیک شبکه است و UFW رابط کاربری سادهای برای مدیریت قوانین فایروال در توزیعهای مبتنی بر دبیان مانند Ubuntu ارائه میدهد.
بخش اول: راهاندازی Iptables
گام 1: باز کردن ترمینال
وارد ترمینال سرور Ubuntu خود از طریق SSH یا ابزار دلخواه شوید.
گام 2: بررسی قوانین فعلی Iptables
برای مشاهده قوانین فعلی فایروال، دستور زیر را اجرا کنید:
sudo iptables -L
این دستور تمامی قوانین فعال در فایروال Iptables را نمایش میدهد.
گام 3: پیکربندی قوانین پایه Iptables
ابتدا سیاستهای پیشفرض را تعیین و قوانین ابتدایی را تنظیم کنید.
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
این دستورات تمامی ترافیک ورودی را مسدود کرده و تنها دسترسی به پورتهای SSH، HTTP و HTTPS و همچنین ارتباطات داخلی و مجاز را مجاز میسازد.
گام 4: مسدود کردن پورتهای خاص
برای امنیت بیشتر و مقابله با حملات Brute-force و اسپم، پورتهای ایمیل را مسدود کنید:
sudo iptables -A INPUT -p tcp --dport 25 -j DROP
sudo iptables -A INPUT -p tcp --dport 587 -j DROP
sudo iptables -A INPUT -p tcp --dport 465 -j DROP
sudo iptables -A OUTPUT -p tcp --dport 25 -j DROP
sudo iptables -A OUTPUT -p tcp --dport 587 -j DROP
sudo iptables -A OUTPUT -p tcp --dport 465 -j DROP
گام 5: نصب ابزار iptables-persistent
برای حفظ قوانین پس از ریستارت سرور، ابزار زیر را نصب کنید:
sudo apt-get install iptables-persistent
گام 6: ذخیره تنظیمات Iptables
برای ذخیره پیکربندی فعلی، دستور زیر را اجرا کنید:
sudo iptables-save > /etc/iptables.rules
بخش دوم: پیکربندی فایروال UFW
گام 1: فعالسازی UFW
برای مدیریت آسانتر قوانین فایروال، UFW را فعال کنید:
sudo ufw enable
گام 2: تنظیم قوانین UFW
قوانین امنیتی موردنیاز را در UFW تنظیم کنید:
sudo ufw deny 25/tcp
sudo ufw deny 465/tcp
sudo ufw deny 587/tcp
sudo ufw allow ssh
sudo ufw allow {add ports}/tcp
sudo ufw deny {add ports}/udp
این قوانین پورتهای حساس را مسدود کرده و در عین حال اجازه دسترسی به پورتهای ضروری مثل SSH را فراهم میکنند. در قسمت {add ports} باید پورتهایی که میخواهید مجاز باشند را وارد کنید، مثلاً:sudo ufw allow 10,15,20,40/tcp
گام 3: مسدودسازی ترافیک خروجی به Subnetهای خاص
برای جلوگیری از ارتباط با شبکههای خصوصی مشکوک، دستور زیر را اجرا کنید:
sudo ufw deny out from any to 10.0.0.0/8
sudo ufw deny out from any to 172.16.0.0/12
sudo ufw deny out from any to 100.64.0.0/10
بخش سوم: فعالسازی و نظارت
فعالسازی Iptables و UFW هنگام بوت
برای اطمینان از اجرای خودکار قوانین پس از ریستارت، دستور زیر را برای Iptables اجرا کنید:
sudo systemctl enable iptables.service
UFW نیز بهطور پیشفرض پس از نصب فعال میشود.
گام نهایی: نظارت و بهروزرسانی
برای بررسی وضعیت فایروال و اعمال تغییرات جدید، دستورات زیر را بهکار ببرید:
sudo systemctl status iptables.service
sudo ufw status verbose
با اجرای این مراحل، امنیت سرور لینوکس خود را در برابر دسترسیهای غیرمجاز و تهدیدات شبکهای بهخوبی تقویت کردهاید. فراموش نکنید که قوانین را بهطور منظم بازبینی و بهروزرسانی کنید.
جستجو