Kako postaviti zaštitni zid na Ubuntu serveru
Objavio: 19. mart 2025. 21:29:23 UTC
Ovaj članak objašnjava i daje neke primere o tome kako da podesite zaštitni zid na GNU-u sa Linuksom koristeći ufw, što je skraćenica od Uncomplicated FireWall - i ime je prikladno, to je zaista veoma jednostavan način da se uverite da nemate više otvorenih portova nego što vam je potrebno.
How to Set Up a Firewall on Ubuntu Server
Informacije u ovom postu zasnovane su na Ubuntu Server 14.04 x64. Mogu biti ili ne biti validne za druge verzije. (Ažuriranje: Mogu potvrditi da su informacije u ovom postu u suštini još uvek validne i funkcionalne za Ubuntu Server 24.04, međutim, u poslednjih 10 godina, ufw je postao "pametniji" jer ima profile za uobičajene server aplikacije (na primer, možete omogućiti "Nginx full" umesto da odvojeno otvarate portove 80 i 443) i više nije potrebno onemogućiti/omogućiti celu zaštitu vatre kako bi nove pravila bila primenjena)
Kada sam prvi put počeo sa GNU/Linux (Ubuntu) serverima, postavljanje zaštite od vatre podrazumevalo je ručno kreiranje i održavanje potencijalno složenih konfiguracionih fajlova za iptables. Međutim, nedavno sam otkrio ufw, što je skraćenica za Uncomplicated Firewall – i zaista jeste :-)
Moja instalacija Ubuntu Server 14.04 već je imala ufw instaliran, ali ako vaš nema, jednostavno ga instalirajte iz repozitorijuma:
UFW je zapravo samo alat koji pojednostavljuje konfiguraciju iptables – iza scene, to su i dalje iptables i Linux kernel zaštita od vatre koja vrši filtriranje, tako da ufw nije ni manje ni više siguran od njih. Međutim, zato što ufw olakšava ispravnu konfiguraciju zaštite od vatre, 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 sa IPv4, pobrinite se da je ovo omogućeno i za UFW. Izmenite fajl /etc/default/ufw i potražite liniju koja kaže IPV6=yes. Na mojoj instalaciji već je bila tamo, ali ako nije ili ako kaže no, trebalo bi da je izmenite
Zatim jednostavno upotrebite komandni prompt da omogućite portove koje želite da otvorite. Ako ste povezani sa vašim serverom putem ssh, pobrinite se da omogućite i to, inače može doći do prekida veze i moguće će vas zaključati van servera kada to aktivirate – zavisno od toga da li imate fizički pristup serveru ili ne, ovo može biti prilično nezgodno ;-)
Na primer, ako koristite ssh na standardnom portu 22 i konfigurišete web server koji podržava i nešifrovane (HTTP na portu 80) i šifrovane (HTTPS na portu 443) veze, izdali biste sledeće komande da konfigurišete ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Ako vam treba više pravila, jednostavno ih dodajte kao gore.
Ako imate statičku IP adresu i trebate da se povezujete samo putem ssh sa jedne lokacije, možete takođe ograničiti ssh konekcije na jednu origin adresu, ovako:
Naravno, unesite svoju IP adresu umesto.
Kada završite, omogućite ufw unosom:
I to je to! Zaštita od vatre je pokrenuta i automatski će se pokrenuti kada ponovo pokrenete vaš server :-)
Ako napravite promene u ufw konfiguraciji, možda ćete morati da je onemogućite i ponovo omogućite da bi se primenile, ovako:
sudo ufw enable
Da biste pogledali trenutnu konfiguraciju, jednostavno unesite:
Ako ufw nije omogućena, ovo će samo prikazati "neaktivno" poruku, inače će navesti trenutno definisana pravila.