آموزش نصب و تنظیم فایروال UFW در لینوکس پرینت

  • آموزش نصب و تنظیم فایروال UFW در لینوکس, آموزش نصب و تنظیم فایروال UFW, آموزش نصب و تنظیم فایروال, نصب و تنظیم فایروال UFW در لینوکس, تنظیم فایروال UFW در لینوکس, افزایش امنیت سرور, امنیت سرور
  • 0

UFW یا Uncomplicated Firewall یکی از ساده‌ترین ابزارها برای مدیریت فایروال در سیستم‌های لینوکسی است. این ابزار در اصل یک رابط ساده‌تر برای مدیریت قوانین فایروال است و به شما کمک می‌کند بدون نیاز به نوشتن Ruleهای پیچیده، دسترسی به پورت‌ها و سرویس‌های مختلف را کنترل کنید.

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

UFW چیست؟

UFW مخفف Uncomplicated Firewall است و برای ساده‌تر کردن مدیریت فایروال لینوکس طراحی شده است.

با استفاده از UFW می‌توانید کارهایی مانند موارد زیر را انجام دهید:

  • باز کردن یک پورت مشخص
  • بستن یک پورت
  • اجازه دسترسی فقط به یک IP
  • مسدود کردن یک IP
  • باز کردن HTTP و HTTPS
  • مدیریت دسترسی SSH
  • مشاهده لیست Ruleهای فایروال

چرا باید فایروال را فعال کنیم؟

اگر سرور شما به اینترنت متصل است، سرویس‌های مختلف ممکن است روی پورت‌های متفاوت در دسترس باشند.

اگر همه پورت‌ها بدون محدودیت باز باشند، سطح حمله سرور افزایش پیدا می‌کند.

برای مثال ممکن است فقط به سرویس‌های زیر نیاز داشته باشید:

 
22   SSH
80   HTTP
443  HTTPS
 

در این حالت بهتر است سایر پورت‌ها از بیرون قابل دسترسی نباشند.

بررسی نصب بودن UFW

ابتدا دستور زیر را اجرا کنید:

 
ufw --version
 

اگر UFW نصب باشد، نسخه آن نمایش داده می‌شود.

نصب UFW در Ubuntu و Debian

در Ubuntu معمولاً UFW به‌صورت پیش‌فرض نصب است.

در صورت نیاز:

 
apt update
 

سپس:

 
apt install ufw -y
 

بررسی وضعیت UFW

قبل از فعال‌سازی فایروال:

 
ufw status
 

ممکن است خروجی زیر را مشاهده کنید:

 
Status: inactive
 

یعنی فایروال هنوز فعال نیست.

نکته مهم قبل از فعال کردن UFW

اگر از طریق SSH به سرور متصل هستید، قبل از فعال کردن UFW حتماً پورت SSH را باز کنید.

در غیر این صورت ممکن است اتصال SSH شما قطع شود.

اگر SSH روی پورت پیش‌فرض 22 است:

 
ufw allow 22/tcp
 

یا:

 
ufw allow ssh
 

اگر پورت SSH را مثلاً به 2222 تغییر داده‌اید:

 
ufw allow 2222/tcp
 

فعال کردن UFW

بعد از باز کردن SSH:

 
ufw enable
 

سیستم ممکن است هشداری درباره احتمال قطع اتصال SSH نمایش دهد.

اگر مطمئن هستید پورت SSH باز شده است، ادامه دهید.

بررسی وضعیت فایروال

بعد از فعال‌سازی:

 
ufw status
 

برای مشاهده جزئیات بیشتر:

 
ufw status verbose
 

تنظیم سیاست پیش‌فرض فایروال

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

 
ufw default deny incoming
 

و:

 
ufw default allow outgoing
 

این ساختار باعث می‌شود فقط پورت‌هایی که خودتان باز می‌کنید از بیرون قابل دسترسی باشند.

باز کردن پورت در UFW

برای باز کردن یک پورت:

 
ufw allow PORT/tcp
 

برای مثال:

 
ufw allow 8080/tcp
 

باز کردن پورت HTTP

برای وب‌سرور:

 
ufw allow 80/tcp
 

یا:

 
ufw allow http
 

باز کردن HTTPS

برای HTTPS:

 
ufw allow 443/tcp
 

یا:

 
ufw allow https
 

باز کردن HTTP و HTTPS با یک دستور

اگر از Nginx استفاده می‌کنید:

 
ufw allow 'Nginx Full'
 

برای مشاهده پروفایل‌های موجود:

 
ufw app list
 

ممکن است خروجی مشابه زیر باشد:

 
Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH
 

مسدود کردن یک پورت

برای مسدود کردن یک پورت می‌توانید از دستور زیر استفاده کنید:

 
ufw deny 3306/tcp
 

برای مثال این دستور دسترسی خارجی به MySQL روی پورت 3306 را مسدود می‌کند.

حذف یک Rule

برای حذف Rule:

 
ufw delete allow 8080/tcp
 

یا:

 
ufw delete deny 3306/tcp
 

مشاهده Ruleها با شماره

برای مشاهده قوانین همراه با شماره:

 
ufw status numbered
 

خروجی ممکن است مشابه زیر باشد:

 
[ 1] 22/tcp    ALLOW IN    Anywhere
[ 2] 80/tcp    ALLOW IN    Anywhere
[ 3] 443/tcp   ALLOW IN    Anywhere
 

برای حذف Rule شماره 2:

 
ufw delete 2
 

اجازه دسترسی فقط به یک IP

اگر می‌خواهید فقط یک IP مشخص به SSH دسترسی داشته باشد:

 
ufw allow from 192.0.2.10 to any port 22 proto tcp
 

اگر پورت SSH شما 2222 است:

 
ufw allow from 192.0.2.10 to any port 2222 proto tcp
 

این روش برای سرورهایی که فقط از IP ثابت مدیریت می‌شوند بسیار کاربردی است.

مسدود کردن یک IP

برای مسدود کردن کامل یک IP:

 
ufw deny from 192.0.2.20
 

بعد از آن، IP موردنظر نمی‌تواند به سرویس‌های سرور دسترسی پیدا کند.

اجازه دسترسی به یک Subnet

برای مثال:

 
ufw allow from 192.168.1.0/24
 

این دستور دسترسی تمام IPهای شبکه موردنظر را مجاز می‌کند.

محدود کردن تلاش‌های SSH

UFW قابلیت limit نیز دارد.

برای مثال:

 
ufw limit ssh
 

یا اگر پورت SSH تغییر کرده است:

 
ufw limit 2222/tcp
 

این قابلیت می‌تواند تعداد اتصال‌های مکرر را محدود کند و در کنار Fail2Ban مفید باشد.

مشاهده تنظیمات کامل UFW

برای مشاهده وضعیت:

 
ufw status verbose
 

و برای مشاهده Ruleها:

 
ufw show added
 

غیرفعال کردن UFW

اگر قصد دارید فایروال را موقتاً غیرفعال کنید:

 
ufw disable
 

Ruleها حذف نمی‌شوند و فقط فایروال غیرفعال می‌شود.

برای فعال‌سازی مجدد:

 
ufw enable
 

ریست کامل UFW

اگر می‌خواهید تمام Ruleها حذف شوند:

 
ufw reset
 

این دستور تنظیمات را به حالت اولیه برمی‌گرداند.

قبل از اجرای آن مطمئن شوید که به تنظیمات قبلی نیاز ندارید.

تنظیم پیشنهادی برای یک وب‌سرور

اگر سرور فقط SSH، HTTP و HTTPS نیاز دارد:

 
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
 

اگر پورت SSH شما 2222 است:

 
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
 

آیا این پاسخ به شما کمک کرد؟

« برگشت