آموزش کانفیگ فایروال UFW در لینوکس اوبونتو Ubuntu



UFW چیست

UFW یا Uncomplicated Firewall یک فایروال با رابط کاربری ساده شده بدون پیچیدگی های مثل iptables است برای مدیریت ساده تر است. اگر به دنبال تأمین امنیت شبکه خود هستید و مطمئن نیستید از کدام ابزار استفاده کنید، باتوجه به ساده بودن، UFW ممکن است انتخاب مناسبی برای شما باشد. در صورت خرید vps یا نصب اوبونتو، ufw بصورت پیش فرض در سیستم عامل Ubuntu نصب شده است.

 

آموزش کانفیگ فایروال UFW

 در صورتی که اون رو حذف کردین با دستور زیر میتونین نصب کنین.

sudo apt install ufw

 

فعال کردن IPv6 در ufw

این آموزش بر اساس IPv4 نوشته شده ، در صورتیکه از IPv6 استفاده میکنین باید اون رو فعال کنین و بررسی کنین که علاوه بر IPv4، ویژگی IPv6 نیز فعال شده باشه و rule ها و تنظیمات فایروال در IPv6 نیز اعمال بشه، به همین خاطر فایل زیر رو باز میکنیم

sudo nano /etc/default/ufw

و مقدار زیر رو برابر با yes میکنیم

IPV6=yes

 

اضافه کردن rule در ufw

برای تنظیم rules های UFW بصورت پیش فرض از دستورات زیر استفاده میکنیم، این تنظیمات پیش فرض برای یک سیستم شخصی ممکن مناسب باشه، اما برای سرورها نیاز به تنظیم دقیقتر داری

sudo ufw default deny incoming
sudo ufw default allow outgoing

اگه ufw فعال باشه، تمام کانکشن درخواست های ورودی رو مسدود میکنه، بخاطر همین باید rules هایی برای اجازه ورود به این درخواست ها ایجاد کنیم ، درخواست هایی مثل SSH یا HTTP، برای مثال برای اجازه ورود کانکشن با پروتکل SSH از دستور زیر استفاده میکنیم و کانکشن SSH رو اجازه دسترسی بهش میدیم. با فعالسازی این مورد، کانکشن اتصال ورود به پورت 22 SSH اجازه دسترسی پیدا میکنن چون در فایل /etc/services پورت SSH 22 تعریف شده.

sudo ufw allow ssh

همچنین میتونیم به جای تعریف کردن اسم سرویس، شماره پورت خاص رو تعریف کنیم و اجازه دسترسی به کانکشن های اون پورت رو برای ورود بدیم

sudo ufw allow 22

 

برای فعالسازی فایروال UFW از دستور زیر استفاده میکنیم

sudo ufw enable

 

همچنین در Firewall ufw میتونیم، رنج پورت خاصی رو بر اساس کانکشن های tcp یا udp تنظیم کنیم، مثلا طبق کد زیر، پورت های 6000 تا 6007 بر اساس tcp و udp بودن، امکا ورود به سیستم عامل رو دارن.

sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp

 

همچنین میتونیم اجازه ورود کانکشن ها از IP خاصی رو بدیم

sudo ufw allow from 203.0.113.4

یا میتونیم اجازه ورود کانکشن ها به IP خاص و پورت خاصی رو از اون IP بدیم

sudo ufw allow from 203.0.113.4 to any port 22

 

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

sudo ufw allow from 203.0.113.0/24

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

sudo ufw allow from 203.0.113.0/24 to any port 22

اگر چند اینترفیس شبکه دارین و میخواین rules هاتون رو برای هر شبکه بصورت جداگانه تنظیم کنین میتونین از دستورات زیر استفاده کنین، ابتدا با دستور زیر اینترفیس های شبکه رو باید پیدا میکنیم

ip addr
Output Excerpt
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
. . .
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
. . .

 

برای مثال در اینترفیس شبکه eth0 ، اجازه ورود کانکشن های پورت 80 رو میدیم

sudo ufw allow in on eth0 to any port 80

یا در اینترفیس شبکه eth1 اجازه ورود پورت 3306 دیتابیس MySQL رو میدیم

sudo ufw allow in on eth1 to any port 3306

 

برای جلوگیری از ورود کانکشن ها به سرور از دستور deny استفاده میکنیم، مثلا دستور زیر کانشکن های http رو نادیده میگیره

sudo ufw deny http

یا دستور زیر کانکشن های IP تعریف شده زیر رو نادیده میگیره

sudo ufw deny from 203.0.113.4

 

طبق آموزش بالا نحوه ایجاد rules هارو یاد گرفتیم ولی اگه زمانی نیاز باشه که rules خاصی رو بخوایم حذف کنیم، طبق آموزش زیر انجام میدیم، 2 روش برای حذف rules های فایروال ufw وجود داره، 1. براساس شماره rules تنظیم شده در فایروال 2. بر اساس اسم و مقادیر تنظیم شده.

برای حذف از طریق شماره rules ، ابتدا شماره rule مربوطه رو پیدا میکنیم

sudo ufw status numbered
Numbered Output:
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    15.15.15.0/24
[ 2] 80                         ALLOW IN    Anywhere

 

مثلا اگه پورت 80 رو که برای http هست بخواین حذف کنین، دستورش اینجوری میشه

sudo ufw delete 2

 

یا میتونین اسم پورت مروبطه یا سروس رو بصورت مستقیم وارد کنین

sudo ufw delete allow http
sudo ufw delete allow 80

 

برای بررسی وضعیت فعال بودن فایروال UFW از دستور زیر استفاده میکنیم

sudo ufw status verbose
Output
Status: inactive

 

اگه فایروال UFW فعال باشه، وضعیتش رو active میزنه و rules هایی که تنیظم شده رو نشون میده

Output
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere

 

برای غیرفعال سازی و reset فایروال ufw که تمام تنظیمات شما هم حذف خواهند شد از دستور زیر استفاده میکنیم

sudo ufw disable
sudo ufw reset

امن کردن دیتابیس MongoDB

آموزش نصب NodeJS