آموزش کانفیگ فایروال با UFW در اوبونتو 18.04 - وان سرور آکـادمی
آموزش کانفیگ فایروال با UFW در اوبونتو 18.04
آموزش کانفیگ فایروال با UFW در اوبونتو 18.04

آموزش کانفیگ فایروال با UFW در اوبونتو 18.04

زمان تقریبی مطالعه: 6 دقیقه

آموزش کانفیگ فایروال با UFW در اوبونتو 18.04

فایروال به درستی کانفیگ شده یکی از مهمترین جنبه های امنیت سیستم است. به طور پیش فرض، اوبونتو با یک ابزار پیکربندی فایروال به نام UFW (Uncomplicated Firewall) همراه است. UFW یک سرپناهی کاربر پسند برای مدیریت قوانین فایروال iptables است و هدف اصلی آن این است که iptables را مدیریت کنید و یا به راحتی آن را مدیریت کنید.

پیش نیازها

قبل از شروع این آموزش، مطمئن شوید که شما با یک حساب کاربری با امتیازات sudo یا با کاربر ریشه وارد سرور خود می شوید. بهترین روش این است که دستورات اداری را به عنوان یک کاربر sudo به جای ریشه اجرا کنید. اگر شما یک کاربر sudo در سیستم اوبونتو ندارید، می توانید با دنبال کردن این دستورالعمل ها را ایجاد کنید .

UFW را نصب کنید

فایروال غیر عادی باید به طور پیش فرض در اوبونتو 18.04 نصب شود، اما اگر آن را در سیستم شما نصب نکنید، می توانید بسته را با تایپ کردن نصب کنید:

sudo apt install ufw 

وضعیت UFW را بررسی کنید

پس از اتمام نصب، می توانید وضعیت UFW را با دستور زیر بررسی کنید:

 sudo ufw status verbose 

UFW به طور پیش فرض غیر فعال است. اگر پیش از این هرگز UFW را فعال نکردید، خروجی مانند این خواهد بود:

 Status: inactive 

اگر UFW فعال باشد، خروجی شبیه به موارد زیر خواهد بود:

آموزش کانفیگ فایروال با UFW در اوبونتو 18.04
آموزش کانفیگ فایروال با UFW در اوبونتو 18.04

سیاست های پیش فرض UFW

به طور پیش فرض، UFW همه اتصالات ورودی را مسدود کرده و تمام اتصالات خروجی را اجازه می دهد. این بدان معنی است که هر کسی که در تلاش برای دسترسی به سرور شما قادر به اتصال نیست، مگر آنکه به طور خاص پورت را باز کنید، در حالی که تمام برنامه های کاربردی و خدماتی که در سرور شما اجرا می شوند، قادر به دسترسی به دنیای خارج خواهند بود.

خط مشی های پیش فرض در /etc/default/ufw تعریف شده است و می تواند با استفاده از دستور sudo ufw default <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: 80,443/tcp 

همانطور که می بینید از خروجی بالای نمای Nginx Full پورت 80 و 443 باز می شود.

اجازه اتصال SSH

قبل از اینکه فایروال UFW را فعال کنیم، باید یک قاعده را که به اتصال SSH های ورودی اجازه می دهد اضافه کنیم. اگر شما از یک مکان از راه دور به سرور خود وصل شده اید، تقریبا همیشه این کار را انجام می دهید و قبل از اینکه به طور صریح اجازه اتصال SSH های ورودی را فعال کنید، فایروال UFW را فعال کنید، دیگر نمی توانید به سرور اوبونتو متصل شوید.

برای پیکربندی فایروال UFW برای اجازه دادن به اتصالات SSH ورودی، دستور زیر را تایپ کنید:

 sudo ufw allow ssh 
 Rules updated Rules updated (v6) 

اگر پورت SSH را به پورت دیگری تغییر داده این، آن را در فایروال باز کنید.

برای مثال، اگر پورت SSH شما 4422 است، می توانید از دستور زیر برای اتصال به آن پورت استفاده کنید:

 sudo ufw allow 4422/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 

یا شما می توانید از مشخصات برنامه، در این مورد، ‘Nginx HTTP’ استفاده کنید:

 sudo ufw allow 'Nginx HTTP' 

پورت 443 – HTTPS را باز کنید

اتصالات HTTP با دستور زیر امکان پذیر است:

 sudo ufw allow https 

برای به دست آوردن همان به جای پروفایل https شما می توانید از شماره پورت، 443 :

 sudo ufw allow 443/tcp 

یا شما می توانید از پروفایل برنامه، ‘Nginx HTTPS’ استفاده کنید:

 sudo ufw allow 'Nginx HTTPS' 

پورت 8080 را باز کنید

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

 sudo ufw allow 8080/tcp 

اجازه رنج پورت

به جای دسترسی به پورت های مجاز UFW اجازه می دهد ما اجازه دسترسی به رنج های پورت را داشته باشیم. هنگامی که اجازه می دهد رنج های پورت با UFW، شما باید پروتکل را مشخص کنید، یا tcp یا udp . برای مثال، اگر شما می خواهید پورت ها را از 7100 به 7200 در هر دو tcp و udp بگذارید، دستور زیر را اجرا کنید:

 sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp 

درصورتی که با انجام این مراحل مشکل دارید، با خرید سرورمجازی از وان سرور، کلیه این خدمات را برای شما به صورت رایگان انجام می دهیم.

اجازه دادن به آدرس های خاص IP

برای اجازه دادن به دسترسی در تمام پورت ها از دستگاه خانگی خود با آدرس IP 64.63.62.61، بعد از آدرس IP که می خواهید به لیست سفید مشخص کنید، مشخص کنید:

 sudo ufw allow from 64.63.62.61 

اجازه دادن به IP های خاص در پورت خاص

برای اجازه دادن به دسترسی به یک پورت خاص، می توان پورت 22 را از دستگاه کار خود با آدرس IP 64.63.62.61 استفاده کرد، to any port که شماره پورت آن است استفاده می شود:

 sudo ufw allow from 64.63.62.61 to any port 22 

اجازه دادن به زیر شبکه ها

فرمان برای اجازه اتصال به زیر شبکه از آدرس های IP همانند استفاده از یک آدرس IP واحد است، تنها تفاوت این است که شما باید mask netmask را مشخص کنید. به عنوان مثال، اگر می خواهید اجازه دسترسی به آدرس های IP را از 192.168.1.1 به 192.168.1.254 را به پورت 3360 ( MySQL ) بدهید، می توانید از این دستور استفاده کنید:

 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 

رد ارتباطات

خط مشی پیش فرض برای تمام اتصالات ورودی تنظیم شده است که deny و اگر شما آن را تغییر نداده اید، UFW تمام اتصال های ورودی را مسدود می کند مگر اینکه به طور خاص اتصال را باز کنید.

بگذارید بگوییم شما پورت 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 from 23.24.25.0/24 to any port 80 sudo ufw deny from 23.24.25.0/24 to any port 443 

نوشتن قوانین انکار همان چیزی است که نوشتن اجازه می دهد قوانین، شما فقط باید جایگزین allow با deny .

قوانین 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 2 

روش دوم این است که یک حقیقت را با مشخص کردن قاعده واقعی حذف کنید، مثلا اگر یک قانون برای باز کردن پورت 8069 کردید، می توانید آن را با:

 sudo ufw delete allow 8069 

غیرفعال UFW

اگر به هر دلیلی می خواهید UFW را متوقف کنید و تمامی قوانینی را که می توانید استفاده کنید غیرفعال کنید:

 sudo ufw disable 

بعدا اگر میخواهید مجدد UTF را فعال کنید و تمام قوانین را فعال کنید، فقط تایپ کنید:

 sudo ufw enable 

تنظیم مجدد UFW

تنظیم مجدد UFW UFW را غیرفعال می کند و تمامی قوانین فعال را حذف می کند. این کار مفید است اگر شما می خواهید تمام تغییرات خود را لغو کنید و تازه شروع کنید.

برای بازنشانی UFW به سادگی در فرمان زیر تایپ کنید:

 sudo ufw reset 

نتیجه

شما یاد گرفته اید که چگونه فایروال UFW را بر روی سرور اوبونتو 18.04 نصب و پیکربندی کنید. اطمینان حاصل کنید که تمام اتصالات ورودی که برای عملکرد مناسب سیستم شما لازم است و تمام اتصلات غیرضروری را محدود کنید. همچنین درصورت نیاز به غیر فعال کردن فایروال در اوبنتو 18.04 مقاله ما را مطالعه کنید.

اولین نفری باشید که از آموزشها و تخفیفهای ویژه با خبر میشوید 😉
با عضویت در خبرنامه از 80 درصد تخفیف بهره مند شوید

Rate this post