Kako postaviti zaštitni zid na Ubuntu serveru
Objavljeno: 15. februar 2025. u 21:37:04 UTC
Posljednje ažurirano: 12. januar 2026. u 08:37:59 UTC
Ovaj članak objašnjava i pruža neke primjere o tome kako postaviti zaštitni zid (firewall) na GNU/Linuxu koristeći ufw, što je skraćenica od Uncomplicated FireWall - i naziv je prikladan, to je zaista vrlo jednostavan način da se uvjerite da nemate otvoreno više portova nego što vam je potrebno.
How to Set Up a Firewall on Ubuntu Server
Informacije u ovom postu se zasnivaju na Ubuntu Serveru 14.04 x64. Mogu, ali i ne moraju biti važeće za druge verzije. (Ažuriranje: Mogu potvrditi da su informacije u ovom postu u osnovi i dalje važeće i funkcionalne od Ubuntu Servera 24.04, međutim, u proteklih 10 godina, ufw je postao donekle "pametniji" time što ima profile za uobičajene serverske aplikacije (na primjer, možete omogućiti "Nginx full" umjesto zasebno portova 80 i 443) i onemogućavanje/omogućavanje cijelog zaštitnog zida da bi se primijenila nova pravila više nije potrebno).
Kada sam tek počeo koristiti GNU/Linux (Ubuntu) servere, postavljanje zaštitnog zida (firewall) uključivalo je ručno kreiranje i održavanje potencijalno složene konfiguracijske datoteke za iptables. Međutim, nedavno sam otkrio ufw, što je skraćenica za Nekomplikovani zaštitni zid (Uncomplicated Firewall) – i zaista jeste :-)
Moja instalacija Ubuntu Servera 14.04 već je imala instaliran ufw, ali ako vaša nije, jednostavno ga instalirajte iz repozitorija:
UFW je zapravo samo alat koji pojednostavljuje konfiguraciju iptables-a – iza kulisa, i dalje su iptables i Linux kernel firewall ti koji vrše filtriranje, tako da ufw nije ni manje ni sigurniji od njih. Međutim, budući da ufw znatno olakšava ispravnu konfiguraciju firewall-a, može smanjiti rizik od ljudske greške i stoga je moguće sigurniji za neiskusne administratore.
Ako je vaš server konfigurisan sa IPv6 kao i IPv4, provjerite da li je ovo omogućeno i za UFW. Uredite datoteku /etc/default/ufw i potražite red koji kaže IPV6=yes. Na mojoj instalaciji to je već bilo tamo, ali ako nije ili ako piše ne, trebali biste to urediti.
Zatim jednostavno koristite komandni redak da omogućite portove koje želite otvoriti. Ako ste povezani na server putem ssh-a, obavezno i to omogućite, inače bi to moglo prekinuti vašu vezu i moguće vas zaključati sa servera kada ga aktivirate – ovisno o tome imate li fizički pristup serveru ili ne, ovo može biti pomalo nezgodno ;-)
Na primjer, ako koristite ssh na standardnom portu 22 i konfigurirate web server koji podržava i nešifrirane (HTTP na portu 80) i šifrirane (HTTPS na portu 443) veze, trebali biste izdati sljedeće naredbe za konfiguriranje ufw-a:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Ako vam je potrebno više pravila, jednostavno ih dodajte kao što je gore navedeno.
Ako imate statičku IP adresu i trebate se moći povezati putem ssh-a samo s jedne lokacije, možete ograničiti ssh veze na jednu izvornu adresu na sljedeći način:
Naravno, umjesto toga unesite svoju IP adresu.
Kada završite, omogućite ufw unosom:
I gotovi ste! Zaštitni zid radi i automatski će se pokrenuti kada ponovo pokrenete server :-)
Ako napravite promjene u konfiguraciji ufw-a, možda ćete ga morati onemogućiti i ponovo omogućiti da bi promjene stupile na snagu, ovako:
sudo ufw enable
Da biste pogledali trenutnu konfiguraciju, jednostavno unesite:
Ako ufw nije omogućen, ovo će jednostavno prikazati poruku „neaktivno“, u suprotnom će navesti trenutno definirana pravila.
