آموزش کانفیگ فایروال UFW در لینوکس اوبونتو (فعال سازی و تنظیم فایروال Ubuntu)
امنیت سرور یکی از مهمترین دغدغههای مدیران سیستم است. فایروال به عنوان اولین خط دفاعی، نقش حیاتی در حفاظت از سرور در برابر دسترسیهای غیرمجاز و حملات اینترنتی ایفا میکند. UFW (Uncomplicated Firewall) یا “فایروال بدون پیچیدگی”، یک رابط کاربری ساده و قدرتمند برای مدیریت فایروال Netfilter در لینوکس است که به صورت پیشفرض در اوبونتو وجود دارد و به راحتی روی دبیان نیز نصب میشود. هدف اصلی آن، سادهسازی فرایند پیچیده تنظیم قوانین فایروال است.
در این راهنمای جامع، از نصب و راهاندازی اولیه تا مدیریت پیشرفته قوانین UFW را به صورت گام به گام با خرید vps به شما آموزش میدهیم.
UFW چیست و چرا باید از آن استفاده کنیم؟
UFW در واقع یک ابزار مدیریتی برای iptables
است. در حالی که iptables
بسیار قدرتمند و انعطافپذیر است، سینتکس (نحو دستورات) پیچیدهای دارد. UFW این پیچیدگی را از بین میبرد و به کاربران اجازه میدهد با دستورات ساده و قابل فهم، قوانین فایروال را برای ترافیکهای IPv4 و IPv6 تنظیم کنند.
- سادگی: مدیریت فایروال با دستورات کوتاه و واضح.
- امنیت پیشفرض: به طور پیشفرض تمام اتصالات ورودی را مسدود میکند.
- پشتیبانی از پروفایل برنامهها: امکان مدیریت آسان سرویسهای رایج مانند SSH, HTTP و FTP.
- کنترل دقیق: قابلیت تعریف قوانین بر اساس پورت، پروتکل و آدرس IP.
گام اول: نصب UFW در اوبونتو و دبیان
UFW به صورت پیشفرض روی اکثر نسخههای اوبونتو نصب شده است. اما اگر نصب نبود یا از دبیان استفاده میکنید، میتوانید آن را با یک دستور ساده نصب کنید.
ابتدا سیستم خود را بهروزرسانی کنید:
sudo apt update
sudo apt upgrade
سپس UFW را نصب کنید:
sudo apt install ufw
گام دوم: تنظیم سیاستهای پیشفرض (Default Policies)
قبل از فعال کردن فایروال، مهمترین کار تنظیم قوانین پیشفرض است. این قوانین مشخص میکنند که با ترافیکی که هیچ قانون مشخصی برای آن وجود ندارد، چه برخوردی شود.
روش امنتر و پیشرفتهتر (مسدود کردن ترافیک خروجی)
برای حداکثر امنیت، میتوانید ترافیک خروجی را نیز به طور پیشفرض مسدود کنید. این کار از “صدا زدن به خانه” (phoning home) توسط بدافزارها یا اسکریپتهای مخرب جلوگیری میکند. اما این روش نیازمند دقت بیشتری است، زیرا شما باید تمام ارتباطات خروجی ضروری را به صورت دستی مجاز کنید.
مرحله 1: مسدود کردن تمام ترافیکهای ورودی و خروجی
sudo ufw default deny incoming
sudo ufw default deny outgoing
مرحله 2: باز کردن پورتهای خروجی ضروری
پس از اجرای دستور بالا، سرور شما دیگر نمیتواند به اینترنت متصل شود. برای مثال، دستور apt update
کار نخواهد کرد. باید پورتهای ضروری را برای ترافیک خروجی (outbound) باز کنید:
- DNS (پورت 53): برای ترجمه نام دامنه به IP.
- HTTP/HTTPS (پورت 80 و 443): برای بهروزرسانی سیستم و دانلود بستهها.
- NTP (پورت 123): برای همگامسازی زمان سرور.
# اجازه دسترسی به DNS
sudo ufw allow out 53/udp
# اجازه دسترسی برای آپدیت سیستم
sudo ufw allow out 80/tcp
sudo ufw allow out 443/tcp
# اجازه دسترسی برای همگامسازی زمان (اختیاری ولی پیشنهادی)
sudo ufw allow out 123/udp
نکته مهم: اگر از این روش استفاده میکنید، باید برای هر سرویسی که نیاز به اتصال به بیرون دارد (مانند ارسال ایمیل یا اتصال به یک API)، پورت خروجی مربوطه را باز کنید.
گام سوم: باز کردن پورتها و اجازه دسترسی به سرویسها (Inbound)
در این مرحله، قوانین مربوط به ترافیک ورودی (inbound) را تنظیم میکنیم.
باز کردن پورت SSH (بسیار مهم)
هشدار: قبل از فعال کردن فایروال، حتما دسترسی SSH را مجاز کنید، در غیر این صورت از سرور خود قفل خواهید شد!
برای باز کردن پورت پیشفرض SSH (پورت 22) دستور زیر را وارد کنید:
sudo ufw allow ssh
یا میتوانید شماره پورت را مشخص کنید:
sudo ufw allow 22/tcp
باز کردن پورتهای وب (HTTP و HTTPS)
اگر روی سرور خود وبسایت میزبانی میکنید، باید پورتهای 80 (HTTP) و 443 (HTTPS) را باز کنید.
sudo ufw allow http
sudo ufw allow https
این دستورات معادل دستورات sudo ufw allow 80/tcp
و sudo ufw allow 443/tcp
هستند.
باز کردن یک پورت یا محدوده پورت خاص
برای باز کردن یک پورت خاص (مثلا 8080) با پروتکل TCP:
sudo ufw allow 8080/tcp
برای باز کردن محدودهای از پورتها (مثلا از 3000 تا 3010) برای هر دو پروتکل TCP و UDP:
sudo ufw allow 3000:3010/tcp
sudo ufw allow 3000:3010/udp
گام چهارم: فعال کردن فایروال UFW
پس از اینکه قوانین مورد نیاز (به خصوص SSH) را اضافه کردید، میتوانید با خیال راحت فایروال را فعال کنید.
sudo ufw enable
سیستم از شما سوالی مبنی بر اینکه ممکن است اتصالات فعلی قطع شود میپرسد. `y` را تایپ کرده و Enter را بزنید.
مدیریت فایروال UFW
بررسی وضعیت و قوانین فایروال
برای مشاهده وضعیت فعلی فایروال و لیست قوانینی که تنظیم کردهاید، از دستور زیر استفاده کنید:
sudo ufw status verbose
بستن پورتها و حذف قوانین (بستن پورت در اوبونتو)
برای بستن یک پورت یا حذف یک قانون، از کلمه کلیدی `delete` قبل از قانون مورد نظر استفاده کنید.
مثلا برای بستن پورت 80 (HTTP):
sudo ufw delete allow http
اگر قوانین زیادی دارید، میتوانید ابتدا آنها را شمارهگذاری کرده و سپس بر اساس شماره حذف کنید:
sudo ufw status numbered
سپس قانونی که میخواهید حذف کنید را با شماره آن مشخص کنید:
sudo ufw delete 2
غیرفعال کردن و ریست کردن UFW
برای غیرفعال کردن موقت فایروال:
sudo ufw disable
برای بازگرداندن UFW به تنظیمات کارخانه و حذف تمام قوانین:
sudo ufw reset
قوانین پیشرفته در UFW
اجازه دسترسی از یک IP خاص
میتوانید دسترسی به یک پورت را فقط برای یک آدرس IP خاص مجاز کنید. این کار برای افزایش امنیت SSH بسیار مفید است.
sudo ufw allow from 192.168.1.100 to any port 22
در دستور بالا، فقط کامپیوتری با IP `192.168.1.100` میتواند به پورت 22 متصل شود.
مسدود کردن یک IP خاص (Deny)
اگر متوجه فعالیت مشکوکی از یک آدرس IP شدید، میتوانید آن را به طور کامل مسدود کنید:
sudo ufw deny from 203.0.113.10
فایروال UFW ابزاری ضروری برای تامین امنیت سرورهای لینوکسی مبتنی بر اوبونتو و دبیان است. با دنبال کردن این راهنما، شما میتوانید به راحتی فایروال سرور خود را پیکربندی کرده، پورتهای باز را مدیریت کنید و یک لایه امنیتی قدرتمند در برابر تهدیدات خارجی ایجاد نمایید. به یاد داشته باشید که همیشه قبل از فعال کردن فایروال، دسترسی SSH را مجاز کنید.
فهرست تیترها