UFW رابط ساده مدیریت فایروال میزبان در Ubuntu است. پیش از فعالکردن آن روی VPS، باید پورت واقعی SSH و مسیر بازیابی را آماده کنید؛ مجازکردن پورت 22 زمانی که SSH روی پورت دیگری است شما را محافظت نمیکند. این راهنما برای سرور عمومی بدون مدیر فایروال موازی یا کنترلپنل است.
پیشنیاز جلوگیری از قفلشدن
یک نشست SSH را باز نگه دارید و دسترسی کنسول میزبان را آزمایش کنید. قواعد فعلی و فایروال شبکه را ثبت کنید. اگر Docker یا ابزار مدیریت قواعد دیگری دارید، مسیر عبور بستهها را جداگانه بررسی کنید؛ نمایش UFW بهتنهایی اثبات نمیکند همه پورتهای کانتینر بستهاند.
sudo ufw status verbose
sudo ss -lntp
قواعد پایه پیش از فعالسازی
نمونه زیر برای SSH استاندارد روی TCP/22 و وب عمومی است. فقط قواعد مرتبط با نقش همین سرور را اضافه کنید. اگر SSH سفارشی است، عدد واقعی را جایگزین کنید.
sudo ufw allow 22/tcp
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose
کنترل از یک اتصال تازه
- بدون بستن نشست فعلی، از دستگاه مدیر یک اتصال SSH تازه برقرار کنید.
- وب را از بیرون سرور با HTTP و HTTPS بررسی کنید؛ درخواست localhost آزمون فایروال بیرونی نیست.
- اگر رکورد AAAA دارید، مسیر IPv6 و تنظیم IPV6 در UFW را هم کنترل کنید.
- پس از اطمینان، فهرست قواعد و هدف هر کدام را مستند کنید.
محدودسازی مدیریت و ثبت رخداد
برای SSH با IP مدیریتی ثابت میتوان قاعده محدود به مبدأ تعریف کرد. IP نمونه زیر را حتماً با نشانی واقعی جایگزین کنید؛ ابتدا قاعده محدود و ورود تازه را بیازمایید و بعد مجوز عمومی قبلی را بردارید.
sudo ufw allow proto tcp from 203.0.113.10 to any port 22
sudo ufw logging on
لاگ را از نظر حجم دیسک و داده حساس مدیریت کنید. rate limit جایگزین کلید SSH، بهروزرسانی یا احراز هویت مناسب نیست.
اگر دسترسی قطع شد
از کنسول بازیابی، پورت و قواعد را اصلاح کنید. اجرای reset یا خاموشکردن دائمی UFW بدون فهم علت، راهحل پایدار نیست. تغییرات را یکییکی انجام دهید تا بتوانید اثر هر قاعده را تشخیص دهید.
مطالعه مرتبط
منابع و مستندات
بازبینی محتوا و منابع: ۲۶ مهر ۱۴۰۵. دستورهای نمونه برای محیط مشخصشدهاند؛ پیش از استفاده روی سرویس عملیاتی، سازگاری محیط و نسخه پشتیبان را بررسی کنید.