امنسازی سرور با فایروال UFW: راهنمای کامل برای مبتدیان
یک سرور تازهراهاندازیشده، بهطور پیشفرض به تمام پورتهای باز خود روی اینترنت گوش میدهد. فایروال اولین و سادهترین لایهٔ دفاعی است که مشخص میکند چه ترافیکی اجازهٔ ورود به سرور شما را دارد. UFW (Uncomplicated Firewall) رابطی ساده روی iptables است که مدیریت این قوانین را در اوبونتو بسیار آسان میکند.
UFW چیست؟
UFW لایهای سادهشده روی سیستم فایروال هستهٔ لینوکس (iptables) است. بهجای نوشتن قوانین پیچیدهٔ iptables، با دستورات کوتاه و خوانا میتوانید پورتها را باز یا بسته کنید.
نصب و فعالسازی UFW
sudo apt update
sudo apt install ufw -y
sudo ufw status⚠️ نکتهٔ حیاتی پیش از فعالسازی
پیش از اجرای ufw enable، حتماً پورت SSH را مجاز کنید؛ در غیر این صورت اتصال فعلی شما قطع میشود و ممکن است کاملاً از سرور قفل شوید:
sudo ufw allow OpenSSH
# یا اگر پورت SSH را تغییر دادهاید:
sudo ufw allow 2222/tcpقوانین پایه برای سرویسهای رایج
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow 3306/tcp # MySQL (فقط در صورت نیاز به دسترسی خارجی)
sudo ufw enableمسدود کردن یک IP خاص
sudo ufw deny from 198.51.100.23
sudo ufw deny from 198.51.100.0/24 # مسدود کردن یک بازهٔ کاملدستورات پرکاربرد مدیریتی
| دستور | کاربرد |
|---|---|
ufw status verbose | نمایش کامل قوانین فعال با جزئیات |
ufw delete allow 80/tcp | حذف یک قانون مشخص |
ufw disable | غیرفعال کردن موقت فایروال |
ufw reset | بازگرداندن تمام قوانین به حالت پیشفرض |
ترکیب UFW با Fail2Ban
UFW مشخص میکند چه پورتهایی اصلاً قابل دسترسی هستند، اما در برابر تلاشهای مکرر ورود ناموفق روی همان پورتهای باز (مثل SSH) بهتنهایی کاری نمیکند. برای آن لایه، مقالهٔ نصب Fail2Ban را دنبال کنید؛ ترکیب این دو ابزار، لایهٔ دفاعی قابلقبولی برای اکثر سرورها فراهم میکند.
جمعبندی
فعالسازی UFW یکی از سریعترین اقدامات امنیتی روی یک سرور تازهست؛ کافی است پورتهای موردنیاز را صریحاً مجاز کنید و همهچیز دیگر را بهصورت پیشفرض مسدود بگذارید. فراموش نکنید که این کار را روی یک سرور بهدرستی راهاندازیشده و همراه با احتیاط دربارهٔ پورت SSH انجام دهید.
UFW در کنار فایروال لایه اپلیکیشن
UFW بهعنوان یک فایروال شبکه، ترافیک را بر اساس پورت و آیپی مدیریت میکند، اما برای محافظت در برابر حملاتی که در سطح محتوای درخواست HTTP رخ میدهند (مانند SQL Injection یا XSS)، نیاز به یک لایه امنیتی تخصصیتر به نام WAF است. جزئیات کامل این موضوع در مقاله فایروال لایه اپلیکیشن (WAF) بررسی شده است.