Nastavení firewallu pomocí nástroje ufw pro operační systémy linux
Jeden z první řady obran vašeho serveru je firewall. V minulosti nastavení firewallu často bylo řešeno přes složité a tajemné nástroje.
Dnes můžeme využít nástroj UFW.
Než začneme
Ujistěte se že máte UFW máte instalovaný. V Ubuntu by se nacházet měl ze základu, případně pokud z nějakého důvodu není můžete nainstalovat pomocí:
sudo apt-get install ufw
Status firewallu
Zjistíme status našeho firewallu.
sudo ufw status
Právě teď vám pravděpodobně napíše že je "inactive" (neaktivní).
Když je ufw aktivní, výstup bude seznam aktuálních pravidel.
Používání IPv6 s UFW
Pokud vaše VPS používá IPv6, ujistěte se že UFW je nastaven pro podporu IPv6.
Ujistěte se že IPV6 je nastaven na "yes".
Soubor: /etc/default/ufw
IPV6=yes
Uložíme a zavřeme soubor.
Restartujeme firewall pomocí:
sudo ufw disable
sudo ufw enable
Nyní UFW bude nastavovat firewall pro IPv4 a IPv6, když bude potřeba.
Základní nastavení
Jedna z věcí které dělají nastavovaní firewallu lehčí je určit základní pravidla pro povolení a odmítnutí spojení. Pro UFW základní nastavení je odmítnout všechny příchozí spojení (Nikdo se nedostane na váš server) a povolit všechny odchozí spojení (jakákoliv aplikace na vašem serveru má přístup k venkovnímu světu).
Toho docílíme pomocí:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Případně je možné zákazat i všechny odchozí spojení a poté si definovat jenom které aplikace mají mít přístup k venkovnímu světu.
sudo ufw default deny outgoing
Povolování spojení
Povolovat spojení můžeme pro jednotlivé služby a porty, například pro povolení SSH použijeme:
sudo ufw allow ssh
V tomto případě nám "ssh" slouží jako zkratka pro:
sudo ufw allow 22/tcp
Tento příkaz povoluje spojení na portu 22 při použití TCP protokolu.
Pokud SSH server běží na jiném portu, povolit ve firewallu i daný port.
Další vhodné služby:
sudo ufw allow www
nebo-li sudo ufw allow 80/tcp
sudo ufw allow ftp
nebo-li sudo ufw allow 21/tcp
Zde bude potřeba spíše více testování, než si nastavíte
Rozsahy
Povolit také můžeme rozsah portů pro specifický protokol.
Například pro rozsah portů 500 - 1000:
sudo ufw allow 500:1000/tcp
IP adresy
Můžeme povolit provoz i pro konkrétní IP adresy.
sudo ufw allow from 172.16.x.x
Odmítnutí spojení
Doteď jsme nastavovali povolení (allow) spojení, dále můžeme spojení odmítat (deny).
sudo ufw deny 80/tcp
Tento příkaz odmítne komunikace na portu 80.
Mazání pravidel
Máme 2 možnosti jak vytvořená pravidla mazat.
sudo ufw delete allow ssh
nebo
sudo ufw status numbered
sudo ufw delete (cislo)
Zapnutí firewallu
Až bude UFW nastavený, tak jak potřebujete, můžeme UFW zapnout.
Pokud se připojujete přes SSH, ujistěte se že SSH port (klasicky 22) má povolené přijmout spojení.
sudo ufw enable
Nyní můžeme zkontrolovat stav UFW a aktivní pravidla.
sudo ufw status
Pro vypnutí UFW
sudo ufw disable
Vše od znova
Pokud z jakéhokoliv důvodu potřebujete nastavit UFW do základního nastavení, můžeme použít
sudo ufw reset
Hotovo.