ufw یا Uncomplicated Firewall یک فرانت اند کاربرپسند برای فایروال های IPTables لینوکس است. و برای فایروال های مبتنی بر میزبان بسیار راحت است. ufw یک رابط خط فرمان برای کنترل فایروال ارائه می دهد. ufw چارچوبی برای مدیریت netfilter و همچنین یک رابط خط فرمان برای دستکاری فایروال فراهم می کند. این رابط کاربری کاربر پسند، کار را برای افراد مبتدی لینوکس که آشنایی چندانی با مفاهیم فایروال ندارند، آسان میکند.
در این آموزش قصد داریم UFW را روی CentOS 8 نصب و راه اندازی کنیم. همه دستورات برای RHEL 8 کار می کنند.
مرحله 1: UFW را نصب و فعال کنید
UFW در مخزن CentOS در دسترس نیست. ما باید مخزن EPEL را روی سرور خود نصب کنیم.
sudo dnf install epel-release -y
اکنون UFW را نصب و فعال کنید:
install#
sudo dnf install ufw -y
enable#
sudo ufw enable
وضعیت UFW را بررسی کنید:
sudo ufw status
برای غیرفعال کردن UFW، باید این دستور را اجرا کنید:
sudo ufw disable
مرحله 2: تنظیمات پیش فرض UFW
به طور پیش فرض، UFW تمام ترافیک ورودی را مسدود می کند و به همه ترافیک خروجی اجازه می دهد. برای تنظیم کانفیگ پیش فرض می توانید دستورات زیر را اجرا کنید:
sudo ufw default allow outgoing
sudo ufw default deny incoming
مرحله 3: قوانین فایروال را اضافه کنید
ما به راحتی می توانیم قوانین را در فایروال UFW اضافه کنیم. بیایید پورت HTTP (80) را باز کنیم:
sudo ufw allow http
or #
sudo ufw allow 80
برای فیلتر کردن بسته ها بر اساس TCP یا UDP، باید دستور زیر را اجرا کنیم:
sudo ufw allow 80/tcp
sudo ufw allow 21/udp
ما می توانیم هرگونه ترافیک ورودی و خروجی به هر پورتی را رد کنیم:
sudo ufw deny 8081
ما می توانیم پورت های در حال اجرا را به راحتی بررسی کنیم:
method 1
sudo ufw status
method 2
sudo ufw status numbered
method 3
sudo ufw status verbose
مرحله 4: قوانین فایروال را حذف کنید
مانند بالا، ما به راحتی می توانیم قوانین را نیز حذف کنیم. بطور مثال:
sudo ufw delete allow http
sudo ufw delete deny 8081
همچنین می توانیم یک قانون را با شماره آن حذف کنیم. وضعیت sudo ufw را با شماره اجرا کنید و شماره را در کنار قوانین مشاهده خواهید کرد. سپس می توانید به این صورت حذف کنید:
sudo ufw delete 5
برای حذف همه قوانین:
sudo ufw reset
مرحله 5: قوانین پیشرفته UFW
اجازه یا رد کردن یک IP خاص برای دسترسی به همه خدمات:
allow#
sudo ufw allow from 192.168.2.57
deny#
sudo ufw deny from 192.168.2.57
برای اجازه دادن به یک آدرس IP/پورت خاص:
sudo ufw allow proto tcp from 192.168.2.57 to any port 22
به یک محدوده IP خاص (192.168.1.1 تا 192.168.1.254) برای دسترسی به همه خدمات اجازه داده یا رد کنید:
allow#
sudo ufw allow from 192.168.1.0/24
deny#
sudo ufw deny from 192.168.1.0/24
مسدود کردن زیر شبکه در پورت:
sudo ufw deny proto tcp from 192.168.2.0/24 to any port 22
برای اجازه دسترسی به پورت TCP و UDP از 1000 تا 1500:
sudo ufw allow 1000:1500/tcp
sudo ufw allow 1000:1500/udp
برای اجازه دادن به ترافیک HTTP در رابط شبکه eth0:
sudo ufw allow in on eth0 to any port 80
مرحله 6: نکته - UFW IP را مسدود نمی کند
پس از افزودن قوانین، اگر UFW IP را مسدود نکرد، فایل پیکربندی UFW را باز کنید:
sudo nano /etc/ufw/before.rules
خط End required lines# را پیدا کنید و بعد از این خط، قانون را مانند این اضافه کنید:
block single IP#
-A ufw-before-input -s 192.168.2.57 -j DROP
block subnet#
-A ufw-before-input -s 192.168.2.0/24 -j DROP
شما همچنین می توانید این را امتحان کنید:
'sudo ufw insert 1 deny from 192.168.2.57 comment 'Block spammer
'sudo ufw insert 1 deny from 192.168.2.0/24 comment 'Block XSS attack subnet
مرحله 7: اطلاعات بیشتر
در اینجا فایل های پیکربندی UFW آمده است:
/etc/ufw/before.rules
/etc/ufw/before6.rules
/etc/ufw/after.rules
/etc/ufw/after6.rules
برای فعال/غیرفعال کردن ورود به سیستم، از دستور زیر استفاده کنید:
on#
sudo ufw logging on
off#
sudo ufw logging off
بررسی کردن لاگ ها:
sudo tail -f /var/log/ufw.log
قوانین اخیرا اضافه شده را ببینید:
sudo ufw show added
در این آموزش نحوه نصب و پیکربندی UFW در CentOS را توضیح دادیم. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، برای دیدن باقی آموزش ها میتوانید وارد منوی پشتیبانی بخش آموزش ها شوید، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.