تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

آموزش نصب و راه‌اندازی فایروال UFW در سرور مجازی اوبونتو به زبان ساده


۳۱ فروردین ۱۴۰۴

UFW یا همان فایروال ساده‌شده، یک رابط کاربری برای iptables است که هدف آن ساده‌سازی فرآیند پیکربندی فایروال می‌باشد. iptables ابزار قوی و انعطاف‌پذیر است، اما یادگیری نحوه استفاده صحیح از آن برای تنظیم فایروال می‌تواند برای مبتدیان بسیار چالش‌برانگیز باشد. اگر قصد دارید شبکه‌تان را ایمن کنید و مطمئن نیستید که از چه ابزاری استفاده کنید، UFW گزینه مناسبی برای شما خواهد بود.

در این مطلب از لیارا نحوه راه‌اندازی فایروال با استفاده از UFW در سیستم‌عامل اوبونتو را به شما آموزش خواهیم داد.

با سرور ابونتو لیارا، بدون دردسر سرور خود را تنها با چند کلیک مدیریت کنید.
✅ منابع کاملاً اختصاصی و پایدار✅ سرعت بالا و ترافیک نامحدود✅ امنیت پیشرفته و پشتیبانی 24/7
خرید و راه‌اندازی سرور اوبونتو ساعتی لیارا

آنچه در ادامه خواهید خواند:

  • پیش نیاز ها
  • راه اندازی فایروال های اوبونتو با UFW
  • مرحله اول: فعال بودن IPv6
  • مرحله دوم: تنظیم سیاست های پیش فرض
  • مرحله سوم: مجاز کردن اتصالات SSH
  • مرحله چهارم: فعال‌سازی UFW
  • مرحله پنجم: مجاز کردن اتصلات دیگر
  • مرحله ششم: مسدود کردن اتصلات
  • مرحله هفتم: حذف قوانین
  • مرحله هشتم: بررسی وضعیت و قوانین UFW
  • مرحله نهم: غیر فعال سازی یا بازنشانی فایروال
  • سوالات متداول
  • جمع بندی
فایروال UFW

پیش نیاز ها

اگر از نسخه‌های پایین‌تر استفاده می‌کنید به شما پیشنهاد می‌کنیم که ابتدا آن را به نسخه جدیدتر به‌روز‌رسانی کنید، زیرا اوبونتو دیگر از نسخه‌های قدیمی پشتیبانی نمی‌کند. برای اینکه بتوانید این آموزش را انجام دهید به موارد زیر نیاز خواهید داشت.

  • یک سروری که قابلیت اجرای اوبونتو را داشته باشد و یک کاربر غیر روت با دسترسی‌های sudo برای راهنمایی در خصوص تنظیم این موارد در اختیار داشته باشید.
  • UFW به‌صورت پیش‌فرض در اوبونتو نصب شده است. اگر به هر دلیلی این ابزار حذف شده باشد، می‌توانید با استفاده از دستور زیر آن را نصب کنید:
sudo apt install ufw

راه اندازی فایروال های اوبونتو با UFW

  • فعال‌سازی IPv6
  • تنظیم سیاست‌های پیش‌فرض
  • مجوز دادن به اتصالات SSH
  • فعال‌سازی UFW
  • مجوز دادن به سایر اتصالات مورد نیاز
  • مسدود کردن اتصالات
  • حذف قوانین فایروال
  • بررسی وضعیت و قوانین UFW
  • غیرفعال‌سازی یا بازنشانی فایروال در اوبونتو

مرحله اول: فعال بودن IPv6

در نسخه‌های اخیر اوبونتو، IPv6 به‌صورت پیش‌فرض فعال شده است. این به این معنا است که بیشتر قوانین فایروالی که به سرور اضافه می‌شود، شامل نسخه‌های IPv4 و IPv6 خواهند بود. برای اطمینان از فعال بودن IPv6، می‌توانید فایل پیکربندی UFW را در مسیر /etc/default/ufw بررسی کنید.

برای باز کردن این فایل، از ویرایشگر خط فرمان مورد نظر خود استفاده کنید. به‌عنوان مثال:

sudo nano /etc/default/ufw

سپس مطمئن شوید که مقدار IPV6 برابر با yes باشد. مانند کد زیر باشد.

IPV6=yes

سپس فایل را ذخیره کرده و ببندید. اگر از nano استفاده می‌کنید، با فشردن CTRL+X، سپس Y و ENTER برای تایید، فایل را ذخیره کنید. وقتی UFW در مراحل بعدی این راهنما فعال شود، به صورت خودکار قوانین فایروال برای هر دو نسخه IPv4 و IPv6 نوشته خواهد شد.

راهنمای نصب و پیکربندی فایروال CSF در اوبونتو
نصب و پیکربندی فایروال CSF در اوبونتو

مرحله دوم: تنظیم سیاست های پیش فرض

اگر به‌تازگی با UFW آشنا شده‌اید، اولین قدمی که باید در این مسیر بردارید، بررسی سیاست‌های پیش‌فرض فایروال است. این قوانین مشخص می‌کنند که با ترافیکی که به‌صورت صریح با هیچ‌کدام از قوانین دیگر مطابقت ندارد، چگونه رفتار شود.

به‌صورت پیش‌فرض، UFW به‌گونه‌ای تنظیم شده است که تمامی اتصالات ورودی را مسدود کرده و تمام اتصالات خروجی را مجاز می‌کند. یعنی هیچ‌کس اجازه اتصال به سرور شما را نخواهد داشت. این در حالی است که هر برنامه‌ای که در داخل سرور اجرا می‌شود، می‌تواند به سایر منابع دسترسی داشته باشد. قوانین اضافی برای اجازه دادن به سرویس‌ها و پورت‌های خاص، به‌عنوان استثنایی بر این سیاست عمومی تنظیم می‌شوند.

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

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

sudo ufw default deny incoming

خروجی باید به‌صورت زیر به شما نمایش داده شود.

Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)

نکته: به یاد داشته باشید که حتما قوانین خود را به‌روز‌رسانی کنید.

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

sudo ufw default allow outgoing

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

Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

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

آشنایی با قوانین و دستورات رایج فایروال (UFW)
قوانین و دستورات رایج فایروال (UFW)

مرحله سوم: مجاز کردن اتصالات SSH

اگر UFW خود را در ابتدا کار فعال کنید، امکان دارد که تمامی اتصالات ورودی شما مسدود شود و باید برای حل این مشکل قوانینی را بسازید تا اتصالات معتبر ورودی مانند اتصالات SSH یا HTTP به درستی مجاز شوند، تا سرور شما بتواند به این نوع درخواست‌ها پاسخ دهد. اگر از یک سرور ابری استفاده می‌کنید، احتمالا باید اتصالات SSH ورودی را مجاز کنید تا بتوانید به سرور خود متصل شوید و آن را مدیریت کنید.

مجاز کردن پروفایل اپلیکیشن OpenSSH

هنگام نصب، بیشتر اپلیکیشن‌هایی که به اتصالات شبکه‌ای نیاز دارند، یک پروفایل اپلیکیشن در UFW ثبت می‌کنند که به کاربران این امکان را می‌دهد تا دسترسی خارجی به یک سرویس را به راحتی مجاز یا مسدود کنند. برای مشاهده پروفایل‌های ثبت‌شده در UFW می‌توانید از دستور زیر استفاده کنید:

sudo ufw app list

خروجی زیر را باید به شما نمایش دهد.

Available applications:
  OpenSSH

برای مجاز کردن پروفایل اپلیکیشن OpenSSH، دستور زیر را اجرا کنید:

sudo ufw allow OpenSSH

خروجی زیر را باید مشاهده کنید.

Rule added
Rule added (v6)

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

مجاز کردن SSH با استفاده از نام سرویس

راه دیگری که می‌توانید برای تنظیم UFW و مجاز کردن اتصالات SSH ورودی از آن استفاده کنید، سرویس SSH است. برای این کار دستور زیر را اجرا کنید:

sudo ufw allow ssh

خروجی کار به صورت زیر است.

Rule added
Rule added (v6)

مجاز کردن SSH با استفاده از شماره پورت

روش دیگر این است که قانون معادل را با مشخص کردن شماره‌ پورت به‌جای پروفایل اپلیکیشن یا نام سرویس بنویسید. به‌عنوان مثال، دستور زیر همانند مثال‌های قبلی عمل می‌کند:

sudo ufw allow 22

خروجی زیر را به شما نمایش خواهد داد.

Rule added
Rule added (v6)

اگر سرویس SSH شما بر روی پورت دیگری پیکربندی شده باشد، باید پورت مناسب را مشخص کنید. به‌عنوان مثال، اگر سرویس SSH شما روی پورت 2222 اجرا شود، می‌توانید از دستور زیر برای مجاز کردن اتصالات به این پورت استفاده کنید:

sudo ufw allow 2222

بعد از اجرای آن خروجی زیر را مشاهده خواهید کرد.

Rule added
Rule added (v6)

دیگر فایروال شما برای مجاز کردن اتصالات SSH ورودی پیکربندی شده است، می‌توانید آن را فعال کنید.

همین الان، بدون کمترین پیچیدگی، سرور مجازی خودتون رو در کمتر از ۳۰ ثانیه، راه‌اندازی کنید.
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه به‌صرفه
خرید سرور مجازی ابری

“برای آشنایی بیشتر با امکانات و ویژگی‌های سرور مجازی ابری لیارا، همین حالا ویدیو «آشنایی با سرور مجازی ابری لیارا» را در آپارات تماشا کنید و اولین قدم به سمت مدیریت بهتر سرور خود را بردارید!”

مرحله چهارم: فعال‌سازی UFW

در این قسمت باید فایروال شما به‌گونه‌ای پیکربندی شود که اتصالات SSH را مجاز کند. برای بررسی قوانینی که تاکنون اضافه شده‌اند، حتی زمانی‌که فایروال شما غیرفعال است، می‌توانید از دستور زیر استفاده کنید:

sudo ufw show added 

خروجی کار.

Added user rules (see 'ufw status' for running firewall):
ufw allow OpenSSH

بعد از اطمینان از اینکه قانون مجاز کردن اتصالات SSH ورودی اضافه شده است، می‌توانید فایروال را با دستور زیر فعال کنید:

sudo ufw enable

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

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

در این مرحله، امکان دارد پیامی دریافت کنید که می‌گوید این دستور ممکن است اتصالات SSH موجود را قطع کند. چون شما قبلاً قانونی برای مجاز کردن اتصالات SSH تنظیم کرده‌اید، مشکلی برای ادامه عملیات وجود ندارد. به پیغام نمایش‌داده‌شده پاسخ دهید و با وارد کردن y و فشردن کلید ENTER ادامه دهید.

حال فایروال شما فعال شده است. برای مشاهده قوانین تنظیم‌شده، دستور زیر را اجرا کنید:

sudo ufw status verbose
آموزش نصب برنامه React با استفاده از Nginx بر روی سرور مجازی Ubuntu
نصب برنامه React با استفاده از Nginx بر روی سرور مجازی Ubuntu

مرحله پنجم: مجاز کردن اتصالات دیگر

در این مرحله، شما باید تمامی اتصالات دیگری که سرور شما به آن نیاز دارد را مجاز کنید. نوع اتصالاتی که باید مجاز شوند بستگی به نیازهای شما دارد. در مراحل قبلی یاد گرفتید که چگونه قوانین را برای مجاز کردن اتصالات بر اساس پروفایل اپلیکیشن، نام سرویس یا شماره پورت بنویسید. به عنوان مثال، همین فرآیند را برای SSH در پورت 22 انجام دادید. حالا می‌توانید همین فرآیند را برای سایر اتصالات انجام دهید.

  • HTTP در پورت 80 (که برای وب‌سرورهای بدون رمزنگاری استفاده می‌شود): برای مجاز کردن آن از دستور sudo ufw allow http یا sudo ufw allow 80 استفاده کنید.
  • HTTPS در پورت 443 (که برای وب‌سرورهای با رمزنگاری استفاده می‌شود): برای مجاز کردن آن از دستور sudo ufw allow https یا sudo ufw allow 443 استفاده کنید.
  • Apache با هر دو پروتکل HTTP و HTTPS: برای مجاز کردن آن از دستور sudo ufw allow 'Apache Full' استفاده کنید.
  • Nginx با هر دو پروتکل HTTP و HTTPS: برای مجاز کردن آن از دستور sudo ufw allow 'Nginx Full' استفاده کنید.

فراموش نکنید که برای بررسی پروفایل‌های اپلیکیشن موجود برای سرور خود از دستور sudo ufw app list استفاده کنید.

رنج های پروت خاص

می‌توانید رنج‌های پورت را با استفاده از UFW مشخص کنید. برخی از برنامه‌ها از چندین پورت به جای یک پورت واحد استفاده می‌کنند. به عنوان مثال، برای مجاز کردن اتصالات X11 که از پورت‌های 6000 تا 6007 استفاده می‌کنند، می‌توانید از دستورات زیر استفاده کنید:

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

زمانی که رنج‌های پورت‌ها را مشخص می‌کنید، باید پروتکل‌ها (TCP یا UDP) را نیز مشخص کنید. عدم مشخص کردن پروتکل‌ها به صورت پیش‌فرض هر دو پروتکل را مجاز می‌کند و در بیشتر موارد مشکلی ایجاد نمی‌کند.

آدرس های IP خاص

زمانی که با UFW کار می‌کنید، آدرس IP های خاصی را در قوانین خود مشخص کنید. به عنوان مثال، اگر قصد داشتید که اتصالات از یک آدرسIP خاصی را در قوانین خود را مانند 203.0.113.4 مجاز کنید، باید از پارامتر from استفاده کنید و آدرس IP مورد نظر را وارد کنید:

sudo ufw allow from 203.0.113.4

خروجی زیر را مشاهده خواهید کرد.

Rule added

همچین می‌توانید پورتی را که در مورد IP مجاز است به آن متصل شود. به عنوان مثال اگر بخواهید IP مورد نظر به پورت 22 (SSH) متصل شود، دستور زیر را وارد کنید.

sudo ufw allow from 203.0.113.4 to any port 22

خروجی زیر را به شما نمایش خواهد داد.

Rule added

زیر شبکه ها

اگر نیاز داشتید که از آدرس‌های IP مجاز استفاده کنید، می‌توانید از نوشتار CIDR برای مشخص کردن ماسک شبکه‌تان استفاده کنید. به عنوان مثال، اگر بخواهید تمامی آدرس‌های IP بین 203.0.113.1 تا 203.0.113.254 را مجاز کنید، می‌توانید از دستور زیر استفاده کنید.

sudo ufw allow from 203.0.113.0/24

خروجی کار به صورت زیر خواهد بود.

Rule added

همچنین می‌توانید پورتی که از زیرشبکه 203.0.113.0/24 استفاده می‌کند را مشخص کنید. به عنوان مثال، اگر بخواهید این زیرشبکه را به پورت 22 (SSH) متصل کنید، باید از دستور زیر استفاده کنید:

sudo ufw allow from 203.0.113.0/24 to any port 22

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

Rule added

اتصالات به یک رابط شبکه خاص

اگر نیاز داشتید که برای فایروال خود قوانینی را ایجاد کنید که فقط یک رابط شبکه خاصی را اعمال کند، می‌توانید از دستور allow in on به همراه نام رابط شبکه این کار را انجام دهید.

امکان دارد که نیاز داشته باشید که رابطه‌های شبکه خود را بررسی کنید. برای این کار از دستور زیر بهره ببرید.

ip addr

خروجی نمونه کار.

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 یا enp3s2 هستند. اگر سرور شما رابط شبکه عمومی به نام eth0 را دارد، می‌توانید ترافیک HTTP پورت 80 را برای آن با دستور زیر مجاز کنید.

sudo ufw allow in on eth0 to any port 80

خروجی کار.

Rule added
Rule added (v6)

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

اگر بخواهید سرور پایگاه داده MySQL شما پورت 3306 را تنها بر روی رابط شبکه خصوصی eth1 انجام دهد، از دستور زیر استفاده کنید.

sudo ufw allow in on eth1 to any port 3306

خروجی قابل مشاهده.

Rule added
Rule added (v6)
آموزش نصب Odoo با Docker روی سرور مجازی Ubuntu
نصب Odoo با Docker روی سرور مجازی Ubuntu

مرحله ششم: مسدود کردن اتصلات

اگر هنوز سیاست پیش‌فرض برای اتصالات ورودی را تغییر نداده‌اید، UFW به صورت پیش‌فرض تمامی اتصالات ورودی را مسدود می‌کند. این موقعیت کلی فرآیند ساخت یک سیاست فایروال امن را ساده‌تر می‌کند، زیرا شما باید قوانین خاصی را ایجاد کنید که پورت‌ها و آدرس‌های IP مشخصی را مجاز کند. با وجود این موضوعات، گاهی اوقات نیاز است که اتصالات خاصی را بر اساس آدرس‌های IP یا شبکه مسدود کنید. به‌خصوص اگر بدانید که سرور شما تحت حمله قرار گرفته است.

همچنین اگر بخواهید به یک سایت پیش‌فرض اجازه دهید (که به شما پیشنهاد نمی‌شود)، باید قوانین مسدودسازی را برای هر سرویس یا آدرس IP که نمی‌خواهید اتصالات به آن‌ها برقرار شود، ایجاد کنید. برای نوشتن قوانین مسدودسازی، می‌توانید از دستورات قبلی استفاده کنید و تنها گزینه Allow را به Deny جایگزین کنید.

به عنوان مثال: اگر بخواهید اتصالات HTTP را مسدود کنید، می‌توانید از دستور زیر استفاده کنید.

sudo ufw deny http

خروجی قابل مشاهده برای شما به صورت زیر خواهد بود.

Rule added
Rule added (v6)

اگر قصد داشتید که تمامی اتصالات را از آدرس IP های خاصی مانند 203.0.113.4 را مسدود کنید، می‌توانید از دستور زیر استفاده کنید.

  sudo ufw deny from 203.0.113.4

خروجی کار.

Rule added

در برخی موارد، ممکن است بخواهید اتصالات خروجی از سرور را نیز مسدود کنید. برای مسدود کردن تمام ارتباطات خروجی از یک پورت خاص بر روی سرور، مانند پورت 25 برای ترافیک SMTP، می‌توانید از دستور deny out به همراه شماره پورت استفاده کنید:

sudo ufw deny out 25

خروجی به صورت زیر خواهد بود.

Rule added
Rule added (v6)

این دستور تمام ترافیک خروجی SMTP را بر روی سرور مسدود خواهد کرد.

همین حالا، فایل‌های خودتون رو در فضایی سریع، پایدار و مقیاس‌پذیر ذخیره کنید.
✅ سازگار با Amazon S3 ✅ عملکرد بالا ✅۲.۵ گیگ فضای رایگان
خرید فضای ذخیره‌سازی ابری

مرحله هفتم: حذف قوانین

در این مرحله می‌خواهیم قوانینی که ایجاد کرده‌ایم را حذف کنیم. دو روش اصلی برای مشخص کردن قوانینی که می‌خواهید آن‌ها را حذف کنید وجود دارد: بر اساس شماره قانون یا بر اساس نام قابل‌فهم آن (مشابه با نحوه‌ای که قوانین هنگام ایجاد آن‌ها مشخص می‌شوند).

حذف قانون UFW بر اساس شماره

برای حذف یک قانون ufw بر اساس شماره، ابتدا باید لیست شماره دار از تمام قوانین فایروال خود را بدست بیاورید. دستور وضعیت UFW این قابلیت را دارد که شماره کنار هر قانون نمایش دهد، همانطور که در ادامه به شما نشان خواهیم داد.

sudo ufw status numbered

خروجی حذف قانون UFW بر اساس شماره به صورت زیر می‌باشد.

Status: active

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

اگر قصد داشتید که قانون شماره 2 را که اجازه اتصال پورت 80 HTTP را به شما می‌دهد را حذف کنید، می‌توانید آن را در دستور حذف UFW به شکل زیر مشخص کنید.

sudo ufw delete 2

خروجی قابل مشاهده.

Deleting:
 allow 80
Proceed with operation (y|n)? y
Rule deleted

این دستور از شما تأیید می‌خواهد و سپس قانون شماره 2 که اتصالات HTTP را مجاز می‌کند، حذف می‌شود. توجه داشته باشید که اگر IPv6 فعال باشد، باید قانون IPv6 مربوطه را نیز حذف کنید.

حذف قانون UFW بر اساس نام

به جای استفاده از شماره‌های قانون، می‌توانید قانون را با نام قابل فهم آن که معمولاً شامل نوع قانون (معمولاً allow یا deny) و نام سرویس یا شماره پورت هدف قانون است مشخص کنید. به عنوان مثال، اگر بخواهید قانون مجاز کردن پروفایل برنامه‌ای به نام Apache Full را که قبلاً فعال کرده‌اید، حذف کنید، می‌توانید از دستور زیر استفاده کنید:

sudo ufw delete allow "Apache Full"

خروجی حذف قانون UFW بر اساس نام به صورت زیر می‌باشد.

Rule deleted
Rule deleted (v6)

دستور حذف به همین شیوه برای قوانینی که با استفاده از نام سرویس یا پورت ایجاد شده‌اند، عمل می‌کند. برای مثال، اگر قبلاً قانونی برای مجاز کردن اتصالات HTTP با دستور sudo ufw allow http ایجاد کرده‌اید، می‌توانید آن را به این شکل حذف کنید:

sudo ufw delete allow http

خروجی به صورت زیر خواهد بود.

Rule deleted
Rule deleted (v6)

به دلیل اینکه نام سرویس‌ها به جای شماره پورت‌ها در قوانین استفاده می‌شود، می‌توانید همان قانون را به صورت allow 80 نیز اشاره کنید، به جای allow http از دستور زیر استفاده کنید.

sudo ufw delete allow 80

خروجی که به شما نمایش می‌دهد.

Rule deleted
Rule deleted (v6)
راهنمای انتخاب بهترین سیاست فایروال برای حفاظت از سرورها
انتخاب بهترین سیاست فایروال برای حفاظت از سرورها

مرحله هشتم: بررسی وضعیت و قوانین UFW

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

sudo ufw status verbose

اگر UFW غیر فعال باشد، که به صورت پیش‌فرض هم همینطور است، خروجی مشابه زیر خواهد بود.

Status: inactive

اما اگر فایروال فعال باشد (که اگر مرحله ۳ را انجام داده باشید، باید فعال باشد)، در خروجی اعلام می‌شود که UFW فعال است و تمام قوانینی که تنظیم کرده‌اید نیز نمایش داده می‌شود. به عنوان مثال، اگر فایروال طوری تنظیم شده باشد که اجازه اتصال SSH (پورت ۲۲) از هر آدرسی را بدهد، خروجی ممکن است به شکل زیر باشد:

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

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

برای مشاهده و بررسی وضعیت کلی قوانین فعلی UFW، می‌توانید از دستور بالا استفاده کنید.

آموزش نصب سرور OpenLiteSpeed روی سرور مجازی Ubuntu 22.04
نصب سرور OpenLiteSpeed روی سرور مجازی Ubuntu 22.04

مرحله نهم: غیر فعال سازی یا بازنشانی فایروال

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

sudo ufw disable

خروجی کار به صورت زیر خواهد بود.

Firewall stopped and disabled on system startup

با این کار، تمام قوانینی که با UFW تعریف شده‌اند دیگر فعال نخواهند بود. در صورت نیاز، می‌توان هر زمان با دستور sudo ufw enable فایروال را دوباره فعال کرد.

در صورتی که قبلاً قوانینی را با UFW تعریف کرده‌اید اما می‌خواهید همه‌چیز را از ابتدا تنظیم کنید، می‌توانید از دستور بازنشانی استفاده کنید:

sudo ufw reset

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

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'user.rules' to '/etc/ufw/user.rules.20210729_170353'
Backing up 'before.rules' to '/etc/ufw/before.rules.20210729_170353'
Backing up 'after.rules' to '/etc/ufw/after.rules.20210729_170353'
Backing up 'user6.rules' to '/etc/ufw/user6.rules.20210729_170353'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20210729_170353'
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20210729_170353'

این دستور باعث می‌شود که UFW شما غیر فعال شود و تمام قوانینی که قبلا تعریف کرده‌اید را حذف کند. در واقع یک شروع دیگر برای پیکربندی فایروال در اختیار خواهید داشت. البته باید توجه داشته باشید که اگر پیش از این سیاست‌های پیش‌فرض را تغییر داده باشید، با این دستور به حالت اولبه بر نخواهد گشت.

سوالات متداول

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

آیا با فعال کردن UFW اتصال SSH من قطع می‌شود؟

خیر، اگر قبل از فعال‌سازی UFW، دستوری مانند sudo ufw allow OpenSSH را اجرا کرده باشید، اتصال SSH شما حفظ می‌شود و مشکلی ایجاد نمی‌شود.

چطور می‌توانم ببینم چه قوانینی روی فایروال تعریف شده است؟

با اجرای دستور sudo ufw status verbose می‌توانید تمام قوانین فعال و وضعیت کلی فایروال را مشاهده کنید.

آیا می‌تونم فقط از یک آی‌ پی خاص اجازه دسترسی بدم؟

بله، می‌تونید با دستور sudo ufw allow from [IP address] فقط به یک آی‌پی خاص اجازه اتصال بدید. همچنین می‌تونید پورت مشخصی را هم برای آن آی‌پی تعریف کنید.

چطور می‌تونم یک قانون اشتباه رو حذف کنم؟

برای حذف قوانین، می‌توانید از دستور sudo ufw delete [rule] استفاده کنید. این rule می‌تواند شماره‌دار باشد (sudo ufw status numbered) یا به‌صورت نام سرویس مثل allow http باشد.

تفاوت allow و deny در UFW چیه؟

دستور allow اجازه‌ دسترسی به یک پورت یا سرویس خاص را می‌دهد، ولی دستور deny آن اتصال را مسدود می‌کند. به‌صورت پیش‌فرض، UFW همه‌ی ارتباط‌های ورودی را مسدود می‌کند، مگر اینکه شما اجازه‌ خاصی را صادر کرده باشید.

نگاهی عمیق به معماری Iptables و Netfilter
معماری Iptables و Netfilter

جمع بندی

فایروال UFW ابزاری بسیار ساده و کاربردی برای مدیریت امنیت سرور در لینوکس است که با چند دستور قابل تنظیم است. با استفاده از آن می‌توانید به راحتی اتصال‌های مجاز و غیر مجاز را مشخص و از حملات احتمالی جلوگیری کنید. این ابزار به خصوص برای کسانی که به دنبال کنترل بیشتر بر پورت‌ها و دسترسی‌های شبکه هستند، بسیار مفید و مهم است. در انتها، رعایت دقت در تعریف قوانین UFW نقش مهمی در حفظ امنیت سرور را دارد. پس در آن با دقت عمل کنید.