Ta članek prikazuje, kako namestiti in uporabljati UFW na vašem Ubuntu 20.04 LTS sistem.
Namestitev
UFW je vnaprej nameščen v večini sistemov Ubuntu. Če v vaši različici tega programa še ni nameščen, ga lahko namestite s pomočjo upraviteljev paketov snap ali apt.$ sudo snap namestite ufw
$ sudo apt install ufwOsebno raje za to uporabljam upravitelja paketov apt, ker je snap manj priljubljen in ne želim imeti te dodatne zapletenosti. V času pisanja tega članka je različica, objavljena za UFW, 0.36 za 20.04 sprostitev.
Dohodni vs. Odhodni promet
Če ste začetnik v omrežju, morate najprej pojasniti razliko med dohodnim in odhodnim prometom.
Ko nameščate posodobitve s pomočjo apt-get, brskate po internetu ali preverjate e-pošto, pošiljate »odhodne« zahteve strežnikom, kot so Ubuntu, Google itd. Za dostop do teh storitev sploh ne potrebujete javnega IP-ja. Običajno se za domačo širokopasovno povezavo dodeli en javni naslov IP in vsaka naprava dobi svoj zasebni IP. Usmerjevalnik nato obdeluje promet z uporabo nečesa, znanega kot NAT ali Prevajanje omrežnih naslovov.
Podrobnosti o naslovih NAT in zasebnih naslovih IP presegajo ta članek, toda zgornji videoposnetek je odlično izhodišče. Če se vrnemo na UFW, bo privzeto omogočil ves redni odhodni spletni promet. Vaši brskalniki, upravitelji paketov in drugi programi izberejo naključno številko vrat - običajno številko nad 3000 - in tako lahko vsaka aplikacija beleži svoje povezave.
Ko strežnike uporabljate v oblaku, običajno prihajajo z javnim naslovom IP in zgornja pravila za dovoljenje odhodnega prometa še vedno veljajo. Ker boste še vedno uporabljali pripomočke, kot so upravitelji paketov, ki se s tujino pogovarjajo kot 'odjemalec', UFW to privzeto dovoli.
Zabava se začne z dohodnim prometom. Aplikacije, kot je strežnik OpenSSH, ki ga uporabljate za prijavo v VM, poslušajo na določenih vratih (na primer 22) za dohodni tako kot druge aplikacije. Spletni strežniki potrebujejo dostop do vrat 80 in 443.
Del naloge požarnega zidu je, da določenim aplikacijam omogoča poslušanje določenega dohodnega prometa, hkrati pa blokira vse nepotrebne. Na vašem VM je morda nameščen strežnik baz podatkov, vendar običajno ni treba poslušati dohodnih zahtev v vmesniku z javnim IP-jem. Običajno samo posluša zahteve v zančnem vmesniku.
V spletu je veliko botov, ki strežnike nenehno zasipajo z lažnimi zahtevami, da silijo na silo ali da naredijo preprost napad Denial of Service. Dobro konfiguriran požarni zid bi moral biti sposoben blokirati večino teh shenaniganov s pomočjo neodvisnih vtičnikov, kot je Fail2ban.
Zaenkrat se bomo osredotočili na zelo osnovno nastavitev.
Osnovna uporaba
Zdaj, ko imate v sistemu nameščen UFW, bomo preučili nekaj osnovnih načinov uporabe tega programa. Ker se pravila požarnega zidu uporabljajo v celotnem sistemu, se spodnji ukazi izvajajo kot korenski uporabnik. Če želite, lahko za ta postopek uporabite sudo z ustreznimi privilegiji.
# ufw statusStanje: neaktivno
Privzeto je UFW v neaktivnem stanju, kar je dobro. Ne želite blokirati vsega dohodnega prometa na vratih 22, ki so privzeta vrata SSH. Če ste prijavljeni v oddaljeni strežnik prek SSH in blokirate vrata 22, boste zaklenjeni iz strežnika.
UFW nam olajša luknjo samo za OpenSSH. Zaženite spodnji ukaz:
[e-pošta zaščitena]: ~ # ufw seznam aplikacijRazpoložljive aplikacije:
OpenSSH
Upoštevajte, da še vedno nisem omogočil požarnega zidu. Zdaj bomo na seznam dovoljenih aplikacij dodali OpenSSH in nato omogočili požarni zid. Če želite to narediti, vnesite naslednje ukaze:
# ufw dovoli OpenSSHPravila posodobljena
Posodobljena pravila (v6)
# ufw omogoči
Ukaz lahko moti obstoječe SSH povezave. Nadaljujte z operacijo (y | n)? y.
Požarni zid je zdaj aktiven in omogočen ob zagonu sistema.
Čestitamo, UFW je zdaj aktiven in deluje. UFW zdaj omogoča le OpenSSH, da posluša dohodne zahteve na vratih 22. Če želite kadar koli preveriti stanje požarnega zidu, zaženite naslednjo kodo:
# ufw statusStanje: aktivno
Za ukrepanje od
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) DOVOLI kjer koli (v6)
Kot lahko vidite, lahko OpenSSH zdaj prejema zahteve od koder koli v internetu, pod pogojem, da jih doseže na 22 vratih. Vrstica v6 označuje, da se pravila uporabljajo tudi za IPv6.
Seveda lahko prepovedate določen obseg IP ali dovolite samo določen obseg IP-jev, odvisno od varnostnih omejitev, v katerih delate.
Dodajanje aplikacij
Za najbolj priljubljene aplikacije ukaz ufw seznam aplikacij samodejno posodobi svoj seznam pravilnikov ob namestitvi. Na primer, po namestitvi spletnega strežnika Nginx boste videli naslednje nove možnosti:
# apt namestite nginx# ufw seznam aplikacij
Razpoložljive aplikacije:
Nginx poln
Nginx HTTP
Nginx HTTPS
OpenSSH
Nadaljujte in poskusite eksperimentirati s temi pravili. Upoštevajte, da lahko preprosto dovolite številke vrat, namesto da čakate, da se prikaže profil aplikacije. Če želite na primer dovoliti vrata 443 za promet HTTPS, preprosto uporabite naslednji ukaz:
# ufw dovolite 443# ufw status
Stanje: aktivno
Za ukrepanje od
-- ------ ----
OpenSSH ALLOW Anywhere
443 DOVOLJITE kjerkoli
OpenSSH (v6) DOVOLI kjer koli (v6)
443 (v6) DOVOLJITE kjer koli (v6)
Zaključek
Zdaj, ko ste razvrstili osnove UFW, lahko raziščete druge zmogljive požarne zidove, začenši z dovoljevanjem in blokiranjem obsegov IP. Če imate jasne in varne politike požarnega zidu, bodo vaši sistemi varni in zaščiteni.