Miklix

Kako nastaviti požarni zid na strežniku Ubuntu

Objavljeno: 15. februar 2025 ob 9:34:27 pop. UTC
Nazadnje posodobljeno: 12. januar 2026 ob 8:37:27 dop. UTC

Ta članek pojasnjuje in ponuja nekaj primerov, kako nastaviti požarni zid v sistemu GNU/Linux z uporabo ukaza ufw, kar je okrajšava za Nezapleten požarni zid (Uncomplicated FireWall) – in ime je primerno, saj je res zelo preprost način, da zagotovite, da nimate odprtih več vrat, kot jih potrebujete.


Ta stran je bila strojno prevedena iz angleščine, da bi bila dostopna čim večjemu številu ljudi. Žal strojno prevajanje še ni popolna tehnologija, zato lahko pride do napak. Če želite, si lahko izvirno angleško različico ogledate tukaj:

How to Set Up a Firewall on Ubuntu Server

Informacije v tej objavi temeljijo na Ubuntu Serverju 14.04 x64. Morda bodo veljavne tudi za druge različice, morda pa tudi ne. (Posodobitev: Lahko potrdim, da so informacije v tej objavi v bistvu še vedno veljavne in delujoče od Ubuntu Serverja 24.04, vendar je ufw v vmesnih 10 letih postal nekoliko "pametnejši", saj ima profile za običajne strežniške aplikacije (na primer, lahko omogočite "Nginx full" namesto ločenih vrat 80 in 443) 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 Nezapleten požarni zid – in res je :-)

Moja namestitev Ubuntu Serverja 14.04 je že imela nameščen ufw, če pa ga vaša nima, ga preprosto namestite iz repozitorijev:

sudo apt-get install ufw

UFW je pravzaprav le orodje, ki poenostavi konfiguracijo iptables – v ozadju filtriranje še vedno izvajata iptables in požarni zid jedra Linuxa, zato ufw ni ne manj ne bolj varen od teh dveh orodij. Ker pa ufw precej olajša pravilno konfiguracijo požarnega zidu, lahko zmanjša tveganje za človeške napake in je zato morda varnejši za neizkušene skrbnike.

Če je vaš strežnik konfiguriran z IPv6 in IPv4, se prepričajte, da je to omogočeno tudi za UFW. Uredite datoteko /etc/default/ufw in poiščite vrstico z IPV6=yes. V moji namestitvi je bila že tam, če pa ni ali če piše ne, jo morate urediti.

Nato preprosto uporabite ukazni poziv, da omogočite vrata, ki jih želite odpreti. Če ste s strežnikom povezani prek ssh, poskrbite, da boste tudi to omogočili, sicer lahko to prekine vašo povezavo in vas po aktivaciji morda zaklene iz strežnika – odvisno od tega, ali imate fizični dostop do strežnika ali ne, je to lahko precej neprijetno ;-)

Na primer, če uporabljate ssh na standardnih vratih 22 in konfigurirate spletni strežnik, ki podpira tako nešifrirane (HTTP na vratih 80) kot šifrirane (HTTPS na vratih 443) povezave, bi za konfiguracijo ufw izdali naslednje ukaze:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Če potrebujete več pravil, jih preprosto dodajte, kot je opisano zgoraj.

Če imate statični IP-naslov in se morate povezati prek SSH samo z ene lokacije, lahko SSH povezave omejite tudi na en izvorni naslov, kot je ta:

sudo ufw allow from 192.168.0.1 to any port 22

Seveda namesto tega vnesite svoj IP-naslov.

Ko končate, omogočite ufw tako, da vnesete:

sudo ufw enable

In končali ste! Požarni zid deluje in se bo samodejno zagnal, ko boste znova zagnali strežnik :-)

Če spremenite konfiguracijo ufw, jo boste morda morali onemogočiti in znova omogočiti, da spremembe začnejo veljati, takole:

sudo ufw disable
sudo ufw enable

Če si želite ogledati trenutno konfiguracijo, preprosto vnesite:

sudo ufw status

Če ufw ni omogočen, bo prikazano le sporočilo »neaktivno«, sicer pa bodo prikazana trenutno definirana pravila.

Delite na BlueskyDelite na FacebookuDelite na LinkedInuDelite na TumblrDelite na XDelite na LinkedInuPripni na Pinterest

Mikkel Christensen

O avtorju

Mikkel Christensen
Mikkel je avtor in lastnik spletne strani miklix.com. Ima več kot 20 let izkušenj kot profesionalni računalniški programer/razvijalec programske opreme in je trenutno za polni delovni čas zaposlen v veliki evropski IT korporaciji. Kadar ne piše bloga, svoj prosti čas posveča številnim interesom, hobijem in dejavnostim, kar se do neke mere odraža v raznolikosti tem na tem spletnem mestu.