Kako nastaviti požarni zid na strežniku Ubuntu
Objavljeno: 15. februar 2025 ob 9:34:27 pop. UTC
Ta članek razlaga in nudi nekaj primerov o tem, kako nastaviti požarni zid v GNU/Linux z uporabo ufw, kar je okrajšava za Uncomplicated FireWall - in ime je primerno, to je res zelo preprost način, da zagotovite, da nimate odprtih več vrat, kot je potrebno.
How to Set Up a Firewall on Ubuntu Server
Informacije v tej objavi temeljijo na Ubuntu Server 14.04 x64. Lahko velja ali ne velja za druge različice. (Posodobitev: lahko potrdim, da so informacije v tej objavi v bistvu še vedno veljavne in delujoče od Ubuntu Server 24.04, vendar je v vmesnih 10 letih ufw postal nekoliko "pametnejši", saj ima profile za običajne strežniške aplikacije (na primer, lahko omogočite "Nginx full" namesto vrat 80 in 443 ločeno) in onemogočanje/omogočanje celotnega požarnega zidu za uporabo novih pravil ni več potrebno)
Ko sem prvič začel uporabljati strežnike GNU/Linux (Ubuntu), je nastavitev požarnega zidu vključevala ročno ustvarjanje in vzdrževanje potencialno zapletene konfiguracijske datoteke za iptables. Vendar sem pred kratkim odkril ufw , kar je okrajšava za Uncomplicated Firewall – in res je :-)
Moja namestitev Ubuntu Server 14.04 je že imela nameščen ufw, če pa ga vaša nima, ga preprosto namestite iz skladišč:
UFW je pravzaprav le orodje, ki poenostavi konfiguracijo iptables – v ozadju sta še vedno iptables in požarni zid jedra Linuxa tisti, ki filtrirata, tako da ufw ni ne manj ne bolj varen od teh. Ker pa ufw zelo olajša pravilno konfiguracijo požarnega zidu, lahko zmanjša tveganje človeške napake in je zato morda bolj varen za neizkušene skrbnike.
Če je vaš strežnik konfiguriran za IPv6 in IPv4, se prepričajte, da je to omogočeno tudi za UFW. Uredite datoteko /etc/default/ufw in poiščite vrstico IPV6=yes . Pri moji namestitvi je že bil tam, če pa ni ali če piše ne, ga morate urediti
Nato preprosto uporabite ukazni poziv, da omogočite vrata, ki jih želite odpreti. Če ste s strežnikom povezani prek ssh, se prepričajte, da ste omogočili tudi to, sicer lahko prekine vašo povezavo in vas morda zaklene iz strežnika, ko ga aktivirate – odvisno od tega, ali imate fizični dostop do strežnika ali ne, je to lahko nekoliko neprijetno ;-)
Na primer, če uporabljate ssh na standardnih vratih 22 in konfigurirate spletni strežnik, ki podpira nešifrirane (HTTP na vratih 80) in šifrirane (HTTPS na vratih 443) povezave, bi izdali naslednje ukaze za konfiguracijo ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Če potrebujete več pravil, jih preprosto dodajte kot zgoraj.
Če imate statični naslov IP in se morate povezati samo prek ssh z ene lokacije, lahko povezave ssh omejite tudi na en izvorni naslov, takole:
Seveda namesto tega vnesite svoj naslov IP.
Ko končate, omogočite ufw tako, da vnesete:
In končali ste! Požarni zid deluje in se samodejno zažene, ko znova zaženete strežnik :-)
Če spremenite konfiguracijo ufw, jo boste morda morali onemogočiti in znova omogočiti, da bodo te spremembe začele veljati, takole:
sudo ufw enable
Če si želite ogledati trenutno konfiguracijo, preprosto vnesite:
Če ufw ni omogočen, bo to preprosto prikazalo sporočilo »neaktivno«, sicer pa bo prikazalo seznam trenutno določenih pravil.