آموزش نصب فایروال UFW در اوبونتو 20.04 Ubuntu
فایروال ابزاری برای نظارت و فیلتر کردن ترافیک شبکه ورودی و خروجی است. اوبونتو با یک ابزار پیکربندی فایروال به نام UFW کار می کند. UFW یک جلوی کاربرپسند برای مدیریت قوانین فایروال iptables است. هدف اصلی آن آسانتر کردن مدیریت فایروال است. در این مقاله آموزش نصب UFW برای پیکربندی و مدیریت فایروال در اوبونتو 20.04 ubuntu شرح داده شده است.
پیش نیازها
فقط یوزر root یا کاربران دارای امتیازات sudo می توانند فایروال سیستم را مدیریت کنند.
یک راز بزرگ درمورد 90 % هاستینگ های ایرانی، اورسل کردن بیش از حد است که باعث افت کیفیت سرورها میشود.
وان سرور با ارائه دسترسی های مختلف این امکان را به شما خواهد داد که تمامی منابع سرورتان را مدیریت و بررسی کنید و همچنین با ارائه گارانتی 100% برگشت وجه ریسک خرید شما را به %0 کاهش میدهد.
نصب فایروال UFW در اوبونتو 20.04 Ubuntu
UFW بخشی از نصب استاندارد اوبونتو 20.04 است و باید در سیستم شما نصب باشد. اگر به دلایلی نصب نشده است ، می توانید بسته را با تایپ کردن دستورات زیر نصب کنید:
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>
تغییر یابند.
پروفایل برنامه ها
پروفایل برنامه یک پرونده متنی با فرمت 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’ پورت 80
و 443
باز می کند.
خروجی:
Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server
Ports:
80,443/tcp
همچنین می توانید پروفایل های دلخواه خود را برای برنامه های خود ایجاد کنید.
فعال کردن UFW
برای پیکربندی فایروال UFW خود برای اتصال به SSH ، دستور زیر را تایپ کنید:
sudo ufw allow ssh
خروجی:
Rules updated
Rules updated (v6)
اگر SSH روی پورتی بغیر از 22 کار می کند ، باید آن پورت را باز کنید.
به عنوان مثال ، اگر ssh شما روی پورت 7722
است، دستور زیر را وارد کنید تا اتصالات در آن پورت مجاز شود:
sudo ufw allow 7722/tcp
اکنون که دیوار آتش تنظیم شده است تا اتصالات 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
بزنید.
باز کردن پورت ها
بسته به برنامه هایی که روی سیستم اجرا می شوند ، ممکن است شما نیاز به باز کردن پورت های دیگر نیز داشته باشید. روش عمومی برای باز کردن پورت به شرح زیر است:
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'
UFW همچنین از روش دیگری برای تعیین پروتکل با استفاده از proto
پشتیبانی می کند:
sudo ufw allow proto tcp to any port 80
محدوده پورت
UFW همچنین به شما امکان می دهد محدوده پورت را باز کنید. پورت های شروع و انتها توسط یک ( :
) جدا می شوند ، و شما باید پروتکل را مشخص کنید ، یا tcp
یا udp
است.
برای مثال، اگر شما می خواهید اجازه استفاده از پورت 7100
تا 7200
در هر دو پروتکل 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
و به دنبال آن شماره پورت استفاده کنید.
به عنوان مثال برای اجازه دسترسی به پورت22
از یک دستگاه دارای آدرس IP 64.63.62.61
، وارد کنید:
sudo ufw allow from 64.63.62.61 to any port 22
سابنت ها
روش اجازه به برقراری اتصال به یک سابنت همانند IP آدرس است . تنها تفاوت این است که شما باید netmask را مشخص کنید.
در مثال زیر، نشان میدهد که چگونه به آی پی آدرس ها از رنج192.168.1.1
تا 192.168.1.254
در پورت 3360
(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
استفاده باید کرد.
فرض کنیم شما پورت باز 80
و 443
را باز کرده اید و سرور شما از 23.24.25.0/24
مورد حمله قرار گرفت. برای جلوگیری از اتصالات از طریق 23.24.25.0/24
شما ، دستور زیر را اجرا می کنید:
sudo ufw deny from 23.24.25.0/24
اینجا یک مثال از عدم دسترسی به پورت 80
و 443
از 23.24.25.0/24
را نشان میدهیم. شما می توانید از دستور زیر استفاده کنید:
sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443
حذف قوانین UFW
دو روش مختلف برای حذف قوانین UFW توسط شماره رول و با تعیین رول وجود دارد.
حذف قوانین توسط شماره رول آسانتر است ، به خصوص هنگامی که در UFW تازه وارد هستید. برای حذف یک قانون توسط شماره رول، ابتدا باید شماره قانونی را که می خواهید حذف کنید پیدا کنید. برای به دست آوردن لیستی از شماره های ، از دستورufw status numbered
استفاده کنید :
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
، وارد کنید:
sudo ufw delete 3
روش دوم حذف یک قانون با مشخص کردن قانون واقعی است. به عنوان مثال اگر یک قاعده برای باز کردن پورت اضافه 8069
کردید می توانید آن را با موارد زیر حذف کنید:
sudo ufw delete allow 8069
غیرفعال کردن UFW
اگر به هر دلیلی می خواهید UFW را متوقف کنید و کلیه قوانینی را که می توانید استفاده کنید غیرفعال کنید:
sudo ufw disable
بعداً اگر می خواهید UFW و کلیه قوانین را دوباره فعال کنید، فقط تایپ کنید:
sudo ufw enable
ریست کردن UFW
تنظیم مجدد UFW ، UFW را غیرفعال می کند و کلیه قوانین فعال را حذف می کند. اگر می خواهید همه تغییرات خود را برگردانید و تازه شروع کنید ، این کار مفید است.
برای تنظیم مجدد UFW ، دستور زیر را تایپ کنید:
sudo ufw reset
نتیجه گیری
ما به شما نشان داده ایم که چگونه فایروال UFW را روی سرور Ubuntu 20.04 خود نصب و پیکربندی کنید. حتماً تمام اتصالات ورودی را که برای عملکرد صحیح سیستم شما ضروری است ، اجازه دهید ضمن اینکه تمام اتصالات غیر ضروری را محدود کنید.
برای اطلاعات بیشتر در مورد این موضوع ، به صفحه Man UFW مراجعه کنید .
اولین نفر باشید که نظر ارسال میکنید