Firewall ufw: zavri, čo netreba
Ako nastaviť ufw za päť minút: povoliť potrebné porty, zavrieť ostatné, obmedziť prístup podľa adresy a neodrezať si vlastné SSH.
Aktualizované 23. augusta 2026
Na novom stroji je otvorené všetko, čo počúva na sieti. Niektoré služby si nainštaloval zámerne, iné prišli s balíkmi. Firewall to vyrieši naraz: všetko je zakázané okrem toho, čo povolíš.
ufw je jednoduchý obal nad pravidlami jadra. Vo väčšine prípadov stačí; zložitejšie zostavy pokrýva článok o nftables.
Základné nastavenie
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw enable
ufw status verbose
Na poradí tu záleží: pravidlo pre SSH sa pridáva pred zapnutím. Inak ufw enable preruší tvoje spojenie a budeš sa musieť dostať späť cez konzolu v paneli /hosting/vds/m/<id> alebo cez rescue režim.
Konzola v paneli funguje nezávisle od siete, takže sa úplne neodstrihneš — ale stojí to čas.
Bežné pravidlá
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 spomalí každého, kto otvorí viac ako šesť spojení za 30 sekúnd — lacná ochrana proti hádaniu hesiel. Pre tú istú úlohu je prenikavejší nástroj fail2ban.
Pravidlo allow from sa hodí pre služby, ktoré by nemali byť verejné: databázy, administračné panely, exportéry metrík.
ufw allow from 203.0.113.5 to any port 5432 proto tcp
Overenie výsledku
ufw status verbose
ss -tulpn
ss ukazuje, na čom systém počúva, ufw status ukazuje, čo je povolené zvonku. Rozdiel medzi zoznamami sú služby, ktoré si uzavrel, a to je v poriadku. Opak je zlý: port je v ufw otvorený, ale nič na ňom nepočúva.
Zvonku overuj portom, nie pingom:
nc -vz <address> 443
Docker a ufw
Ak na stroji beží Docker, maj na pamäti: presmerovanie portov kontajnera sa spracúva v reťazcoch jadra pred pravidlami ufw. Kontajner spustený s -p 5432:5432 bude dostupný zvonku, aj keď ufw status ukazuje deny. Takéto porty naviaž na lokálne rozhranie:
docker run -p 127.0.0.1:5432:5432 postgres
Časté chyby
| Chyba | Následok | Riešenie |
|---|---|---|
ufw enable bez pravidla pre SSH | Strata sieťového prístupu | Dostaň sa dnu cez konzolu v paneli, ufw allow 22/tcp |
| Zmenil si SSH port, staré pravidlo zostalo | To isté | Najprv pravidlo, potom port |
| Port je otvorený, služba neodpovedá | Služba počúva na 127.0.0.1 | Zmeň adresu, na ktorej sa viaže |
| Kontajner je dostupný napriek deny | Docker obchádza ufw | Naviaž na 127.0.0.1 |
Pred zatvorením portu spusti
ss -tulpna uisti sa, že rozumieš, čo na ňom sedí. Zatvorený monitorovací port neskôr vyzerá ako „služba spadla“.