ufw مخفف عبارت Uncomplicated Firewall به معنای فایروال آسان می باشد و از آنجایی که کار با این فایروال ساده میباشد، به همین دلیل این نام را برای آن انتخاب کرده اند. این فایروال به تنظیم رول های iptables به صورت خودکار روی سرور/ماشین شما میپردازد و به عنوان یک سرویس در سرور شما بکار گرفته میشود. این فایروال در ماشین مجازی و سرور لینوکس توزیع دبین و اوبونتو از پیش نصب شده و قابل استفاده می باشد. همچنین در توزیع CentOS نیز امکان استفاده از این فایروال وجود دارد اما بصورت پیشفرض نصب نشده است.

ufw چیست ؟

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

فایروال آسان (UFW) یک مدیر فایروال است که برای استفاده آسان طراحی شده است. از یک رابط خط فرمان متشکل از تعداد محدودی دستورات ساده استفاده می کند. فایروال ufw از حدود ده سال پیش در تمامی توزیع های دبیان بیس و اوبونتو بصورت پیشفرض نصب است اما در توزیع های دیگر همچون CentOS اینطور نیست. این ابزار نقش فرانت اند iptables را دارد که قوانین فایروال را برای آدرس IPv4 و IPv6 تنظیم می کند.

Gufw

Gufw به عنوان یک رابط کاربری گرافیکی آسان و بصری برای مدیریت فایروال ufw در نظر گرفته شده است. این برنامه از وظایف رایج مانند اجازه دادن یا مسدود کردن پورت ها، P2P مشترک یا پورت های جداگانه پشتیبانی می کند. Gufw برای اوبونتو طراحی شده است، اما در توزیع‌های مبتنی بر Debian و در Arch Linux نیز موجود است. هر جایی که پایتون، GTK و UFW در دسترس باشد این ابزار نیز در دسترس خواهد بود. ما در این مقاله با کامند لاین ufw کار خواهیم کرد و با برنامه گرافیکی آن کاری نخواهیم داشت.

آموزش نصب فایروال ufw

در این نقطه از مقاله، قصد داریم نصب فایروال ufw را به شما آموزش بدهیم. این فایروال همانطور که گفته شد در توزیع های اوبونتو و دبیان بصورت پیشفرض نصب می باشد اما بعضی مواقع نیاز است مجدد آن را نصب کنید یا reinstall کنید. آموزش نصب این فایروال در سنت او اس نیز در پایین آورده شده است.

نصب در CentOS

در اولین قدم مطمئن شوید دسترسی روت به سرور را دارید. سپس سرور خود را آپدیت و آپگرید کنید.

sudo yum update -y && sudo yum upgrade -y

در ادامه، میبایستی پکیچ ufw را از مخازن دانلود و نصب کنید. برای توزیع سنت او اس ابتدا نیاز است EPEL را نصب و سپس از طریق آن ufw را نصب کنیم، برای انجام این کار کامند زیر را وارد کنید.

sudo yum install epel-release

در قدم بعدی، جهت نصب ufw از طریق epel کامند زیر را وارد کنید.

sudo yum install --enablerepo="epel" ufw

پس از اتمام پردازش و نصب، جهت اطمینان از نصب ufw کامند زیر را وارد کنید. با وارد کردن این کامند، در صورتی که ufw بصورت صحیح نصب شده باشد، میبایستی ورژن ufw به شما نمایش داده شود.

ufw --version

نصب در Debian و Ubuntu

نصب ufw در اوبونتو و دبیان بیس ها بسیار راحت می باشد و دیگر نیازی به استفاده از epel نیست. ابتدا سرور خود را آپگرید و آپدیت کنید.

sudo apt update -y && sudo apt upgrade -y

پس از آپدیت سرور، کامند زیر را جهت نصب ufw وارد بفرمایید.

sudo apt install ufw

همانند بخش قبل، جهت اطمینان از نصب ufw کامند زیر را وارد کنید.

ufw --version

آموزش کار با ufw

پس از نصب ufw و یا نصب لینوکس جدید، این فایروال بصورت پیشفرض غیرفعال است و در حالت inactive قرار دارد. جهت چک کردن وضعیت ufw از کامند زیر استفاده بفرمایید. این کامند همچنین لیستی از قوانین موجود در فایروال را به شما نشان می دهد.

sudo ufw status

جهت فعال کردن فایروال ufw از کامند زیر استفاده کنید.

sudo ufw enable

پس از وارد کردن کامند بالا، در صورتی که با ssh به سرور متصل شده باشید سوال زیر از شما پرسیده می شود و نیاز است به آن پاسخ بدهید. این سوال مربوط به کانکشن ssh شما می باشد.

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

برخی قوانین در فایروال ها، منجر به قطع ارتباطات، دراپ کردن ترافیک برخی پورت ها و بلاک کردن برخی آیپی ها می شوند و این سوال همین موضوع را اخطار می دهد. این اخطار در رابطه با قطع شدن کانکشن ssh فعلی می باشد. در حالت پیشفرض ufw هیچ قانونی ندارد که شامل این موارد باشد. اگر ufw شما از قبل کانفیگ شده است در این مرحله n بزنید و کانفیگ آن را بررسی کنید. در صورتی که به تازگی ufw نصب شده و کانفیگ نشده است، در این مرحله می توانید y بزنید.

جهت غیرفعال کردن فایروال ufw از کامند زیر استفاده کنید.

sudo ufw disable

برای ریلود کردن ufw می توانید از کامند زیر استفاده کنید.

sudo ufw reload

در صورتی که تمایل دارید ufw را ریست بزنید از کلمه کلیدی reset استفاده کنید. با انجام اینکار، تمامی قوانین ufw حذف و به حالت پیشفرض بر میگردد.

sudo ufw reset

باز و بستن پورت ها

برای بازکردن پورت ها می توانید از ۳ کامند زیر استفاده کنید. توضیحات مورد نیاز و تفاوت آنها جلوی هر کامند نوشته شده است. در تمامی مراحل پایین می توانید به جای شماره پورت، از نام سرویس استفاده کنید. به عنوان مثال می توانید از نام سرویس SSH به جای پورت ۲۲ استفاده کنید.

sudo ufw allow 22/tcp # Allow port 22 in tcp protocol

sudo ufw allow 22/udp # Allow port 22 in udp protocol

sudo ufw allow 22 # Allow port 22

جهت باز کردن یک رنج پورت نیز، می توانید از ۲ کامند زیر استفاده بفرمایید.

sudo ufw allow 1:65535/tcp # Allow ports 1 to 65535 in tcp protocol

sudo ufw allow 1:65535/udp # Allow ports 1 to 65535 in udp protocol

همانند باز کردن یک پورت، برای بستن یک پورت نیز ۳ کامند وجود دارد.

sudo ufw deny 22/tcp # Deny port 22 in tcp protocol

sudo ufw deny 22/udp # Deny port 22 in udp protocol

sudo ufw deny 22 # Deny port 22

برای بستن یک رنج پورت نیز، از کامند های باز کردن یک رنج پورت می توانید استفاده کنید. صرفا به جای کلمه allow کلمه deny را به کار ببرید. مانند مثال های زیر :

sudo ufw deny 1:65535/tcp # Deny ports 1 to 65535 in tcp protocol

sudo ufw deny 1:65535/udp # Deny ports 1 to 65535 in udp protocol

پروفایل برنامه ها

هر بسته نرم افزاری که با دستور apt نصب می شود، یک پروفایل برنامه در /etc/ufw/applications دارد. این پروفایل، اطلاعاتی در مورد نرم افزار و تنظیمات UFW آن در دل خود دارد. خروجی اطلاعات پروفایل، توضیحی کوتاه در مورد برنامه و پورت هایی را که برنامه استفاده می کند نشان می دهد. برای مشاهده لیست پروفایل برنامه ها، از کامند زیر استفاده کنید.

sudo ufw app list

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

sudo ufw app info 'SSH'

خروجی شامل نام پروفایل، عنوان، توضیحات و قوانین فایروال خواهد بود.

بلاک و آنبلاک کردن آیپی ها در ufw

برای بلاک کردن یک آیپی از کامند زیر استفاده کنید. به خاطر داشته باشید میبایستی به جای ۱۹۲.۱۶۸.۱.۱ آیپی موردنظر خود را وارد کنید.

sudo ufw deny from 192.168.1.1

جهت آنبلاک کردن یک آیپی نیز کامند زیر را با تغییر ۱۹۲.۱۶۸.۱.۱ به آیپی موردنظر وارد کنید.

sudo ufw allow from 192.168.1.1

برای اینکه دسترسی یک آیپی را صرفا به یک پورت خاص باز کنید، از کامند زیر استفاده کنید. در کامند زیر ما دسترسی آیپی ۱۹۲.۱۶۸.۱.۱ را صرفا به پورت ۲۲ باز می کنیم.

sudo ufw allow from 192.168.1.1 to any port 22

لازم به ذکر است ذکر کنیم که فایل کانفیگ ufw در آدرس زیر وجود دارد. در صورت نیاز به تغییر تنظیمات، میبایستی به این فایل مراجعه کنید.

/etc/default/ufw

حذف یک قانون قدیمی

همانطور که ذکر شد، برای مشاهده لیست قوانین موجود می توانید از کامند ufw status استفاده کنید. اما این کامند شماره یا همان آیدی قوانین را نمایش نمی دهد. جهت مشاهده قوانین موجود به همراه آیدی از کامند زیر استفاده کنید.

sudo ufw status numbered

پس از وارد کردن کامند بالا، ستونی به سمت چپ قوانین اضافه می شود که اعدادی را نمایش میدهد. این ستون، آیدی قوانین را نمایش می دهد. قانون مورد نظر خود را پیدا کنید و آیدی آن را به خاطر بسپارید. برای حذف یک قانون از کامند زیر استفاده کنید و عدد ۱ را با آیدی مورد نظر خود جایگزین کنید.

sudo ufw delete 1

پس از وارد کردن این کامند، از شما تاییدیه حذف گرفته می شود و سپس قانون مورد نظر حذف خواهد شد.

امیدواریم از این آموزش استفاده لازم را برده باشید.