Jednou z mnoha ohlašovaných vlastností Linuxu je jeho bezpečnost. Od stolního počítače až po server najdete všechny nástroje, které potřebujete k tomu, aby byly tyto stroje co nejpevněji uzamčeny před různými síťovými záškodníky. Po dlouhou dobu byla bezpečnost Linuxu v rukou iptables (který pracuje se základním systémem netfilter). Přestože je iptables neuvěřitelně výkonný, je komplikovaný – zejména pro novější uživatele. Chcete-li tento systém skutečně využít na maximum, může trvat týdny nebo měsíce, než se vám to v hlavě správně poskládá. Naštěstí je připraven mnohem jednodušší frontend pro iptables, který vám pomůže zabezpečit váš systém tak, jak potřebujete.

Tím frontendem je Uncomplicated Firewall (UFW). UFW poskytuje mnohem uživatelsky přívětivější rámec pro správu netfilter a rozhraní příkazového řádku pro práci s firewallem. Kromě toho, pokud byste se raději nezabývali příkazovým řádkem, UFW má několik nástrojů GUI, které neuvěřitelně zjednodušují práci se systémem.

Než však zjistíme, jaké nástroje GUI jsou k dispozici, je nejlepší pochopit, jak funguje systém příkazového řádku UFW.

Ovládání UFW pomocí příkazové řádky

Základní struktura příkazů UFW vypadá takto:

$ sudo ufw [--dry-run] [options] [rule syntax]

Volba --dry-run nám umožňuje otestovat pravidlo, bez toho, že by byly zapsány změny do firewallu. Místo toho uvidíme, co naše pravidlo bude dělat.

UWF můžeme používat dvěma způsoby:

  • Jednoduché pravidlo: určíme port a (volitelně) protokol

  • Plné pravidlo: určíme zdrojovou IP adresu, cílovou IP adresu, port a (volitelně) protokol

Jednoduché pravidlo, například chceme povolit provoz na prtu 22 (Secure Shell). Uděláme to takto

$ sudo ufw allow 22

sudo na prvním místě nám připomíná, že pro manipulaci s firewallem musíme mít práva roota. V Linuxových distribucích bez sudo, můžeme použít su a potom budou příkazy ufw bez sudo.

Podobně pokud chceme zakázat připojení na TCP port 22, uděláme to takto:

$ sudo ufw deny 22/tcp

Co dělat, pokud si nepamatujeme číslo portu? Stačí znát jméno služby, kterou chceme povolit nebo zakázat. Vývojáři ufw na to pamatovali a příkaz si přečte soubor /etc/services a proto můžeme zadávat jméno služby.

$ sudo ufw allow ssh/tcp

Všechny možné argumenty příkazu ufw jsou:

  • allow (povolit provoz)

  • deny (zakázat provoz a neodpovídat ICMP zprávou)

  • reject (zakázat provoz a odpovědět ICMP zprávou, že je zakázáno)

  • limit (omezit počet spojení)

  • status: zobrazí, za je firewall zapnut nebo vypnut

  • show: zobrazí pravidla firewallu

  • reset: vypne firewall a nastaví ho do výchozízo nastavení

  • reload: znova načte běžící pravidla firewallu

  • disable: vypne firewall

Plná pravidá pravidla vypadají tak, že v pravidle definujeme zdrojovou a cílovou adresu.

Předpokládejme, že náš počítač (IP 10.200.1.206) otravuje stroj s IP adresou 10.200.1.205 na portu 25 (SMTP). Zablokujeme ho pomocí pravidla:

$ sudo ufw deny from 10.200.1.205 to 10.200.1.206 port 25

Teď se podívejme na volbu limit. Pokud máte nějaký důvod se domnívat, že by někdo mohl shodit váš web server pomocí útoku typu odmítnutí služby (přetížení serveru), můžete omezit připojení k portu 80 příkazem:

$ sudo ufw limit 80/tcp

Implicitně připojení na port 80 začnou být blokována pokud počet připojení přesáhne 6 nových připojení za posledních 30 sekund.

Možná budete také chtít povolit odchozí provoz z určitého portu, ale zakázat příchozí provoz na stejném portu. K tomu byste použili směrový argument (out) takto. Chcete-li povolit odchozí provoz na portu 25 (SMTP), zadejte příkaz:

$ sudo ufw allow out on eth0 to any port 25 proto tcp

A potom v následujícím příkazu zablokovat příchozí provoz na port 25.

$ sudo ufw deny in eth0 from any 25 proto tcp

Nástroje s grafickým uživatelským rozhraním

Nyní, když rozumíte základům UFW, je čas zjistit, jaké nástroje GUI jsou k dispozici, aby bylo používání tohoto praktického firewallu ještě jednodušší. Není mnoho těch, které jsou aktivně udržovány, a mnoho distribucí je výchozích pro jednu konkrétní. To GUI je Gufw, které je jedním z nejpopulárnějších rozhraní GUI pro UFW. Je k dispozici pro Ubuntu, Linux Mint, openSUSE, Arch Linux a Salix OS. S Gufw můžete snadno vytvářet profily, které odpovídají různým účelům použití pro stroj (doma, veřejnost, kancelář atd.). Jak můžete od takového nástroje očekávat, Gufw nabízí rozhraní, díky kterému se uživatel na jakékoli úrovni bude cítit jako doma.

Některé distribuce, jako je Ubuntu, ve výchozím nastavení Gufw neinstalují. Najdete jej však v softwarovém centru Ubuntu. Vyhledejte gufw a nainstalujte jej jediným kliknutím anebo pomocí příkazové řádky.

$ sudo apt install gufw

Kompletní dokumentace pro ufw je zde: Uncomplicated Firewall.

Dokumentace a ukázky pro gufw najdete na Gufw.

Návod na použití ufw, který jde do hloubky najdete třeba na Setting Up a Firewall using UFW: An In-Depth Guide.

Zdroje a odkazy