Skip to content
VDS · Sieť, IP adresa a domény

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

ChybaNásledokRiešenie
ufw enable bez pravidla pre SSHStrata sieťového prístupuDostaň sa dnu cez konzolu v paneli, ufw allow 22/tcp
Zmenil si SSH port, staré pravidlo zostaloTo istéNajprv pravidlo, potom port
Port je otvorený, služba neodpovedáSlužba počúva na 127.0.0.1Zmeň adresu, na ktorej sa viaže
Kontajner je dostupný napriek denyDocker obchádza ufwNaviaž na 127.0.0.1

Pred zatvorením portu spusti ss -tulpn a uisti sa, že rozumieš, čo na ňom sedí. Zatvorený monitorovací port neskôr vyzerá ako „služba spadla“.