راه اندازی FireWall روی اوبونتو (UFW)

با سلام و درود، از این به بعد بیشتر ما اینجور آموزش ها در خدمتتون خواهم بود 🙂 تو این آموزش هم به بحث فایروال – FireWall در لینوکس اوبونتو به صورت پایه ای و اولیه خواهم پرداخت.

سرور های اوبونتو ۱۸.۰۴ می توانند از فایروال UFW جهت اطمینان از connection به سرویس هایشان استفاده کنند. با استفاده از این اپلیکیشن خیلی راحت می تونیم به تنظیم اولیه فایروال بپردازیم.

اپلیکیشن های مختلف را میشه پروفایلشان را در UFW ثبت کنیم تا بعدا بشه به وسیله UFW و نام اپلیکیشن ها آنها را مدیریت کنیم.

برای لیست کردن اپلیکیشن هایی که ثبتشان توسط UFW امکان پذیر است از دستور زیر می توان استفاده کرد:

ufw app list

که در تصویر بالا مشخص است اول از همه باید از sudo برای اجرای این دستور استفاده کرد و خروجی را نیز در تصویر فوق می بینید

Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

بر فرض میخواهیم مطمین شویم که فایروال اجازه اتصلات Apache را به ما می دهد.

نکته اول تفاوت بین سه آپاچی که در اپلیکیشن های در دسترس آورد:

  • Apache : این پروفایل فقط پورت ۸۰ را باز می کند .
  • Apache Full : این پروفایل هر دو پورت ۸۰ و ۴۴۳ را باز می کند. (پورت ۸۰، ترافیک وب رمزگذاری نشده , و پورت ۴۴۳، ترافیک رمزنگاری شده TLS/SSL)
  • Apache Secure : تنها پورت ۴۴۳ را باز می کند.

برای اجازه باید از دستور زیر استفاده کنیم :

sudo ufw allow 'Apache'

با استفاده از دستور زیر نیز می توان وضعیت را بررسی کرد:

sudo ufw status

اینجا هم می تونید نگاهی به انجمن UFW بندازید.

اجازه یا بستن rule های مشخص (Allow and Deny)

برای allow یا deny کافیه از دستورات زیر استفاده کنید:

sudo ufw allow <port>/<optional: protocol>

برای مثال فرض کنید قصد allow یا deny کردن packet های tcp از پورت ۵۳ را داریم :

sudo ufw allow 53/tcp
sudo ufw deny 53/udp

تو تصویر زیر مثال فوق را انجام دادم:

حذف کردن Rule های موجود در UFW :

sudo ufw deny 53/tcp
sudo ufw delete deny 53/tcp

اجازه دسترسی:

برای ان منظور کافیست از دستور زیر استفاده کنید (اجازه دسترسی به یک IP مشخص در فایروال اوبونتو) :

sudo ufw allow from <ip address>

اگرم subnet دارید باز فرقی نمیکنه، به مثال زیر توجه کنید :

sudo ufw allow from 192.168.1.0/24

یکم تخصصی ترش کنیم 🙂 فرض کنید میخواهیم دسترسی به پورت و پرتکل مشخصی را به یک IP دهیم، به دستورات زیر توجه کنید:

sudo ufw allow from <target> to <destination> port <port number>

sudo ufw allow from <target> to <destination> port <port number> proto <protocol name>

حال به دو تا مثال زیر توجه کنید:

 ufw allow from 192.168.1.14 to any port 53

sudo ufw allow from 192.168.1.14 to any port 53 proto tcp

نکته مهم این هست که قوانینی که برای فایروال وضع می کنید، قانون اول و بالایی باید قانون خاص شما باشد و قوانین بعدی باید قوانین عام باشند.

برای مثال میخواهیم دسترسی به پورت ۵۳ را از سمت 192.168.1.101 و 192.168.1.14 را ببنیدیم، منتهی تمامی IPهای 192.168.1.x به پورت ۵۳ با ساتفاده از tcp دسترسی داشته باشند.

sudo ufw deny from 192.168.1.14 to any port 53
sudo ufw deny from 192.168.1.101 to any port 53
sudo ufw allow from 192.168.1.0/24 to any port 53 proto tcp