یک فایروال با کانفیگ مناسب یکی از مهمترین جنبه های امنیت کلی سیستم است. UFW یک جلوه ی کاربر پسند برای مدیریت قوانین فایروال iptables است. هدف اصلی آن آسانتر کردن مدیریت iptables یا همانطور که از نام آن مشخص است، ساده بودن است. در این مقاله با ما همراه باشید تا به شما عزیزان نحوه راه اندازی فایروال با UFW در Debian 10 را توضیح دهیم.
پیش نیارها:
فقط root یا کاربر با امتیازات sudo می تواند فایروال سیستم را مدیریت کند.
نصب UFW :
برای نصب بسته ufw دستور زیر را وارد کنید:
sudo apt updatesudo apt install ufw
بررسی وضعیت UFW :
UFW به طور پیش فرض غیرفعال است. با تایپ کردن دستور زیر می توانید وضعیت UFW را بررسی کنید:
sudo ufw status verbose
خروجی به شکل دستور زیر خواهد بود:
Status: inactive سیاست های پیش فرض UFW :
به طور پیش فرض، UFW همه اتصالات ورودی را مسدود می کند و به همه اتصالات خروجی اجازه می دهد. این بدان معناست که هر کسی که سعی در دسترسی به سرور شما داشته باشد، نمی تواند متصل شود مگر اینکه به طور خاص پورت را باز کنید. برنامه ها و سرویس های در حال اجرا بر روی سرور قادر خواهند بود به دنیای خارج دسترسی داشته باشند. سیاستهای پیشفرض در فایل /etc/default/ufw تعریف شدهاند و با استفاده از دستور sudo ufw default <policy> <chain> قابل تغییر هستند. سیاست های فایروال پایه ای برای ایجاد قوانین پیچیده تر و تعریف شده توسط کاربر هستند. به طور کلی، سیاست های پیش فرض UFW نقطه شروع خوبی هستند.
پروفایل های برنامه :
اکثر برنامه ها با یک پروفایل برنامه ای که سرویس را توصیف می کند ارسال می شوند و شامل تنظیمات UFW هستند. پروفایل به طور خودکار در دایرکتوری نصب /etc/ufw/applications.d ایجاد می شود. با تایپ کردن با دستور زیر می توانید تمام پروفایل های برنامه موجود در سرور خود را لیست کنید:
sudo ufw utf --help Available applications:
DNS
IMAP
IMAPS
OpenSSH
POP3
POP3S
Postfix
Postfix SMTPS
Postfix Submission
... برای یافتن اطلاعات بیشتر در مورد یک پروفایل خاص و قوانین شامل، از دستور app info و به دنبال آن نام پروفایل استفاده کنید. به عنوان مثال برای به دست آوردن اطلاعاتی درباره مشخصات OpenSSH که استفاده می کنید، از دستور زیر استفاده کنید:
sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.
Port:
22/tcp خروجی شامل نام پروفایل، عنوان، توضیحات و قوانین فایروال است.
مجاز به اتصالات SSH :
قبل از فعال کردن فایروال UFW، ابتدا باید اتصالات SSH ورودی را مجاز کنید. اگر به صورت ریموت به سرور خود متصل می شوید، اگر اجازه اتصال به SSH ورودی را ندهید، دیگر قادر به اتصال به سرور Debian خود نخواهید بود. برای کانفیگ فایروال UFW خود برای پذیرش اتصالات SSH، دستور زیر را اجرا کنید:
sudo ufw allow OpenSSH Rules updated
Rules updated (v6) sudo ufw allow 7722/tcp
فعال کردن UFW :
اکنون که فایروال UFW کانفیگ شده است و به اتصالات 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 را مختل کند. “y” را تایپ کرده و “Enter” را فشار دهید.
باز کردن پورت ها :
باز کردن پورت 80 – HTTP :
اتصالات HTTP را مجاز کنید:
sudo ufw allow http
به جای پروفایل http، می توانید از شماره پورت 80 استفاده کنید:
sudo ufw allow 80/tcp
باز کردن پورت 443 – HTTPS :
اتصالات HTTPS را مجاز کنید:
sudo ufw allow https
همچنین می توانید از شماره پورت 443 استفاده کنید:
sudo ufw allow 443/tcp
باز کردن پورت 8080 :
اگر از Tomcat یا هر برنامه دیگری را که از پورت 8080 استفاده میکند، استفاده میکنید باید پورت را باز کنید:
sudo ufw allow 8080/tcp باز کردن رنج پورت :
با استفاده از UFW، همچنین می توانید به محدوده پورت دسترسی داشته باشید. هنگام باز کردن دامنه، باید پروتکل پورت را مشخص کنید. به عنوان مثال، برای اجازه دادن پورت های 7100 تا 7200 در دو پروتکل tcp و udp، دستور زیر را اجرا کنید:
sudo ufw allow 7100:7200/tcpsudo ufw allow 7100:7200/udp اجازه دادن به یک IP خاص :
برای اجازه دسترسی به تمام پورت ها از یک آدرس IP خاص، از دستور ufw allow from و سپس آن آدرس IP استفاده کنید:
sudo ufw allow from 64.63.62.61 اجازه دادن آدرس های IP خاص در پورت خاص :
sudo ufw allow from 64.63.62.61 to any port 22
اجازه دادن به زیرشبکه ها :
sudo ufw allow from 192.168.1.0/24 to any port 3306
اجازه اتصال به یک کارت شبکه خاص :
برای اجازه دسترسی به یک پورت خاص، مثلاً پورت 3360 فقط به کارت شبکه eth2، از allow in on و نام کارت شبکه استفاده کنید:
sudo ufw allow in on eth2 to any port 3306
رد اتصالات :
sudo ufw deny from 23.24.25.0/24
اگر فقط می خواهید دسترسی به پورت های 80 و 443 را از 23.24.25.0/24 رد کنید، از دستور زیر استفاده کنید:
sudo ufw deny from 23.24.25.0/24 to any port 80sudo ufw deny from 23.24.25.0/24 to any port 443
حذف قوانین UFW :
دو روش مختلف برای حذف قوانین UFW وجود دارد. یکی با شماره قانون و دیگری با مشخص کردن قانون واقعی است. حذف قوانین UFW با شماره قانون ساده تر است، به خصوص اگر در UFW تازه کار هستید. برای حذف یک قانون با شماره آن، ابتدا باید شماره قانونی را که می خواهید حذف کنید پیدا کنید. برای انجام این کار، دستور زیر را اجرا کنید:
sudo ufw status numbered Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 8080/tcp ALLOW IN Anywhere برای حذف قانون شماره 3، قانونی که اجازه اتصال به پورت 8080 را می دهد، می توانید از دستور زیر استفاده کنید:
sudo ufw delete 3 روش دوم حذف یک قانون با مشخص کردن قانون واقعی است. به عنوان مثال ، اگر برای باز کردن پورت 8069 قانونی اضافه کرده اید، می توانید آن را با دستورات زیر حذف کنید:
sudo ufw delete allow 8069 غیرفعال کردن UFW :
sudo ufw disable sudo ufw enable ریست کردن UFW :
تنظیم مجدد UFW ،UFW را غیرفعال می کند و کلیه قوانین فعال را حذف می کند. اگر می خواهید همه تغییرات خود را برگردانید و دوباره شروع کنید ، این کار مفید است. برای بازنشانی UFW کافیست دستور زیر را تایپ کنید:
sudo ufw reset
جمع بندی :
شما یاد گرفته اید که چگونه فایروال UFW را روی دستگاه Debian 10 خود نصب و کانفیگ کنید. اطمینان حاصل کنید که به تمام اتصالات ورودی که برای عملکرد صحیح سیستم شما ضروری هستند اجازه دهید و در عین حال تمام اتصالات غیر ضروری را محدود کنید
