Skip to content
VDS · Mreža, IP adresa i domeni

ufw firewall: zatvori šta nije potrebno

Kako da podesiš ufw za pet minuta: dozvoli potrebne portove, zatvori ostale, ograniči pristup po adresi i izbegni da prekineš sopstveni SSH.

Ažurirano 23. avgust 2026.

Na svežoj mašini sve što sluša na mreži je otvoreno. Neke servise si instalirao namerno, neki su došli uz pakete. Firewall ovo rešava u jednom potezu: sve je zabranjeno osim onoga što navedeš.

ufw je jednostavan omotač oko kernelskih pravila. Dovoljan je u velikoj većini slučajeva; složenije konfiguracije pokrivene su u članku o nftables.

Osnovno podešavanje

apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw enable
ufw status verbose

Redosled je ovde važan: SSH pravilo se dodaje pre uključivanja. U suprotnom će ufw enable prekinuti tvoju vezu, pa ćeš morati da se vratiš preko konzole u panelu /hosting/vds/m/<id> ili preko rescue moda.

Konzola u panelu radi nezavisno od mreže, tako da ne možeš potpuno da se zaključaš — ali to košta vremena.

Uobičajena pravila

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow from 203.0.113.5 to any port 22 proto tcp
ufw limit 22/tcp
ufw delete allow 80/tcp
ufw status numbered
ufw delete 3

ufw limit usporava svakoga ko otvori više od šest veza u 30 sekundi — jeftina zaštita od brute-force napada na lozinku. Prefinjeniji alat za isti posao je fail2ban.

Pravilo allow from korisno je za servise koji ne treba da budu javni: baze podataka, admin paneli, izvoznici metrika.

ufw allow from 203.0.113.5 to any port 5432 proto tcp

Provera rezultata

ufw status verbose
ss -tulpn

ss pokazuje šta sistem sluša, ufw status pokazuje šta je propušteno spolja. Razlika između lista su servisi koje si zatvorio, i to je u redu. Obrnuto je loše: port je otvoren u ufw, ali nema slušaoca.

Spolja proveravaj preko porta, ne preko pinga:

nc -vz <address> 443

Docker i ufw

Ako mašina pokreće Docker, imaj na umu: prosleđivanje portova kontejnera obavlja se u kernelskim lancima pre ufw pravila. Kontejner pokrenut sa -p 5432:5432 biće dostupan spolja čak i kada ufw status prikazuje deny. Takve portove veži za lokalni interfejs:

docker run -p 127.0.0.1:5432:5432 postgres

Uobičajene greške

GreškaPosledicaRešenje
ufw enable bez SSH pravilaGubitak mrežnog pristupaUđi preko konzole u panelu, ufw allow 22/tcp
Promenio si SSH port, ostavio staro praviloIstoPrvo pravilo, pa onda port
Port je otvoren, servis ne odgovaraServis sluša na 127.0.0.1Promeni bind adresu
Kontejner je dostupan uprkos denyDocker zaobilazi ufwVeži za 127.0.0.1

Pre nego što zatvoriš port, pokreni ss -tulpn i uveri se da razumeš šta sedi na njemu. Zatvoren port za monitoring kasnije izgleda kao „servis je pao".