Kako nastaviti požarni zid UFW na Ubuntu in Debian


Pravilno delujoč požarni zid je najpomembnejši del celotne varnosti sistema Linux. Distribucija Debian in Ubuntu privzeto vsebuje orodje za konfiguracijo požarnega zidu, imenovano UFW (Nezapleten požarni zid), je najbolj priljubljeno in preprosto orodje za ukazno vrstico za konfiguracijo in upravljanje požarnega zidu v distribucijah Ubuntu in Debian.

V tem članku bomo razložili, kako namestiti in nastaviti požarni zid UFW v distribucijah Ubuntu in Debian.

Preden začnete s tem člankom, se prepričajte, da ste prijavljeni v strežnik Ubuntu ali Debian z uporabnikom sudo ali s korenskim računom. Če nimate uporabnika sudo, ga lahko ustvarite z naslednjimi navodili kot uporabnik root.

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

Namestite požarni zid UFW na Ubuntu in Debian

UFW (Nezapleten požarni zid) bi moral biti privzeto nameščen v Ubuntu in Debian, če ne, ga namestite z upraviteljem paketov APT z naslednjim ukazom.

$ sudo apt install ufw

Ko je namestitev končana, lahko s tipkanjem preverite stanje UFW.

$ sudo ufw status verbose

Pri prvi namestitvi je požarni zid UFW privzeto onemogočen, izhod bo podoben spodnjemu.

Status: inactive

Požarni zid UFW lahko aktivirate ali omogočite z naslednjim ukazom, ki naj požarni zid naloži in mu omogoči zagon ob zagonu.

$ sudo ufw enable

Če želite onemogočiti požarni zid UFW, uporabite naslednji ukaz, ki razbremeni požarni zid in mu onemogoči zagon ob zagonu.

$ sudo ufw disable 

Požarni zid UFW privzeto zavrača vse dohodne povezave in dovoljuje samo vse odhodne povezave s strežnikom. To pomeni, da nihče ne more dostopati do vašega strežnika, razen če izrecno odprete vrata, medtem ko lahko vse delujoče storitve ali aplikacije na vašem strežniku dostopajo do zunanjega omrežja.

Privzete politike požarnega zidu UFW so postavljene v datoteko /etc/default/ufw in jih lahko spremenite z naslednjim ukazom.

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

Ko nameščate programski paket z upraviteljem paketov APT, bo vključeval profil aplikacije v imeniku /etc/ufw/applications.d , ki določa storitev in ima nastavitve UFW.

Z naslednjim ukazom lahko navedete vse razpoložljive profile aplikacij na vašem strežniku.

$ sudo ufw app list

Odvisno od namestitev programskega paketa v vašem sistemu bodo rezultati videti podobno:

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

Če želite več informacij o določenem profilu in definiranih pravilih, uporabite naslednji ukaz.

$ 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

Če je vaš strežnik konfiguriran z IPv6, se prepričajte, da je vaš UFW konfiguriran s podporo IPv6 in IPv4. Če želite to preveriti, odprite konfiguracijsko datoteko UFW s svojim priljubljenim urejevalnikom.

$ sudo vi /etc/default/ufw

Nato se prepričajte, da je »IPV6« nastavljeno na \"yes \" v konfiguracijski datoteki, kot je prikazano.

IPV6=yes

Shranite in zapustite. Nato znova zaženite požarni zid z naslednjimi ukazi:

$ sudo ufw disable
$ sudo ufw enable

Če ste do zdaj omogočili požarni zid UFW, bi blokiral vse dohodne povezave, in če ste s strežnikom prek SSH -ja povezani z oddaljene lokacije, ga ne boste mogli več povezati.

Omogočimo povezave SSH z našim strežnikom, da to preprečimo z naslednjim ukazom:

$ sudo ufw allow ssh

Če uporabljate vrata SSH po meri (na primer vrata 2222), jih morate odpreti na požarnem zidu UFW z naslednjim ukazom.

$ sudo ufw allow 2222/tcp

Če želite blokirati vse povezave SSH, vnesite naslednji ukaz.

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

Odprete lahko tudi določena vrata v požarnem zidu, da prek njih omogočite povezave do določene storitve. Na primer, če želite nastaviti spletni strežnik, ki privzeto posluša vrata 80 (HTTP) in 443 (HTTPS).

Spodaj je nekaj primerov, kako dovoliti dohodne povezave s storitvami Apache.

$ 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'

Ob predpostavki, da imate nekaj aplikacij, ki jih želite zagnati na različnih vratih (5000-5003), lahko vsa ta vrata dodate z naslednjimi ukazi.

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

Če želite dovoliti povezave na vseh vratih z določenega naslova IP 192.168.56.1, morate določiti od pred naslovom IP.

$ sudo ufw allow from 192.168.56.1

Če želite omogočiti povezavo na določena vrata (na primer vrata 22) z vašega domačega računalnika z naslovom IP 192.168.56.1, morate po naslovu IP dodati vsa vrata in številko vrat, kot je prikazano.

$ sudo ufw allow from 192.168.56.1 to any port 22

Če želite dovoliti povezave za določene naslove IP od 192.168.1.1 do 192.168.1.254 do vrat 22 (SSH), zaženite naslednji ukaz.

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

Če želite dovoliti povezave do določenega omrežnega vmesnika eth2 za določena vrata 22 (SSH), zaženite naslednji ukaz.

$ sudo ufw allow in on eth2 to any port 22

Privzeto so vse dohodne povezave blokirane, razen če ste povezavo posebej odprli na UFW. Na primer, odprli ste vrata 80 in 443 in vaš spletni strežnik je napaden iz neznanega omrežja 11.12.13.0/24.

Če želite blokirati vse povezave iz tega območja omrežja 11.12.13.0/24, lahko uporabite naslednji ukaz.

$ sudo ufw deny from 11.12.13.0/24

Če želite blokirati samo povezave na vratih 80 in 443, lahko uporabite naslednje ukaze.

$ 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

Obstajata dva načina za brisanje pravil UFW, po številki pravila in po dejanskem pravilu.

Če želite izbrisati pravila UFW s številko pravila, morate najprej navesti pravila po številkah z naslednjim ukazom.

$ sudo ufw status numbered
Status: active

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

Če želite izbrisati pravilo številka 1, uporabite naslednji ukaz.

$ sudo ufw delete 1

Druga metoda je brisanje pravila z uporabo dejanskega pravila, na primer za brisanje pravila, podajanje številke vrat s protokolom, kot je prikazano.

$ sudo ufw delete allow 22/tcp

Zaženete lahko vse ukaze ufw, ne da bi dejansko naredili kakršne koli spremembe v požarnem zidu sistema z zastavo --dry-run , kar preprosto prikaže spremembe, ki naj bi se zgodile.

$ sudo ufw --dry-run enable

Iz enega ali drugega razloga, če želite izbrisati/ponastaviti vsa pravila požarnega zidu, vnesite naslednje ukaze, ki bodo razveljavili vse vaše spremembe in začeli na novo.

$ sudo ufw reset
$ sudo ufw status

Požarni zid UFW lahko naredi vse, kar počne iptables. To lahko storite z različnimi datotekami pravil, ki niso nič drugega kot preproste iptables-obnovite besedilne datoteke.

Uglaševanje požarnega zidu UFW ali dodajanje dodatnih ukazov iptables ni dovoljeno z ukazom ufw, je samo stvar spreminjanja naslednjih besedilnih datotek

  • /etc/default/ufw: glavna konfiguracijska datoteka s vnaprej določenimi pravili.
  • /etc/ufw/before[6].rules: V tej datoteki se pravila izračunajo pred dodajanjem prek ukaza ufw.
  • /etc/ufw/after[6].rules: V tej datoteki se pravila izračunajo po dodajanju z ukazom ufw.
  • /etc/ufw/sysctl.conf: Ta datoteka se uporablja za nastavitev omrežja jedra.
  • /etc/ufw/ufw.conf: Ta datoteka omogoči ufw ob zagonu.

To je To! UFW je odličen vmesnik iptables z uporabniku prijaznim vmesnikom za definiranje kompleksnih pravil z enim samim ukazom ufw.

Če imate kakršna koli vprašanja ali razmišljanja o tem članku ufw, nas kontaktirajte s spodnjim obrazcem za komentarje.