Vyhledávání na webu

Jak nastavit UFW Firewall na Ubuntu a Debianu


Správně fungující firewall je nejdůležitější součástí zabezpečení celého systému Linux. Distribuce Debian a Ubuntu je standardně dodávána s konfiguračním nástrojem firewallu s názvem UFW (Uncomplicated Firewall), který je nejoblíbenějším a snadno použitelným nástrojem příkazového řádku pro konfiguraci a správa firewallu v distribucích Ubuntu a Debian.

V tomto článku vysvětlíme, jak nainstalovat a nastavit firewall UFW v distribucích Ubuntu a Debian.

Předpoklady

Než začnete s tímto článkem, ujistěte se, že jste se přihlásili na svůj server Ubuntu nebo Debian pomocí uživatele sudo nebo pomocí účtu root. Pokud nemáte uživatele sudo, můžete si ho vytvořit podle následujících pokynů jako uživatel root.

adduser username
usermod -aG sudo username 
su - username
sudo whoami

Nainstalujte UFW Firewall na Ubuntu a Debian

UFW (Uncomplicated Firewall) by měl být standardně nainstalován v Ubuntu a Debianu, pokud ne, nainstalujte jej pomocí správce balíčků APT pomocí následujícího příkazu.

sudo apt install ufw

Zkontrolujte UFW Firewall

Po dokončení instalace můžete zkontrolovat stav UFW zadáním.

sudo ufw status verbose

Při první instalaci je UFW firewall ve výchozím nastavení vypnutý, výstup bude podobný jako níže.

Status: inactive

Povolit UFW Firewall

UFW firewall můžete aktivovat nebo povolit pomocí následujícího příkazu, který by měl firewall načíst a umožnit jeho spuštění při bootování.

sudo ufw enable

Chcete-li zakázat bránu firewall UFW, použijte následující příkaz, který uvolní bránu firewall a zakáže její spuštění při spouštění.

sudo ufw disable 

Výchozí zásady UFW

Ve výchozím nastavení brána firewall UFW zakazuje všechna příchozí připojení a povoluje pouze všechna odchozí připojení k serveru. To znamená, že nikdo nemá přístup k vašemu serveru, pokud výslovně neotevřete port, zatímco všechny běžící služby nebo aplikace na vašem serveru mohou mít přístup k vnější síti.

Výchozí zásady brány firewall UFW jsou umístěny v souboru /etc/default/ufw a lze je změnit pomocí následujícího příkazu.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Profily aplikací UFW

Při instalaci softwarového balíčku pomocí správce balíčků APT bude obsahovat profil aplikace v adresáři /etc/ufw/applications.d, který definuje službu a uchovává nastavení UFW.

Pomocí následujícího příkazu můžete vypsat všechny dostupné profily aplikací na vašem serveru.

sudo ufw app list

V závislosti na instalacích softwarových balíků ve vašem systému bude výstup vypadat podobně jako následující:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Pokud chcete získat více informací o konkrétním profilu a definovaných pravidlech, můžete použít následující příkaz.

sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

Povolte IPv6 s UFW

Pokud je váš server nakonfigurován s IPv6, ujistěte se, že váš UFW je nakonfigurován s podporou IPv6 a IPv4. Chcete-li to ověřit, otevřete konfigurační soubor UFW pomocí svého oblíbeného editoru.

sudo vi /etc/default/ufw

Poté se ujistěte, že „IPV6“ je v konfiguračním souboru nastaveno na „yes“, jak je uvedeno na obrázku.

IPV6=yes

Uložit a skončit. Poté restartujte firewall pomocí následujících příkazů:

sudo ufw disable
sudo ufw enable

Povolit připojení SSH na UFW

Pokud jste již povolili UFW firewall, zablokoval by všechna příchozí připojení a pokud jste připojeni k serveru přes SSH ze vzdáleného umístění, již jej nebudete moci znovu připojit.

Povolme připojení SSH k našemu serveru, abychom tomu zabránili pomocí následujícího příkazu:

sudo ufw allow ssh

Pokud používáte vlastní port SSH (například port 2222), musíte tento port otevřít na UFW firewallu pomocí následujícího příkazu.

sudo ufw allow 2222/tcp

Chcete-li zablokovat všechna připojení SSH, zadejte následující příkaz.

sudo ufw deny ssh/tcp
sudo ufw deny 2222/tcp  [If using custom SSH port]

Povolit specifické porty na UFW

Můžete také otevřít konkrétní port ve bráně firewall a umožnit tak připojení k určité službě přes něj. Pokud například chcete nastavit webový server, který naslouchá na portu 80 (HTTP) a 443 (HTTPS ) ve výchozím nastavení.

Níže je uvedeno několik příkladů, jak povolit příchozí připojení ke službám Apache.

Otevřete Port 80 HTTP na UFW
sudo ufw allow http     [By service name]
sudo ufw allow 80/tcp   [By port number]
sudo ufw allow 'Apache' [By application profile]
Otevřete port 443 HTTPS na UFW
sudo ufw allow https
sudo ufw allow 443/tcp
sudo ufw allow 'Apache Secure'

Povolit rozsahy portů na UFW

Za předpokladu, že máte nějaké aplikace, které chcete spouštět na řadě portů (5000-5003), můžete všechny tyto porty přidat pomocí následujících příkazů.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Povolit specifické IP adresy

Pokud chcete povolit připojení na všech portech z konkrétní IP adresy 192.168.56.1, musíte zadat před IP adresu.

sudo ufw allow from 192.168.56.1

Povolit specifické IP adresy na konkrétním portu

Chcete-li povolit připojení na konkrétním portu (například portu 22) z vašeho domácího počítače s adresou IP 192.168.56.1, musíte přidat jakýkoli port< a číslo portu za IP adresou, jak je uvedeno na obrázku.

sudo ufw allow from 192.168.56.1 to any port 22

Povolit síťovým podsítím na konkrétní port

Chcete-li povolit připojení pro konkrétní adresy IP v rozsahu od 192.168.1.1 do 192.168.1.254 na port 22 (SSH) , spusťte následující příkaz.

sudo ufw allow from 192.168.1.0/24 to any port 22

Povolit specifické síťové rozhraní

Chcete-li povolit připojení ke konkrétnímu síťovému rozhraní eth2 pro konkrétní port 22 (SSH), spusťte následující příkaz.

sudo ufw allow in on eth2 to any port 22

Zakázat připojení na UFW

Ve výchozím nastavení jsou všechna příchozí připojení blokována, pokud jste připojení přímo neotevřeli na UFW. Například jste otevřeli porty 80 a 443 a váš webový server je napaden neznámou sítí 11.12.13.0/24.

Chcete-li zablokovat všechna připojení z tohoto konkrétního rozsahu sítě 11.12.13.0/24, můžete použít následující příkaz.

sudo ufw deny from 11.12.13.0/24

Pokud chcete blokovat připojení pouze na portech 80 a 443, můžete použít následující příkazy.

sudo ufw deny from 11.12.13.0/24 to any port 80
sudo ufw deny from 11.12.13.0/24 to any port 443

Smazat pravidla UFW

Existují 2 způsoby, jak odstranit pravidla UFW, podle čísla pravidla a podle skutečného pravidla.

Chcete-li odstranit pravidla UFW pomocí čísla pravidla, musíte nejprve vytvořit seznam pravidel podle čísel pomocí následujícího příkazu.

sudo ufw status numbered
Ukázkový výstup
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

Chcete-li odstranit pravidlo číslo 1, použijte následující příkaz.

sudo ufw delete 1

Druhým způsobem je odstranění pravidla pomocí skutečného pravidla, například pro odstranění pravidla zadejte číslo portu s protokolem, jak je uvedeno na obrázku.

sudo ufw delete allow 22/tcp

Pravidla UFW nasucho

Pomocí příznaku --dry-run můžete spouštět jakékoli příkazy ufw, aniž byste skutečně provedli jakékoli změny v systémovém firewallu, což jednoduše ukazuje změny, ke kterým by mělo dojít.

sudo ufw --dry-run enable

Resetujte UFW Firewall

Z jednoho nebo druhého důvodu, pokud si přejete smazat/resetovat všechna pravidla brány firewall, zadejte následující příkazy, vrátí se všechny vaše změny a začne se znovu.

sudo ufw reset
sudo ufw status

Pokročilá funkce UFW

Firewall UFW dokáže dělat cokoli, co dělá iptables. To lze provést pomocí různých sad souborů pravidel, které nejsou nic jiného než jednoduché textové soubory iptables-restore.

Ladění UFW firewallu nebo přidávání dalších příkazů iptables není povoleno pomocí příkazu ufw, je to jen otázka změny následujících textových souborů

  • /etc/default/ufw: Hlavní konfigurační soubor s předdefinovanými pravidly.
  • /etc/ufw/before[6].rules: V tomto souboru jsou pravidla počítána před přidáním pomocí příkazu ufw.
  • /etc/ufw/after[6].rules: V tomto souboru se pravidla počítají po přidání pomocí příkazu ufw.
  • /etc/ufw/sysctl.conf: Tento soubor se používá k vyladění sítě jádra.
  • /etc/ufw/ufw.conf: Tento soubor povolí ufw při spouštění.

A je to! UFW je vynikající front-end pro iptables s uživatelsky přívětivým rozhraním pro definování složitých pravidel pomocí jediného příkazu ufw.

Máte-li jakékoli dotazy nebo myšlenky, které byste mohli sdílet o tomto článku ufw, kontaktujte nás pomocí níže uvedeného formuláře pro komentáře.