Jak nastavit bránu firewall na serveru Ubuntu
Vydáno: 15. února 2025 v 21:32:43 UTC
Tento článek vysvětluje a poskytuje několik příkladů, jak nastavit firewall v GNU/Linuxu pomocí ufw, což je zkratka pro Uncomplicated FireWall – a název sedí, je to opravdu velmi snadný způsob, jak zajistit, abyste neměli otevřených více portů, než potřebujete.
How to Set Up a Firewall on Ubuntu Server
Informace v tomto příspěvku jsou založeny na serveru Ubuntu 14.04 x64. Může a nemusí platit pro jiné verze. (Aktualizace: Mohu potvrdit, že informace v tomto příspěvku jsou v zásadě stále platné a funkční od Ubuntu Server 24.04, nicméně za těch 10 let se ufw poněkud „chytřelo“ tím, že má profily pro běžné serverové aplikace (například můžete povolit „Nginx full“ místo portů 80 a 443 již samostatně) a není potřeba používat celý firewall/povolit nová pravidla
Když jsem poprvé začínal se servery GNU/Linux (Ubuntu), nastavení brány firewall zahrnovalo ruční vytvoření a údržbu potenciálně složitého konfiguračního souboru pro iptables. Nedávno jsem však objevil ufw , což je zkratka pro Uncomplicated Firewall – a opravdu je :-)
Moje instalace Ubuntu Server 14.04 již měla nainstalovaný ufw, ale pokud ne, jednoduše jej nainstalujte z úložišť:
UFW je vlastně jen nástroj, který zjednodušuje konfiguraci iptables – v zákulisí je to stále iptables a firewall linuxového jádra, který provádí filtrování, takže ufw není ani méně, ani bezpečnější než tyto. Protože však ufw značně usnadňuje správnou konfiguraci firewallu, může snížit riziko lidské chyby, a proto je možná bezpečnější pro nezkušené administrátory.
Pokud je váš server nakonfigurován s IPv6 i IPv4, ujistěte se, že je povoleno i pro UFW. Upravte soubor /etc/default/ufw a vyhledejte řádek IPV6=yes . V mé instalaci to již bylo, ale pokud tomu tak není nebo pokud je uvedeno ne, měli byste to upravit
Poté jednoduše pomocí příkazového řádku povolte porty, které chcete otevřít. Pokud jste ke svému serveru připojeni přes ssh, ujistěte se, že to také povolíte, jinak to může narušit vaše připojení a případně vás uzamknout z vašeho serveru, když jej aktivujete – v závislosti na tom, zda máte fyzický přístup k serveru nebo ne, to může být trochu nepohodlné ;-)
Pokud například používáte ssh na standardním portu 22 a konfigurujete webový server, který podporuje jak nešifrovaná (HTTP na portu 80), tak šifrovaná (HTTPS na portu 443) připojení, zadali byste následující příkazy pro konfiguraci ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Pokud potřebujete další pravidla, jednoduše je přidejte výše uvedeným způsobem.
Pokud máte statickou IP adresu a potřebujete se připojit pouze přes ssh z jednoho místa, můžete také omezit ssh připojení na jedinou původní adresu, jako je tato:
Místo toho samozřejmě zadejte svou vlastní IP adresu.
Po dokončení povolte ufw zadáním:
A máte hotovo! Firewall běží a automaticky se spustí po restartu serveru :-)
Pokud provedete změny v konfiguraci ufw, možná je budete muset deaktivovat a znovu povolit, aby se projevily, například takto:
sudo ufw enable
Chcete-li se podívat na aktuální konfiguraci, jednoduše zadejte:
Pokud ufw není povoleno, zobrazí se jednoduše zpráva „neaktivní“, jinak se zobrazí seznam aktuálně definovaných pravidel.