آموزش تنظیم UFW در اوبونتو و باز و بسته کردن پورتها
در آموزش تنظیم UFW در اوبونتو و باز و بسته کردن پورتها، ابتدا باید پورت SSH را مجاز کنید و سپس فایروال را فعال سازید. پس از آن میتوانید دسترسی به پورتهای وب، پنل مدیریت یا برنامههای دیگر را بر اساس پروتکل، IP و محدوده شبکه کنترل کنید. مهمترین نکته، حفظ نشست فعلی SSH و آزمایش اتصال از یک ترمینال دوم است؛ زیرا فعالکردن فایروال بدون مجازکردن پورت مدیریتی میتواند دسترسی شما را به VPS قطع کند.
هشدار مهم: پیش از تغییر فایروال، از وجود Console یا Rescue Mode در پنل سرویسدهنده مطمئن شوید. اگر از راه دور به سرور متصل هستید، نشست فعلی SSH را تا پایان آزمایش قوانین جدید نبندید و پیش از Reset یا حذف گسترده Ruleها، از تنظیمات مهم نسخه پشتیبان بگیرید.
فهرست مطالب
- UFW چیست؟
- پیشنیازهای تنظیم UFW
- نصب و بررسی وضعیت فایروال
- تنظیم سیاستهای پیشفرض
- فعالسازی امن UFW
- باز و بسته کردن پورتها
- حذف قوانین UFW
- محدودکردن دسترسی بر اساس IP
- تنظیم فایروال برای SSH و وبسرور
- بررسی IPv6 و گزارشها
- رفع خطاهای رایج
- چکلیست نهایی
- سؤالات متداول
UFW چیست؟
UFW مخفف Uncomplicated Firewall است و مدیریت قوانین فایروال لینوکس را سادهتر میکند. با استفاده از آن میتوانید مشخص کنید کدام پورتها باز باشند، چه IPهایی اجازه اتصال داشته باشند و کدام ارتباطات مسدود شوند.
برای مثال، یک وبسرور عمومی معمولاً باید درخواستهای HTTP و HTTPS را دریافت کند، اما دیتابیس آن نباید بدون ضرورت از تمام اینترنت قابلدسترسی باشد. UFW امکان اعمال چنین محدودیتی را در سطح سیستمعامل فراهم میکند.
UFW برای تنظیمات رایج سرور مناسب است، اما قوانین آن باید بر اساس سرویسهای واقعی نوشته شوند. بازکردن پورتهای اضافی یا مسدودکردن ارتباطات ضروری میتواند امنیت یا عملکرد سرور را تحت تأثیر قرار دهد.
اگر درباره پورتهای موردنیاز برنامه، هماهنگی UFW با Cloud Firewall یا جلوگیری از قطع دسترسی مطمئن نیستید، میتوانید پیش از اعمال قوانین از کارشناسان شرکت تجارت الکترونیک نوژن مشاوره بگیرید.
[لینک داخلی پیشنهادی: انکرتکست «فایروال چیست و چگونه از سرور محافظت میکند» ← مقاله معرفی فایروال سرور و سایت]
پیشنیازهای تنظیم UFW در اوبونتو
برای مدیریت UFW به حساب root یا کاربری با دسترسی sudo نیاز دارید. همچنین باید بدانید SSH روی کدام پورت اجرا میشود و چه سرویسهایی باید از شبکه قابلدسترسی باشند.
قبل از شروع این موارد را بررسی کنید:
- دسترسی SSH فعلی برقرار باشد.
- پورت واقعی SSH مشخص باشد.
- دسترسی Console یا Rescue در پنل وجود داشته باشد.
- فایروال ابری سرویسدهنده بررسی شده باشد.
- سرویسها و پورتهای فعال شناسایی شده باشند.
- از تنظیمات و اطلاعات مهم سرور بکاپ وجود داشته باشد.
- یک ترمینال دوم برای آزمایش اتصال آماده باشد.
برای مشاهده سرویسهایی که روی پورتهای شبکه گوش میدهند، دستور زیر را اجرا کنید:
sudo ss -tulpn
بازبودن یک پورت در خروجی این فرمان الزاماً به معنای دردسترسبودن آن از اینترنت نیست. فایروال سیستم، فایروال ابری و نحوه پیکربندی سرویس نیز بر دسترسی اثر میگذارند.
نصب UFW در اوبونتو
ابتدا فهرست بستهها را بهروزرسانی کنید:
sudo apt update
سپس UFW را نصب کنید:
sudo apt install ufw
در بسیاری از نصبهای اوبونتو، این بسته از قبل وجود دارد. برای مشاهده وضعیت فعلی فایروال از دستور زیر استفاده کنید:
sudo ufw status
اگر عبارت Status: inactive نمایش داده شود، UFW نصب است اما هنوز قوانین آن روی ترافیک اعمال نمیشوند.
تنظیم سیاستهای پیشفرض UFW
یک الگوی رایج برای سرورها، مسدودکردن پیشفرض ترافیک ورودی و مجازبودن ترافیک خروجی است. سپس فقط پورتهای ضروری بهصورت جداگانه باز میشوند.
برای مسدودکردن پیشفرض ورودیها:
sudo ufw default deny incoming
برای مجازکردن پیشفرض ارتباطات خروجی:
sudo ufw default allow outgoing
محدودکردن ترافیک خروجی به طراحی دقیقتری نیاز دارد. بهروزرسانی سیستمعامل، DNS، سرویس ایمیل، APIها و بکاپ از راه دور ممکن است به ارتباط خروجی وابسته باشند.
آموزش تنظیم UFW در اوبونتو و فعالسازی امن آن
مهمترین مرحله، مجازکردن SSH پیش از فعالسازی فایروال است. اگر SSH روی پورت استاندارد اجرا میشود، میتوانید پروفایل OpenSSH را مجاز کنید:
sudo ufw allow OpenSSH
یا پورت را مستقیماً باز کنید:
sudo ufw allow 22/tcp
اگر سرویس SSH روی پورت سفارشی قرار دارد، مقدار واقعی را جایگزین کنید:
sudo ufw allow PORT/tcp
قوانین ثبتشده را بررسی کنید:
sudo ufw show added
پس از اطمینان از وجود قانون صحیح SSH، فایروال را فعال کنید:
sudo ufw enable
و وضعیت آن را با جزئیات ببینید:
sudo ufw status verbose
در این مرحله نشست فعلی را نبندید. یک پنجره ترمینال جدید باز کرده و اتصال SSH را دوباره آزمایش کنید:
ssh username@SERVER_IP
برای اتصال روی پورت سفارشی:
ssh -p PORT username@SERVER_IP
فقط پس از ورود موفق در نشست جدید، اتصال قبلی را ببندید.
[لینک داخلی پیشنهادی: انکرتکست «کارهای ضروری بعد از خرید VPS اوبونتو» ← مقاله راهاندازی و ایمنسازی اولیه VPS]
باز کردن پورت در UFW
برای بازکردن یک پورت TCP از ساختار زیر استفاده کنید:
sudo ufw allow PORT/tcp
برای بازکردن پورت UDP:
sudo ufw allow PORT/udp
اگر سرویس واقعاً از هر دو پروتکل استفاده میکند، میتوان پورت را بدون تعیین پروتکل باز کرد:
sudo ufw allow PORT
بهتر است پروتکل را دقیق مشخص کنید تا دسترسی بیش از نیاز ایجاد نشود.
باز کردن پورت HTTP
برای دسترسی وب معمولی:
sudo ufw allow 80/tcp
باز کردن پورت HTTPS
برای ترافیک رمزگذاریشده وب:
sudo ufw allow 443/tcp
استفاده از پروفایل برنامهها
برخی نرمافزارها هنگام نصب، پروفایل UFW ایجاد میکنند. برای مشاهده فهرست پروفایلها:
sudo ufw app list
برای مشاهده پورتهای یک پروفایل:
sudo ufw app info "PROFILE_NAME"
و برای مجازکردن آن:
sudo ufw allow "PROFILE_NAME"
پیش از فعالکردن پروفایل، پورتهای آن را بررسی کنید. بعضی پروفایلها چند پورت را همزمان باز میکنند.
جدول دستورات کاربردی UFW
| هدف | دستور | نکته |
|---|---|---|
| مشاهده وضعیت | sudo ufw status |
فعال یا غیرفعال بودن فایروال |
| مشاهده جزئیات | sudo ufw status verbose |
نمایش سیاستهای پیشفرض |
| نمایش قوانین شمارهدار | sudo ufw status numbered |
مناسب برای حذف دقیق Rule |
| مجازکردن SSH | sudo ufw allow OpenSSH |
پیش از فعالسازی UFW اجرا شود |
| بازکردن پورت TCP | sudo ufw allow PORT/tcp |
PORT را با پورت واقعی جایگزین کنید |
| بازکردن پورت UDP | sudo ufw allow PORT/udp |
فقط در صورت نیاز برنامه |
| مسدودکردن پورت | sudo ufw deny PORT/tcp |
ارتباط منطبق مسدود میشود |
| حذف قانون | sudo ufw delete RULE_NUMBER |
شماره قانون را دقیق بررسی کنید |
| غیرفعالکردن UFW | sudo ufw disable |
فایروال از حالت فعال خارج میشود |
| فعالکردن گزارش | sudo ufw logging on |
ممکن است حجم گزارشها افزایش یابد |
برای مشاهده سرویسهای سرور مجازی لینوکس و انتخاب منابع مناسب وبسرور یا برنامه اختصاصی میتوانید خدمات شرکت تجارت الکترونیک نوژن را بررسی کنید. سطح مدیریت سرویس نیز باید با تجربه فنی تیم هماهنگ باشد.
[لینک داخلی پیشنهادی: انکرتکست «خرید سرور مجازی لینوکس» ← صفحه خدمات سرور مجازی]
بستن پورت در UFW
برای مسدودکردن یک پورت TCP:
sudo ufw deny PORT/tcp
برای مسدودکردن پورت UDP:
sudo ufw deny PORT/udp
اگر قبلاً یک قانون Allow برای همان پورت ایجاد کردهاید، بهتر است ابتدا قانون قبلی را پیدا و حذف کنید. وجود قوانین تکراری یا متضاد میتواند عیبیابی را دشوار کند.
فهرست شمارهدار قوانین را مشاهده کنید:
sudo ufw status numbered
سپس شماره دقیق قانون را حذف کنید:
sudo ufw delete RULE_NUMBER
پس از هر حذف، فهرست را دوباره نمایش دهید؛ زیرا شماره سایر قوانین ممکن است تغییر کند.
همچنین میتوانید یک قانون مشخص را بر اساس متن آن پاک کنید:
sudo ufw delete allow PORT/tcp
در سرورهای حساس، استفاده از فهرست شمارهدار احتمال حذف قانون اشتباه را کاهش میدهد.
محدودکردن دسترسی بر اساس IP
برای مجازکردن دسترسی یک IP به پورتی مشخص، از ساختار زیر استفاده کنید:
sudo ufw allow from CLIENT_IP to any port PORT proto tcp
برای نمونه، محدودکردن SSH استاندارد به یک IP:
sudo ufw allow from CLIENT_IP to any port 22 proto tcp
مقدار CLIENT_IP را با IP واقعی مدیر جایگزین کنید. اگر IP اینترنت شما پویا باشد، تغییر آن ممکن است باعث قطع دسترسی شود.
برای مسدودکردن یک IP:
sudo ufw deny from BLOCKED_IP
برای مجازکردن یک محدوده شبکه میتوان از قالب CIDR استفاده کرد:
sudo ufw allow from NETWORK_CIDR to any port PORT proto tcp
محدوده را با دقت انتخاب کنید. یک Prefix اشتباه ممکن است تعداد بیشتری از IPها را نسبت به انتظار مجاز کند.
[لینک داخلی پیشنهادی: انکرتکست «تغییر رمز لینوکس و ورود امن با SSH Key» ← مقاله آموزش امنیت ورود SSH]
تنظیم UFW برای وبسرور
یک وبسرور عمومی معمولاً به پورتهای HTTP و HTTPS نیاز دارد:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
پس از افزودن قوانین، سایت را از یک شبکه خارجی آزمایش کنید. اگر پورت باز باشد ولی برنامهای روی آن گوش ندهد، سایت دردسترس نخواهد بود.
پورت دیتابیس را بدون ضرورت برای تمام اینترنت باز نکنید. اگر وبسرور و دیتابیس روی دو ماشین جدا هستند، بهتر است دسترسی دیتابیس فقط از IP خصوصی وبسرور مجاز باشد.
[لینک داخلی پیشنهادی: انکرتکست «مقایسه Apache، Nginx و LiteSpeed» ← مقاله انتخاب وبسرور مناسب]
هماهنگی UFW با فایروال ابری
بعضی سرویسدهندگان یک Cloud Firewall در پنل VPS ارائه میکنند. این فایروال پیش از رسیدن ترافیک به سیستمعامل عمل میکند،
