Kā iestatīt UFW ugunsmūri Ubuntu un Debian


Pareizi funkcionējošs ugunsmūris ir vissvarīgākā pilnīgas Linux sistēmas drošības sastāvdaļa. Pēc noklusējuma Debian un Ubuntu izplatīšana ir aprīkota ar ugunsmūra konfigurācijas rīku, ko sauc par UFW (nekomplicētu ugunsmūri), tas ir vispopulārākais un viegli lietojamais komandrindas rīks ugunsmūra konfigurēšanai un pārvaldībai Ubuntu un Debian izplatījumos.

Šajā rakstā mēs paskaidrosim, kā instalēt un iestatīt UFW ugunsmūri Ubuntu un Debian izplatījumos.

Pirms sākat ar šo rakstu, pārliecinieties, vai esat pieteicies savā Ubuntu vai Debian serverī ar sudo lietotāju vai ar root kontu. Ja jums nav sudo lietotāja, varat to izveidot, izmantojot root lietotāja kā šīs instrukcijas.

# adduser username
# usermod -aG sudo username 
# su - username
$ sudo whoami

Instalējiet UFW ugunsmūri Ubuntu un Debian

UFW (Nekomplicēts ugunsmūris) pēc noklusējuma jāinstalē Ubuntu un Debian, ja nē, instalējiet to, izmantojot APT pakotņu pārvaldnieku, izmantojot šādu komandu.

$ sudo apt install ufw

Kad instalēšana ir pabeigta, jūs varat pārbaudīt UFW statusu, ierakstot.

$ sudo ufw status verbose

Pēc pirmās instalēšanas UFW ugunsmūris pēc noklusējuma ir atspējots, izeja būs līdzīga zemāk redzamajai.

Status: inactive

Jūs varat aktivizēt vai iespējot UFW ugunsmūri, izmantojot šādu komandu, kurai jāielādē ugunsmūris un jāuzsāk tā sāknēšana.

$ sudo ufw enable

Lai atspējotu UFW ugunsmūri, izmantojiet šo komandu, kas izlādē ugunsmūri un atspējo tā sākšanu sāknēšanas laikā.

$ sudo ufw disable 

Pēc noklusējuma UFW ugunsmūris liedz visus ienākošos savienojumus un atļauj visus izejošos savienojumus tikai ar serveri. Tas nozīmē, ka neviens nevar piekļūt jūsu serverim, ja vien jūs īpaši neatverat portu, savukārt visi jūsu serverī esošie pakalpojumi vai lietojumprogrammas var piekļūt ārējam tīklam.

Noklusētās UFW ugunsmūra politikas tiek ievietotas failā /etc/default/ufw , un tās var mainīt, izmantojot šo komandu.

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

Instalējot programmatūras pakotni, izmantojot APT pakotņu pārvaldnieku, direktorijā /etc/ufw/applications.d tas ietvers lietojumprogrammas profilu, kas nosaka pakalpojumu un tur UFW iestatījumus.

Jūs varat uzskaitīt visus pieejamos lietojumprogrammu profilus savā serverī, izmantojot šādu komandu.

$ sudo ufw app list

Atkarībā no programmatūras pakotņu instalēšanas jūsu sistēmā izvade izskatīsies līdzīgi šim:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Ja vēlaties iegūt vairāk informācijas par konkrētu profilu un definētiem noteikumiem, varat izmantot šo komandu.

$ sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

Ja jūsu serverī ir konfigurēts IPv6, pārliecinieties, vai jūsu UFW ir konfigurēts ar IPv6 un IPv4 atbalstu. Lai to pārbaudītu, atveriet UFW konfigurācijas failu, izmantojot iecienīto redaktoru.

$ sudo vi /etc/default/ufw

Pēc tam pārliecinieties, ka konfigurācijas failā “IPV6” ir iestatīts uz “yes” , kā parādīts.

IPV6=yes

Saglabāt un atmest. Pēc tam restartējiet ugunsmūri, izmantojot šādas komandas:

$ sudo ufw disable
$ sudo ufw enable

Ja līdz šim esat iespējojis UFW ugunsmūri, tas bloķēs visus ienākošos savienojumus un, ja no attālinātas vietas esat izveidojis savienojumu ar serveri, izmantojot SSH, jūs to vairs nevarēsit savienot.

Ļaujiet SSH savienojumiem ar mūsu serveri pārtraukt tā darbību, izmantojot šādu komandu:

$ sudo ufw allow ssh

Ja izmantojat pielāgotu SSH portu (piemēram, 2222. portu), jums jāatver šis ports UFW ugunsmūrī, izmantojot šādu komandu.

$ sudo ufw allow 2222/tcp

Lai bloķētu visus SSH savienojumus, ierakstiet šādu komandu.

$ sudo ufw deny ssh/tcp
$ sudo ufw deny 2222/tcp  [If using custom SSH port]

Ugunsmūrī varat arī atvērt noteiktu portu, lai caur to atļautu savienojumus ar noteiktu pakalpojumu. Piemēram, ja vēlaties iestatīt tīmekļa serveri, kas pēc noklusējuma klausās 80. (HTTP) un 443. (HTTPS) portu.

Tālāk ir sniegti daži piemēri, kā atļaut ienākošos savienojumus ar Apache pakalpojumiem.

$ sudo ufw allow http     [By service name]
$ sudo ufw allow 80/tcp   [By port number]
$ sudo ufw allow 'Apache' [By application profile]
$ sudo ufw allow https
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

Pieņemot, ka jums ir dažas lietojumprogrammas, kuras vēlaties palaist portu diapazonā (5000–5003), visas šīs ostas varat pievienot, izmantojot šādas komandas.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Ja vēlaties atļaut savienojumus visās ostās no konkrētas IP adreses 192.168.56.1, jums jānorāda no pirms IP adreses.

$ sudo ufw allow from 192.168.56.1

Lai atļautu savienojumu ar noteiktu portu (piemēram, 22. portu) no mājas mašīnas ar IP adresi 192.168.56.1, pēc IP adreses jāpievieno jebkurš ports un porta numurs, kā parādīts.

$ sudo ufw allow from 192.168.56.1 to any port 22

Lai atļautu savienojumus noteiktām IP adresēm, sākot no 192.168.1.1 līdz 192.168.1.254 līdz 22. portam (SSH), izpildiet šo komandu.

$ sudo ufw allow from 192.168.1.0/24 to any port 22

Lai atļautu savienojumus ar noteiktu tīkla interfeisu eth2 konkrētam 22. portam (SSH), izpildiet šo komandu.

$ sudo ufw allow in on eth2 to any port 22

Pēc noklusējuma visi ienākošie savienojumi tiek bloķēti, ja vien neesat īpaši atvēris savienojumu UFW. Piemēram, esat atvēris 80. un 443. portu, un jūsu tīmekļa serveris tiek uzbrukts no nezināmā tīkla 11.12.13.0/24.

Lai bloķētu visus savienojumus no šī konkrētā 11.12.13.0/24 tīkla diapazona, varat izmantot šādu komandu.

$ sudo ufw deny from 11.12.13.0/24

Ja vēlaties bloķēt savienojumus tikai 80. un 443. portā, varat izmantot šādas komandas.

$ sudo ufw deny from 11.12.13.0/24 to any port 80
$ sudo ufw deny from 11.12.13.0/24 to any port 443

Ir 2 veidi, kā izdzēst UFW kārtulas, pēc kārtulas numura un pēc faktiskā noteikuma.

Lai izdzēstu UFW kārtulas, izmantojot kārtulas numuru, vispirms jums jāuzskaita kārtulas pēc numuriem, izmantojot šādu komandu.

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

Lai izdzēstu 1. kārtulas numuru, izmantojiet šo komandu.

$ sudo ufw delete 1

Otrā metode ir kārtulas dzēšana, izmantojot faktisko kārtulu, piemēram, lai izdzēstu kārtulu, norādiet porta numuru ar protokolu, kā parādīts.

$ sudo ufw delete allow 22/tcp

Izmantojot karodziņu --dry-run , jūs varat palaist jebkuras ufw komandas, faktiski neveicot izmaiņas sistēmas ugunsmūrī. Tas vienkārši parāda izmaiņas, kas, domājams, notiek.

$ sudo ufw --dry-run enable

Viena vai otra iemesla dēļ, ja vēlaties dzēst/atiestatīt visus ugunsmūra noteikumus, ierakstiet šādas komandas, tas atjaunos visas izmaiņas un sāks no jauna.

$ sudo ufw reset
$ sudo ufw status

UFW ugunsmūris var pārvaldīt visu, ko dara iptables. To var izdarīt ar dažādiem noteikumu failu komplektiem, kas ir nekas, bet vienkārši iptables-atjaunot teksta failus.

UFW ugunsmūra pielāgošana vai papildu iptables komandu pievienošana nav atļauta, izmantojot ufw komandu, ir tikai jāmaina šādi teksta faili

  • /etc/default/ufw: galvenais konfigurācijas fails ar iepriekš definētiem noteikumiem.
  • /etc/ufw/before[6].rules: Šajā failā kārtulas tiek aprēķinātas pirms pievienošanas, izmantojot komandu ufw.
  • /etc/ufw/after[6].rules: Šajā failā kārtulas tiek aprēķinātas pēc pievienošanas, izmantojot komandu ufw.
  • /etc/ufw/sysctl.conf: Šis fails tiek izmantots kodola tīkla noskaņošanai.
  • /etc/ufw/ufw.conf: Šis fails iespējo ufw sāknēšanas laikā.

Tieši tā! UFW ir lielisks iptables priekšgals ar lietotājam draudzīgu saskarni, lai definētu sarežģītus noteikumus ar vienu ufw komandu.

Ja jums ir kādi jautājumi vai domas par šo jauno rakstu, izmantojiet zemāk esošo komentāru veidlapu, lai sazinātos ar mums.