
نحوه راه اندازی فایروال با UFW در اوبونتو ۲۰٫۰۴
فایروال ابزاری برای نظارت و فیلتر کردن ترافیک شبکه ورودی و خروجی است. این کار با تعریف مجموعه ای از قوانین امنیتی تعیین می کند که اجازه دهد یا ترافیک خاصی را مسدود کند. اوبونتو با یک ابزار کانفیگ فایروال به نام UFW کار می کند. این یک front-end کاربر پسند برای مدیریت قوانین فایروال iptables است. هدف اصلی آن آسانتر کردن مدیریت فایروال است. در این مقاله با ما همراه باشید تا به شما عزیزان نحوه استفاده از ابزار UFW برای کانفیگ و مدیریت فایروال در اوبونتو ۲۰٫۰۴ را شرح دهیم. یک فایروال با کانفیگ مناسب یکی از مهمترین جنبه های امنیت کلی سیستم است.
پیش نیازها:
فقط root یا کاربران با امتیازات sudo می توانند فایروال سیستم را مدیریت کنند. بهترین روش اجرای وظایف مدیریتی به عنوان کاربر sudo است.
نصب UFW :
UFW بخشی از نصب استاندارد اوبونتو ۲۰٫۰۴ است و باید در سیستم شما نصب باشد. اگر به دلایلی نصب نشده است، می توانید بسته را با تایپ کردن دستورات زیر، نصب کنید:
sudo apt update
sudo apt install ufw
وضعیت UFW را بررسی کنید :
UFW به طور پیش فرض غیرفعال است. با دستور زیر می توانید وضعیت سرویس UFW را بررسی کنید:
sudo ufw status verbose
خروجی نشان می دهد که وضعیت فایروال غیر فعال است:
Status: inactive
اگر UFW فعال شود، خروجی به صورت تصویر زیر خواهد بود:
سیاست های پیش فرض UFW :
رفتار پیش فرض فایروال UFW مسدود کردن کلیه ترافیک شبکه ورودی و انتقال و اجازه دادن به ترافیک شبکه خروجی است. این بدان معناست که هرکسی که سعی در دسترسی به سرور شما داشته باشد قادر به اتصال نخواهد بود مگر اینکه شما به طور خاص پورت را باز کنید. برنامه ها و سرویس های در حال اجرا روی سرور شما قادر به دسترسی به خارج خواهند بود. سیاست های پیش فرض در فایل /etc/default/ufw تعریف شده و می توانند با تغییر دستی فایل یا با دستور sudo ufw default <policy> <chain> تغییر یابند. سیاست های فایروال پایه ای برای ایجاد قوانین پیچیده تر و تعریف شده توسط کاربر هستند. به طور کلی، سیاست های اولیه پیش فرض UFW نقطه شروع خوبی هستند.
پروفایل های برنامه :
پروفایل برنامه یک فایل متنی با فرمت INI است که خدمات را شرح می دهد و شامل قوانین فایروال برای سرویس است. پروفایل های برنامه در حین نصب بسته در دایرکتوری /etc/ufw/applications.d ایجاد می شوند. با تایپ کردن دستور زیر می توانید تمام پروفایل های برنامه موجود در سرور خود را لیست کنید:
sudo ufw app list
بسته به بسته های نصب شده روی سیستم شما، خروجی شبیه به دستورات زیر خواهد بود:
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
برای یافتن اطلاعات بیشتر در مورد یک پروفایل خاص و قوانین شامل، از دستور زیر استفاده کنید:
sudo ufw app info 'Nginx Full'
خروجی نشان می دهد که پروفایل ‘Nginx Full’ پورت ۸۰ و ۴۴۳ باز می کند.
Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server
Ports:
۸۰,۴۴۳/tcp
همچنین می توانید پروفایل های دلخواه خود را برای برنامه های خود ایجاد کنید.
فعال کردن UFW :
اگر به صورت ریموت به اوبونتو متصل می شوید، قبل از فعال کردن فایروال UFW، باید صریحاً به اتصالات SSH ورودی اجازه دهید. در غیر این صورت، دیگر نمی توانید به دستگاه متصل شوید. برای کانفیگ فایروال UFW خود برای اجازه دادن به اتصالات SSH ورودی، دستور زیر را تایپ کنید:
sudo ufw allow ssh
Rules updated
Rules updated (v6)
sudo ufw allow 7722/tcp
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 را بزنید.
باز کردن پورت ها :
بسته به برنامه هایی که روی سیستم اجرا می شوند، ممکن است شما نیاز به باز کردن پورت های دیگر نیز داشته باشید. دستور کلی برای باز کردن پورت به شرح زیر است:
ufw allow port_number/protocol
در زیر چند روش برای اجازه دادن به اتصالات HTTP وجود دارد. اولین گزینه استفاده از نام سرویس است. UFW فایل /etc/services را برای پورت و پروتکل سرویس مشخص شده بررسی می کند:
sudo ufw allow http
همچنین می توانید شماره پورت و پروتکل را مشخص کنید:
sudo ufw allow 80/tcp
وقتی هیچ پروتکلی داده نمی شود، UFW قوانینی را برای tcp و udp ایجاد می کند. گزینه دیگر استفاده از پروفایل برنامه است. در این مورد، Nginx HTTP است:
sudo ufw allow 'Nginx HTTP'
sudo ufw allow proto tcp to any port 80
محدوده پورت :
UFW همچنین به شما امکان می دهد محدوده پورت را باز کنید. پورت های شروع و انتها توسط یک (:) از هم جدا می شوند و شما باید پروتکل با tcp یا udp را مشخص کنید. برای مثال، اگر شما می خواهید اجازه استفاده از پورت ۷۱۰۰ تا ۷۲۰۰ در هر دو پروتکل tcp و udp را بدهید، می توانید دستور زیر را اجرا کنید:
sudo ufw allow 7100:7200/tcp
sudo ufw allow 7100:7200/udp
آدرس IP خاص و شماره پورت :
برای اجازه دادن به اتصالات روی همه پورت ها از یک IP منبع داده شده، از کلمه کلیدی from و به دنبال آن آدرس منبع استفاده کنید. در اینجا نمونه ای از قرار دادن یک آدرس IP در لیست سفید آورده شده است:
sudo ufw allow from 64.63.62.61
اگر می خواهید به آدرس IP داده شده فقط به یک پورت خاص اجازه دسترسی داشته باشید، از کلمه کلیدی to any port و سپس شماره پورت استفاده کنید. به عنوان مثال، برای اجازه دسترسی به پورت ۲۲ از دستگاهی با آدرس IP 64.63.62.61، وارد کنید:
sudo ufw allow from 64.63.62.61 to any port 22
زیرشبکه های :
روش اجازه دادن به اتصالات به یک زیرشبکه از آدرس های IP مشابه با استفاده از یک آدرس IP واحد است. تنها تفاوت این است که شما باید netmask را مشخص کنید. در مثال زیر، نشان میدهد که چگونه به IP آدرس ها از ۱۹۲٫۱۶۸٫۱٫۱ تا ۱۹۲٫۱۶۸٫۱٫۲۵۴ در پورت ۳۳۶۰ (MySQL)اجازه دسترسی داده شود:
sudo ufw allow from 192.168.1.0/24 to any port 3306
کارت شبکه خاص :
برای اجازه دادن به اتصالات در یک کارت شبکه خاص، از کلمه کلیدی in on و به دنبال آن نام کارت شبکه استفاده کنید:
sudo ufw allow in on eth2 to any port 3306
رد کردن اتصالات :
خط مشی پیش فرض برای همه اتصالات ورودی deny تنظیم شده است، و اگر آن را تغییر نداده اید، UFW تمام اتصالات ورودی را مسدود می کند مگر اینکه شما به طور خاص اتصال را باز کنید. نوشتن قوانین deny همان نوشتن قوانین allow است. شما فقط باید به جای allow از کلمه کلیدی deny استفاده کنید. فرض کنید پورت های ۸۰ و ۴۴۳ را باز کرده اید و سرور شما از سوی شبکه ۲۳٫۲۴٫۲۵٫۰/۲۴ مورد حمله بدافزارها قرار گرفته است. برای جلوگیری تمام اتصالات از ۲۳٫۲۴٫۲۵٫۰/۲۴، دستور زیر را اجرا کنید:
sudo ufw deny from 23.24.25.0/24
در اینجا یک مثال از عدم دسترسی به پورت های ۸۰ و ۴۴۳ از ۲۳٫۲۴٫۲۵٫۰/۲۴ آورده شده است که می توانید از دستور زیر استفاده کنید:
sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443
حذف قوانین UFW :
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ ۱] ۲۲/tcp ALLOW IN Anywhere
[ ۲] ۸۰/tcp ALLOW IN Anywhere
[ ۳] ۸۰۸۰/tcp ALLOW IN Anywhere
sudo ufw delete 3
sudo ufw delete allow 8069
غیرفعال کردن UFW :
اگر به هر دلیلی می خواهید UFW را متوقف کنید و تمام قوانین را غیرفعال کنید، می توانید از دستور زیر استفاده کنید:
sudo ufw disable
بعداً اگر میخواهید UTF را دوباره فعال کنید و همه قوانین را فعال کنید، فقط دستور زیر را تایپ کنید:
sudo ufw enable
ریست کردن UFW :
تنظیم مجدد UFW ،UFW را غیرفعال می کند و کلیه قوانین فعال را حذف می کند. اگر می خواهید همه تغییرات خود را برگردانید و تازه شروع کنید، این کار مفید است. برای تنظیم مجدد UFW، دستور زیر را تایپ کنید:
sudo ufw reset
IP Masquerading :
sudo nano /etc/ufw/sysctl.conf
net/ipv4/ip_forward=1
sudo nano /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
sudo nano /etc/ufw/before.rules
#NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]# Forward traffic through eth0 - Change to public network interface
-A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT
sudo ufw disable
sudo ufw enable
جمع بندی :
ما به شما نشان دادیم که چگونه یک فایروال UFW را روی سرور اوبونتو ۲۰٫۰۴ خود نصب و کانفیگ کنید. اطمینان حاصل کنید که به تمام اتصالات ورودی که برای عملکرد صحیح سیستم شما ضروری هستند اجازه دهید و در عین حال تمام اتصالات غیر ضروری را محدود کنید. برای اطلاعات بیشتر در مورد این موضوع، به صفحه Man UFW مراجعه کنید.
برچسب ها: دستورات لینوکس
ارسال دیدگاه جدید