GNU/Linux >> Znalost Linux >  >> Ubuntu

Iptables Tutorial – Zabezpečení Ubuntu VPS pomocí Linux Firewall

Hledáte kompletní návod na iptables? Zůstaň na místě. V tomto článku vám ukážeme, jak nainstalovat a používat iptables v systému Ubuntu. Když se seznámíte s tímto nástrojem brány firewall systému Linux, můžete zabezpečit své Linux VPS pomocí rozhraní příkazového řádku.

Co je Iptables a jak funguje?

Jednoduše řečeno, iptables je firewallový program pro Linux. Bude sledovat provoz z a na váš server pomocítabulek . Tyto tabulky obsahují sady pravidel , nazývané řetězce , který bude filtrovat příchozí a odchozí datové pakety.

[optin-monster-shortcode id=”fv4lqeko3gylvecpszws”]

Když paket odpovídá pravidlu , je mu přidělen cíl , což může být jiný řetězec nebo jedna z těchto speciálních hodnot:

  • PŘIJMOUT – umožní paketu projít.
  • DROP – nenechá paket projít.
  • NÁVRAT – zastaví paket v procházení řetězcem a řekne mu, aby se vrátil k předchozímu řetězci.

V tomto tutoriálu iptables budeme pracovat s jednou z výchozích tabulek, nazvanou filtr . Skládá se ze tří řetězců:

  • INPUT – řídí příchozí pakety na server.
  • Vpřed – filtruje příchozí pakety, které budou předány jinam.
  • VÝSTUP – filtrovat pakety, které odcházejí z vašeho serveru.

Než začneme s tímto průvodcem, ujistěte se, že máte SSH root nebo sudo přístup k vašemu počítači, který běží na Ubuntu 16.04 nebo novějším. Připojení můžete vytvořit pomocí PuTTY (Windows) nebo terminálového shellu (Linux, macOS). Pokud vlastníte Hostinger VPS, můžete získat přihlašovací údaje SSH na kartě Servery v hPanel.

Důležité! Pravidla iptables platí pouze proipv4 . Pokud chcete nastavit firewall pro ipv6 protokolu, budete muset použít ip6tables namísto.

Jak nainstalovat a používat Iptables Linux Firewall

Tento tutoriál iptables rozdělíme do tří kroků. Nejprve se naučíte, jak nainstalovat nástroj na Ubuntu. Za druhé, ukážeme vám, jak definovat pravidla. Nakonec vás provedeme prováděním trvalých změn v iptables.

Krok 1 – Instalace iptables

Iptables je předinstalovaný ve většině distribucí Linuxu. Pokud jej však v systému Ubuntu/Debian ve výchozím nastavení nemáte, postupujte podle následujících kroků:

  1. Připojte se k serveru přes SSH. Pokud to nevíte, můžete si přečíst náš tutoriál SSH.
  2. Postupně spusťte následující příkaz:
    sudo apt-get update
    sudo apt-get install iptables
  3. Zkontrolujte stav své aktuální konfigurace iptables spuštěním:
    sudo iptables -L -v

    Zde -L volba se používá k výpisu všech pravidel a -v slouží k zobrazení informací v podrobnějším formátu. Níže je uveden příklad výstupu:

    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
    pkts bytes target     prot opt in out   source destination
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    pkts bytes target     prot opt in out   source destination
    
    Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
    pkts bytes target     prot opt in out   source destination

Nyní budete mít nainstalovaný linuxový firewall. V tomto okamžiku si můžete všimnout, že všechny řetězce jsou nastaveny na AKCEPTOVAT a nemají žádná pravidla. To není bezpečné, protože jakýkoli paket může projít bez filtrování.

nebojte se. Jak definovat pravidla, vám řekneme v dalším kroku našeho výukového programu iptables.

Krok 2 – Definování pravidel řetězce

Definování pravidla znamená jeho připojení do řetězce. Chcete-li to provést, musíte vložit -A možnost (Připojit ) hned za příkazem iptables, například takto:

sudo iptables -A

Upozorní iptables, že přidáváte nová pravidla do řetězce. Poté můžete příkaz zkombinovat s dalšími možnostmi, například:

  • -i (rozhraní ) — síťové rozhraní, jehož provoz chcete filtrovat, například eth0, lo, ppp0 atd.
  • -p (protokol ) — síťový protokol, ve kterém probíhá proces filtrování. Může to být buď tcp , udp , udplite , icmp , sctp , icmpv6 , a tak dále. Případně můžete zadat vše vybrat každý protokol.
  • -s (zdroj ) — adresa, ze které pochází provoz. Můžete přidat název hostitele nebo IP adresu.
  • –dport (cílový port ) — číslo cílového portu protokolu, například 22 (SSH ), 443 (https ), atd.
  • -j (cíl ) — název cíle (ACCEPT , DROP , NÁVRAT ). Toto musíte vložit pokaždé, když vytvoříte nové pravidlo.

Pokud je chcete použít všechny, musíte příkaz napsat v tomto pořadí:

sudo iptables -A <chain> -i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no.>  -j <target>

Jakmile pochopíte základní syntaxi, můžete začít konfigurovat bránu firewall tak, aby poskytovala vašemu serveru větší zabezpečení. V tomto tutoriálu iptables použijeme INPUT řetěz jako příklad.

Povolení provozu na Localhost

Chcete-li povolit provoz na localhost, zadejte tento příkaz:

sudo iptables -A INPUT -i lo -j ACCEPT

Pro tento výukový program iptables používámelo nebo zpětná smyčka rozhraní. Používá se pro veškerou komunikaci na localhost. Výše uvedený příkaz zajistí, že spojení mezi databází a webovou aplikací na stejném počítači fungují správně.

Povolení připojení na portu HTTP, SSH a SSL

Dále chceme http (port 80 ), https (port 443 ) a ssh (port 22 ) připojení k práci jako obvykle. K tomu musíme specifikovat protokol (-p ) a odpovídající port (–dport ). Tyto příkazy můžete provádět jeden po druhém:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Je čas zkontrolovat, zda byla pravidla připojena v iptables:

sudo iptables -L -v

Měl by se vrátit s výsledky níže, což znamená, že všechna připojení protokolu TCP ze zadaných portů budou přijata:

Filtrování paketů podle zdroje

Iptables umožňuje filtrovat pakety na základě IP adresy nebo rozsahu IP adres. Musíte jej zadat za -s volba. Chcete-li například přijímat pakety z 192.168.1.3 , příkaz by byl:

sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT

Pakety z konkrétní IP adresy můžete také odmítnout nahrazením ACCEPT cílit pomocí DROP .

sudo iptables -A INPUT -s 192.168.1.3 -j DROP

Pokud chcete zahazovat pakety z rozsahu IP adres, musíte použít -m a iprange modul. Poté zadejte rozsah IP adres pomocí –src-range . Pamatujte, že pomlčka by měla oddělovat rozsah IP adres bez mezery, takto:

sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j DROP

Vyřazení veškerého ostatního provozu

Je důležité použít DROP cíl pro veškerý ostatní provoz po definování –dport pravidla. To zabrání neoprávněnému připojení v přístupu k serveru přes jiné otevřené porty. Chcete-li toho dosáhnout, jednoduše zadejte:

sudo iptables -A INPUT -j DROP

Nyní bude spojení mimo zadaný port zrušeno.

Odstranění pravidel

Pokud chcete odstranit všechna pravidla a začít s čistým štítem, můžete použít -F možnost (vyprázdnit ):

sudo iptables -F

Tento příkaz vymaže všechna aktuální pravidla. Chcete-li však odstranit konkrétní pravidlo, musíte použít volbu -D. Nejprve musíte zobrazit všechna dostupná pravidla zadáním následujícího příkazu:

sudo iptables -L --line-numbers

Získáte seznam pravidel s čísly:

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination

1    ACCEPT     all -- 192.168.0.4          anywhere
2    ACCEPT     tcp -- anywhere             anywhere tcp dpt:https
3    ACCEPT     tcp -- anywhere             anywhere tcp dpt:http
4    ACCEPT     tcp -- anywhere             anywhere tcp dpt:ssh

Chcete-li pravidlo odstranit, vložte odpovídající řetězec a číslo ze seznamu. Řekněme, že v tomto tutoriálu iptables se chceme zbavit pravidla číslo tři z INPUT řetěz. Příkaz by měl být:

sudo iptables -D INPUT 3

Krok 3 – Trvalé změny

Pravidla iptables, která jsme vytvořili, jsou uložena v paměti. To znamená, že je musíme předefinovat při restartu. Chcete-li, aby tyto změny byly trvalé i po restartování serveru, můžete použít tento příkaz:

sudo /sbin/iptables-save

Uloží aktuální pravidla do konfiguračního souboru systému, který bude použit k překonfigurování tabulek pokaždé, když se server restartuje.

Pamatujte, že tento příkaz byste měli vždy spustit pokaždé, když provedete změny v pravidlech. Pokud například chcete zakázat iptables, musíte provést tyto dva řádky:

sudo iptables -F
sudo /sbin/iptables-save

Uvidíte následující výsledky:

Závěr

Iptables je výkonný firewallový program, který můžete použít k zabezpečení svého linuxového serveru nebo VPS. Skvělé je, že můžete definovat různá pravidla na základě vašich preferencí.

V tomto tutoriálu iptables jste se naučili, jak nástroj nainstalovat a používat. Nyní doufáme, že můžete spravovat své sady pravidel pro filtrování příchozích a odchozích paketů.

Je čas to otestovat a hodně štěstí!


Ubuntu
  1. Nastavte Linux Container s LXC na Ubuntu 16.04

  2. Jak nastavit bránu firewall s iptables na Ubuntu a CentOS

  3. Zabezpečení vašeho VPS založeného na Ubuntu/Debianu pomocí firewallu IPTABLES/Netfilter

  1. Konfigurace brány firewall pomocí Iptables na Ubuntu 14.04

  2. Usb grafický adaptér s ovladači pro Linux/ubuntu?

  3. Jak nahradíme Iptables Firewallem v Ubuntu 16.04?

  1. Výukový program příkazu Linux Ping s příklady

  2. Iptables Tutorial:Ultimate Guide to Linux Firewall

  3. Jak nastavit bránu firewall s UFW na Ubuntu 18.04