UFW ساده‌ترین راه مدیریت فایروال در اوبونتو است. در این آموزش نصب، فعال‌سازی و مهم‌ترین دستورات UFW را با مثال‌های کاربردی یاد می‌گیرید.

آموزش فایروال UFW در اوبونتو؛ ساده‌ترین راه امن کردن سرور

اگر آموزش IPTables را خوانده باشید، می‌دانید که فایروال پیش‌فرض لینوکس ابزار قدرتمندی است اما نوشتن قوانین آن حوصله و دقت زیادی می‌خواهد. UFW (مخفف Uncomplicated Firewall) دقیقاً برای حل همین مشکل ساخته شده: یک لایه ساده روی همان iptables که با چند دستور کوتاه و خوانا، سرور را امن می‌کند. به همین دلیل هم در اوبونتو به‌صورت پیش‌فرض نصب است و برای بیشتر سناریوهای واقعی کاملاً کفایت می‌کند.

نصب و بررسی وضعیت UFW

در اوبونتو معمولاً UFW از قبل نصب است. برای اطمینان:

sudo apt update
sudo apt install ufw

و برای دیدن وضعیت فعلی:

sudo ufw status verbose

اگر خروجی Status: inactive بود یعنی فایروال هنوز فعال نشده است. عجله نکنید و قبل از فعال‌سازی، حتماً بخش بعد را بخوانید.

قدم اول (خیلی مهم): پورت SSH را باز کنید

رایج‌ترین اشتباه موقع کار با فایروال این است که آن را فعال کنید و بعد ببینید دسترسی SSH خودتان هم قطع شده! پس قبل از هر چیز اجازه ورود SSH را صادر کنید:

sudo ufw allow ssh

اگر طبق آموزش تغییر پورت SSH پورت پیش‌فرض را عوض کرده‌اید، به جای دستور بالا شماره پورت خودتان را باز کنید:

sudo ufw allow 2222/tcp

فعال‌سازی فایروال

حالا با خیال راحت فعالش کنید:

sudo ufw enable

از این لحظه همه اتصال‌های ورودی به جز مواردی که اجازه داده‌اید مسدود می‌شوند و اتصال‌های خروجی آزادند؛ این سیاست پیش‌فرض UFW است و برای اکثر سرورها همین درست است.

دستورات پرکاربرد UFW

باز کردن پورت‌های رایج

sudo ufw allow 80/tcp     # وب‌سرور HTTP
sudo ufw allow 443/tcp    # HTTPS
sudo ufw allow 3306/tcp   # MySQL (فقط اگر واقعا لازم است)

محدود کردن دسترسی به یک IP مشخص

فرض کنید می‌خواهید فقط آی‌پی دفتر شما به پورت دیتابیس وصل شود:

sudo ufw allow from 203.0.113.10 to any port 3306

بستن یک پورت یا حذف قانون

sudo ufw deny 8080/tcp
sudo ufw status numbered
sudo ufw delete 3

دستور دوم قوانین را با شماره نشان می‌دهد و دستور سوم قانون شماره ۳ را حذف می‌کند.

محافظت در برابر حملات Brute Force

یکی از قابلیت‌های کمتر شناخته‌شده UFW حالت limit است که اگر یک IP در مدت کوتاه چند بار تلاش به اتصال کند، موقتاً مسدودش می‌کند:

sudo ufw limit ssh

برای پورت SSH این دستور را به‌جای allow معمولی استفاده کنید؛ جلوی بخش بزرگی از حملات خودکار را همین یک خط می‌گیرد.

غیرفعال کردن یا ریست کامل

sudo ufw disable   # غیرفعال کردن موقت
sudo ufw reset     # حذف همه قوانین و شروع از صفر

جمع‌بندی

برای امن کردن یک سرور اوبونتو لازم نیست حتماً درگیر پیچیدگی‌های iptables شوید؛ UFW با چند دستور ساده همان نتیجه را می‌دهد. ترکیب «باز کردن فقط پورت‌های ضروری + دستور limit روی SSH» به‌تنهایی امنیت سرور را چند پله بالا می‌برد. اگر سروری برای تمرین ندارید، می‌توانید یک سرور مجازی از پارس ابر تهیه کنید و همین آموزش را روی آن اجرا کنید.