firewall به درستی تنظیم شده یکی از مهمترین جنبه های امنیت کلی سیستم است. به طور پیش فرض ، اوبونتو از یک ابزار پیکربندی firewall به نام UFW مخفف (Uncomplicated Firewall) استفاده می کند. در اين مقاله تنظیم firewall با UFW در اوبونتو ۱۸٫۰۴ را آموزش مي دهيم. با ما در شتابان هاست همراه باشيد.
قبل از شروع تنظیم firewall با UFW ، ابتدا اطمینان حاصل کنید که با یک حساب کاربری با امتیازات sudo یا با کاربر root وارد سرور خود شده اید. بهترین روش اجرای دستورات اداری به عنوان کاربر sudo به جای root است.
firewall بدون عارضه باید به طور پیش فرض در اوبونتو ۱۸٫۰۴ نصب شود ، اما اگر روی سیستم شما نصب نشده باشد ، می توانید بسته را با تایپ کردن نصب کنید:
sudo apt install ufw
پس از اتمام نصب ، می توانید وضعیت UFW را با دستور زیر بررسی کنید:
sudo ufw status verbose
UFW به طور پیش فرض غیرفعال است. اگر قبلاً UFW را فعال نکرده باشید ، خروجی به این شکل ظاهر می شود:
Status: inactive
اگر UFW فعال شود ، خروجی شبیه به موارد زیر خواهد بود:
به طور پیش فرض ، UFW تمام اتصالات ورودی را مسدود می کند و به همه اتصالات خروجی اجازه می دهد. این بدان معناست که هرکسی که سعی در دسترسی به سرور شما داشته باشد قادر به اتصال نخواهد بود مگر اینکه شما به طور خاص پورت را باز کنید ، در حالی که تمام برنامه ها و سرویس های در حال اجرا روی سرور شما قادر به دسترسی به دنیای خارج خواهند بود.
سیاست های پیش فرض در فايل / etc / default / ufw تعریف شده اند و می توانند با استفاده از دستور پیش فرض sudo ufw <policy> <chain> تغییر کنند.
سیاست های فایروال پایه و اساس ایجاد قوانین دقیق تر و تعریف شده توسط کاربر است. در بیشتر موارد ، خط مشی پیش فرض UFW نقطه شروع خوبی است.
هنگام نصب بسته با دستور apt ، یک پروفایل برنامه به فهرست /etc/ufw/applications.d اضافه می کند. مشخصات این سرویس را توصیف کرده و حاوی تنظیمات UFW است.
با تایپ کردن می توانید تمام پروفایل های برنامه موجود در سرور خود را لیست کنید:
sudo ufw app list
بسته به بسته های نصب شده روی سیستم شما ، خروجی شبیه به موارد زیر خواهد بود:
Available applications: Dovecot IMAP Dovecot POP3 Dovecot Secure IMAP Dovecot Secure POP3 Nginx Full Nginx HTTP Nginx HTTPS OpenSSH Postfix Postfix SMTPS Postfix Submission
برای یافتن اطلاعات بیشتر در مورد یک پروفایل خاص و قوانین شامل ، از دستور زیر استفاده کنید:
sudo ufw app info 'Nginx Full'
Profile: Nginx Full Title: Web Server (Nginx, HTTP + HTTPS) Description: Small, but very powerful and efficient web server Ports: ۸۰,۴۴۳/tcp
همانطور که از خروجی بالای نمایه “Nginx Full” می بینید ، پورت ۸۰ و ۴۴۳ باز می شود.
قبل از فعال کردن فایروال UFW ، باید یک قاعده اضافه کنیم که اتصالات SSH ورودی را امکان پذیر می کند. اگر از مکانی از راه دور به سرور خود متصل می شوید ، که تقریباً همیشه اینگونه است و قبل از اینکه صریحاً به اتصالات SSH ورودی اجازه دهید صریحاً UFW را فعال کنید ، دیگر نمی توانید به سرور Ubuntu خود متصل شوید.
برای پیکربندی فایروال UFW خود برای اتصال اتصالات SSH ، دستور زیر را تایپ کنید:
sudo ufw allow ssh
Rules updated Rules updated (v6)
اگر پورت SSH را به جای پورت ۲۲ به یک پورت دلخواه تغییر داده اید ، باید آن پورت را باز کنید.
به عنوان مثال ، اگر سیم کارت ssh شما پورت ۴۴۲۲ را گوش می دهد ، می توانید از دستور زیر استفاده کنید تا بتوانید اتصالات را در آن پورت قرار دهید:
sudo ufw allow 4422/tcp
اکنون که firewall 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 را بزنید.
اتصال به پورت های دیگر
بسته به برنامه های کاربردی روی سرور شما و نیازهای خاص شما ، باید دسترسی ورودی به برخی از پورت های دیگر نیز داشته باشید.
در زیر چند مثال در مورد چگونگی امکان برقراری اتصالات ورودی به برخی از خدمات متداول به شما نشان خواهیم داد:
پورت ۸۰ – HTTP را باز کنید
اتصالات HTTP با دستور زیر مجاز است:
sudo ufw allow http
اتصالات HTTP با دستور زیر مجاز است:
sudo ufw allow http
به جای http می توانید از شماره پورت ۸۰ استفاده کنید:
sudo ufw allow 80/tcp
یا می توانید از پروفایل برنامه ، در این حالت ، “Nginx HTTP” استفاده کنید:
sudo ufw allow 'Nginx HTTP'
درگاه باز ۴۴۳ – HTTPS
اتصالات HTTP با دستور زیر مجاز است:
sudo ufw allow https
برای دستیابی به یکسان به جای نمایه https می توانید از شماره پورت ۴۴۳ استفاده کنید:
sudo ufw allow 443/tcp
یا می توانید از پروفایل برنامه ، “Nginx HTTPS” استفاده کنید:
sudo ufw allow 'Nginx HTTPS'
پورت باز ۸۰۸۰
اگر Tomcat یا برنامه دیگری را که در درگاه ۸۰۸۰ گوش می دهد اجرا کنید اجازه می دهد نوع اتصالات ورودی:
sudo ufw allow 8080/tcp
مجاز به Ranges
UFW به جای اجازه دسترسی به پورت های واحد ، به ما این امکان را می دهد تا به محدوده پورت دسترسی داشته باشیم. هنگام اجازه دادن دامنه Ranges با UFW ، باید پروتکل را مشخص کنید ، یا tcp یا udp. به عنوان مثال ، اگر می خواهید در هر دو tcp و udp به پورت های ۷۱۰۰ تا ۷۲۰۰ اجازه دهید ، دستور زیر را اجرا کنید:
sudo ufw allow 7100:7200/tcp
sudo ufw allow 7100:7200/udp
برای دسترسی به همه پورت های دستگاه منزل خود با آدرس IP 64.63.62.61 ، آدرس IP خود را که می خواهید لیست سفید کنید ، دنبال کنید:
sudo ufw allow from 64.63.62.61
مجاز به آدرس IP خاص در پورت خاص
برای دسترسی به پورت خاص ، اجازه دهید پورت ۲۲ را از دستگاه کار خود با آدرس 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
اجازه اتصال به یک رابط شبکه خاص
برای دسترسی به پورت خاص ، اجازه دهید پورت ۳۳۶۰ را فقط به رابط شبکه خاص eth2 بگوییم ، پس باید مجوز و نام رابط شبکه را مشخص کنید:
sudo ufw allow in on eth2 to any port 3306
اتصالات را رد کنید
خط مشی پیش فرض برای همه اتصالات ورودی انکار خواهد شد و اگر آنرا تغییر نکرده اید ، UFW تمام اتصال های ورودی را مسدود می کند مگر اینکه شما به طور خاص اتصال را باز کنید.
بیایید بگوییم که شما پورت های ۸۰ و ۴۴۳ را باز کرده اید و سرور شما از شبکه ۲۳٫۲۴٫۲۵٫۰/۲۴ مورد حمله قرار گرفته است. برای انکار همه اتصالات از ۲۳٫۲۴٫۲۵٫۰/۲۴ می توانید از دستور زیر استفاده کنید:
sudo ufw deny from 23.24.25.0/24
اگر می خواهید دسترسی از پورت های ۸۰ و ۴۴۳ را از ۲۳٫۲۴٫۲۵٫۰/۲۴ محروم کنید می توانید از دستور زیر استفاده کنید:
sudo ufw deny from 23.24.25.0/24 to any port 80
sudo ufw deny from 23.24.25.0/24 to any port 443
دو روش مختلف برای حذف قوانین UFW ، با شماره قانون و با تعیین قانون واقعی وجود دارد.
حذف قوانین UFW با شماره قانون آسانتر است به خصوص اگر تازه وارد 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 را متوقف کنید و کلیه قوانینی را که می توانید استفاده کنید غیرفعال کنید:
sudo ufw disable
اگر می خواهید UTF را دوباره فعال کنید و کلیه قوانین را فعال کنید ، فقط تایپ کنید:
sudo ufw enable
تنظیم مجدد UFW ، UFW را غیرفعال می کند و کلیه قوانین فعال را حذف می کند. اگر می خواهید همه تغییرات خود را برگردانید و تازه شروع کنید ، این کار مفید است.
برای تنظیم مجدد UFW ، دستور زیر را تایپ کنید:
sudo ufw reset
ما به شما نحوه تنظیم firewall با UFW در اوبونتو ۱۸٫۰۴ را آموزش داديم. ما را در شتابان هاست همراه باشيد.