Bez firewallu neexistují žádná pravidla ani omezení pro váš síťový provoz a to vede k řadě negativních důsledků. Systém Linux je dodáván s výchozím konfiguračním nástrojem brány firewall, kterým je Uncomplicated Firewall (UFW). Jak ale nastavit UFW firewall? Pohodlně se usaďte a uvolněte se, tento tutoriál vám pomůže!
V tomto tutoriálu se dozvíte, jak nakonfigurovat UFW a nastavit firewall na vašem systému Linux pro zabezpečení vaší sítě a odvrácení škodlivých činů.
Připraveni? Chcete-li začít, čtěte dále!
Předpoklady
Tento tutoriál bude praktickou ukázkou. Pokud je chcete sledovat, ujistěte se, že máte následující:
- Počítač Ubuntu – Tento výukový program používá Ubuntu 20.04 LTS, ale budou fungovat i jiné distribuce Linuxu.
- Kořenová oprávnění k vašemu počítači.
Instalace UFW a povolení připojení IPv6
I když je UFW součástí vašeho systému Ubuntu, UFW není ve výchozím nastavení nainstalováno. Nejprve nainstalujte UFW pomocí apt
správce balíčků a nakonfigurujte jej tak, aby umožňoval připojení přes IPv6.
1. Otevřete svůj terminál a spusťte apt update
příkaz níže pro aktualizaci vašeho místního indexu balíčků. Příkaz přijímá všechny výzvy (-y
) během aktualizace pro méně zásahů uživatele.
sudo apt update -y

2. Dále spusťte níže uvedený příkaz pro instalaci UFW (install uwf
) ve vašem systému a zároveň přijměte všechny výzvy (-y
) během instalace.
sudo apt install ufw -y

2. Otevřete konfigurační soubor UFW (/etc/default/ufw ) pomocí vašeho oblíbeného textového editoru. UFW podporuje IPv6, ale musíte se ujistit, že firewall je nakonfigurován tak, aby přijímal připojení přes IPv6.
Pokud máte povolený pouze protokol IPv4, stále se vystavujete útokům IPv6.
4. Přejděte dolů na IPV6 proměnnou a nastavte hodnotu na ano , jak je znázorněno níže, uložte změny a ukončete editor

5. Nakonec spusťte níže uvedený příkaz a deaktivujte a znovu povolte UFW. Příkaz restartuje službu UFW, aby se změny projevily.
Po dokončení příkazu může váš firewall nyní zapisovat sady pravidel brány firewall IPv4 i IPv6.
sudo ufw disable && sudo ufw enable
Konfigurace výchozích zásad pro pravidla brány firewall
Pokud s UFW teprve začínáte, doporučujeme pro vaše pravidla nastavit výchozí zásady. Výchozí zásady se použijí na řetězec, který ještě nemá definována žádná konkrétní pravidla.
Nastavte UFW tak, aby odmítal všechna příchozí připojení a povoloval všechna odchozí připojení. Výsledkem je, že kdokoli, kdo se pokusí připojit k vašemu počítači z vnějšího světa, je odepřen, přičemž se stále můžete volně připojit k libovolné webové stránce nebo serveru.
Spusťte ufw
příkaz níže na deny
všechny incoming
spojení default
.
sudo ufw default deny incoming

Nyní spusťte následující příkaz do allow
všechny outgoing
spojení default
.
sudo ufw default allow outgoing

Povolení připojení SSH na UFW Firewall
Právě jste nastavili výchozí zásady na vaší bráně UFW k odepření veškerého příchozího provozu a pravidlo „povolit vše-zakázat vše“ je dobré nastavení pro běžného uživatele. Ale co když provozujete server? Budete muset povolit konkrétní provoz a odjezd. Povolením připojení SSH na vašem UFW firewallu povolíte konkrétní provoz dovnitř a ven.
Nastavíte SSH server, který umožní příchozí SSH připojení na portu 22. Proč ale port 22 a ne jakýkoli jiný? Na systémech podobných Unixu naslouchá démon SSH ve výchozím nastavení na portu 22, takže je dobrým zvykem používat výchozí port SSH, abyste si trochu usnadnili život.
1. Spuštěním níže uvedených příkazů nainstalujte server OpenSSH (install openssh-server
) na vašem systému a spusťte OpenSSH server (start ssh
).
sudo apt install openssh-server -y
sudo systemctl start ssh
2. Nyní spusťte níže uvedený příkaz, abyste povolili příchozí připojení SSH. Bez uvedení portu 22 bude stačit, protože UFW ví, jaký port je pro SSH.
sudo ufw allow ssh

Soubor /etc/services obsahuje seznam všech dostupných služeb ve vašem systému. Otevřete soubor v textovém editoru, přejděte dolů na ssh a podívejte se na číslo portu (22 ) je součástí popisu služby, jak je uvedeno níže.

Možná však dáváte přednost specifikaci čísla portu (22
), abyste umožnili SSH. Pokud ano, spusťte místo toho následující příkaz.
sudo ufw allow 22
3. Nyní spusťte níže uvedený příkaz pro povolení UFW.
sudo ufw enable
Zadejte Y ve výzvě k potvrzení, jak je znázorněno níže, a stisknutím klávesy Enter pokračujte ve spuštění příkazu. UFW nyní začne filtrovat pakety ve vašem systému.

4. Nakonec spusťte některý z níže uvedených příkazů a zkontrolujte stav vašeho UFW firewallu.
## Displays more detailed information, such as the interface and
## the packet's current progress
sudo ufw status verbose
## Shows each rule with a number and the corresponding allow or deny status
## The numbered mode is useful when you are trying to delete a rule set here and there
sudo ufw status numbered
Pokud příkaz spustíte s verbose
možnost, uvidíte výstup podobný tomu níže:
- Stav:aktivní – Označuje, že brána firewall je aktuálně spuštěna.
- Přihlašování:zapnuto (nízké) – Označuje, že UFW zaznamenává všechny pakety zpracovávané bránou firewall.
- Výchozí:zakázat (příchozí), povolit (odchozí), zakázáno (směrováno) – Označuje, že výchozí zásada je zakázat všechna příchozí připojení a povolit všechna odchozí připojení.
- Nové profily:přeskočit – Označuje, že brána firewall aktuálně používá výchozí sadu pravidel.

Pokud příkaz spustíte s numbered
místo toho uvidíte výstup níže. Můžete zobrazit seznam očíslovaných pravidel a jejich odpovídající POVOLIT nebo DENY postavení.

Povolení připojení HTTP a HTTPS
V tomto okamžiku jste povolili pouze připojení SSH na vašem firewallu UFW, ale to omezuje možnosti vašeho serveru. Povolte jiné typy připojení, jako je HTTP nebo HTTPS, a přidejte do firewallu UFW další pravidla.
Chcete-li povolit příchozí připojení HTTP, spusťte některý z následujících příkazů.
## HTTP connection uses port 80 (not secure)
sudo ufw allow 80
sudo ufw allow http

Nyní spusťte některý z níže uvedených příkazů, abyste povolili příchozí připojení HTTPS.
sudo ufw allow https
## HTTP connection uses port 443 (secure)
sudo ufw allow 443

Povolení připojení ze specifického rozsahu portů a IP adresy
Některé aplikace využívají k poskytování svých služeb více portů. A možná máte řadu portů k otevření nebo potřebujete povolit připojení z konkrétní IP adresy. V takovém případě přidejte další pravidla brány firewall UFW.
Spusťte níže uvedené příkazy a povolte příchozí připojení na portech 5001 až 5009. Vždy byste měli zadat protokol (tcp
nebo udp
) za rozsahem portů, na který se pravidla vztahují, protože oba protokoly nepoužívají všechny porty.
Mezi běžně používané porty TCP patří například 80 (HTTP) a 443 (HTTPS). Mezi běžné porty UDP však patří 53 (DNS) a 67/68 (DHCP).
sudo ufw allow 5001:5010/tcp
sudo ufw allow 5001:5010/udp

Místo toho spusťte níže uvedený příkaz, pokud chcete povolit připojení SSH z konkrétní IP adresy. Příkaz umožňuje připojení SSH (port 22
) pouze z 192.168.1.2
IP adresa.
sudo ufw allow from 192.168.1.2 to any port 22

Povolení provozu z konkrétního síťového rozhraní
UFW také umožňuje povolit provoz pouze na konkrétním síťovém rozhraní, například eth0 je první rozhraní Ethernet a wlan0 je první rozhraní Wi-Fi.
Spusťte některý z níže uvedených příkazů a povolte připojení HTTP pouze na eth0
a wlan0
rozhraní.
## Allow HTTP connection only on the eth0 interface
sudo ufw allow in on eth0 to any port 80
## Allow HTTP connection only on the wlan0 interface
sudo ufw allow in on wlan0 to any port 80

Odstranění pravidel brány firewall UFW
Možná některá pravidla firewallu UFW už neslouží žádnému účelu. V takovém případě možná budete chtít některá pravidla z UFW odstranit. Nejprve však musíte znát číslo nebo název pravidla, které chcete odstranit.
1. Spuštěním níže uvedeného příkazu získáte očíslovaný seznam pravidel přidaných do UFW.
sudo ufw status numbered
Poznamenejte si číslo nebo název pravidla ve výstupu, jako je ten níže.

2. Dále spusťte níže uvedený příkaz na delete
číslo pravidla 4
, což je 5001:5010/tcp
rozsah portů.
sudo ufw delete 4

3. Spusťte níže uvedený příkaz na delete
pravidlo svým skutečným názvem s allow
postavení. V tomto příkladu byste odstranili http
pravidlo spuštěním následujícího příkazu.
sudo ufw delete allow http

4. Nyní spusťte následující příkaz na delete
pravidlo zadáním čísla portu (443
) s allow
postavení.
sudo ufw delete allow 443

5. Nakonec znovu spusťte následující příkaz jako v kroku 1, abyste vypsali všechna pravidla.
sudo ufw status numbered
Jak je vidět níže, pravidla pro 5001:5010/tcp
rozsah portů, http
a 443
port jsou nyní pryč.

Resetování brány UFW Firewall
Mohou nastat situace, kdy budete muset resetovat UFW na výchozí hodnoty, například po konfiguraci velké sady pravidel. Aktualizace může změnit vaši konfiguraci a vyžadovat, abyste znovu nakonfigurovali UFW a možná začali znovu od začátku.
Spusťte ufw reset
příkazem níže resetujete všechna pravidla brány firewall na výchozí nastavení. Tento příkaz zakáže UFW a odstraní všechna vaše aktuální pravidla brány firewall.
sudo ufw reset
Napište „Y“ a stiskněte Enter pro pokračování v resetování UFW firewallu.

Po dokončení resetu budete mít novou instalaci UFW plně deaktivovanou a dokonce i vaše výchozí zásady budou pryč.
Nyní spusťte níže uvedený příkaz a znovu povolte UFW a začněte konfigurovat pravidla brány firewall od začátku.
sudo ufw enable
Pokud se rozhodnete, že již UFW nechcete používat, není třeba jej znovu povolovat. Nebo spusťte níže uvedený příkaz a ujistěte se, že je UFW zakázáno.
sudo ufw disable

Závěr
V tomto tutoriálu jste si uvědomili, že nastavení firewallu není při používání UFW příliš náročné. Nyní byste měli dobře rozumět tomu, jak nastavit a implementovat svá vlastní pravidla s UFW na Ubuntu.
Proč na těchto nově nabytých znalostech nepostavit další informace o UFW a Docker Security na počítači se systémem Linux?