iptables

Ubuntu Iptables Jak řídit síťový provoz pomocí iptables?

Ubuntu Iptables Jak řídit síťový provoz pomocí iptables?
"… A." obslužný program Unix v uživatelském prostoru, který umožňuje správcům systému konfigurovat pravidla filtrování paketů IP implementovaná modulem síťového filtru jádra.“ Iptables fungují jako brána firewall pomocí pravidel filtrování paketů založených na různých kritériích, jako je IP adresa, port a protokoly.

Tato příručka pojednává o tom, jak konfigurovat a používat pravidla iptables v systému Ubuntu k zabezpečení vaší sítě. Ať už jste začínajícím uživatelem systému Linux nebo zkušeným správcem systému, z této příručky a tak či onak se dozvíte něco užitečného o iptables.

Iptables jsou předinstalovány na Ubuntu a většině distribucí založených na Debianu. Ubuntu také balí firewall GUFW, grafickou alternativu, kterou můžete použít pro práci s iptables.

POZNÁMKA: Chcete-li používat a konfigurovat iptables, budete v systému potřebovat oprávnění sudo. Další informace o sudo se dozvíte z následujícího tutoriálu.

Nyní, když víte, co je Iptables, pojďme se ponořit přímo dovnitř!

Jak používat iptables ke správě provozu IPv4?

Abyste mohli Iptables používat pro správu sítě a provozu IPv4, musíte pochopit následující:

Příkaz Iptables

Iptables nabízí výběr možností, které vám umožňují přizpůsobit a vyladit vaše pravidla iptables. Pojďme diskutovat o některých z těchto parametrů a podívejme se, co dělají.

POZNÁMKA: Můžete nakonfigurovat sadu pravidel, která spravují konkrétní podmnožinu, známou jako řetězce iptables.

Parametry Iptables

Než začneme vytvářet a konfigurovat pravidla iptables, pojďme nejprve porozumět základům iptables, jako je obecná syntaxe a výchozí argumenty.

Zvažte následující příkaz:

sudo iptables -I VSTUP -s 192.168.0.24 -j DROP

Výše uvedený příkaz říká iptables, aby vytvořily pravidlo v řetězci. Pravidlo zruší všechny pakety z adresy IP 192.168.0.24.

Prozkoumejme příkaz, řádek po řádku, abychom mu lépe porozuměli.

Iptables nabízí výběr parametrů, které můžete použít ke konfiguraci různých pravidel. Mezi různé parametry, které můžete použít ke konfiguraci pravidel iptables, patří:

Parametr pravidla Iptables Popis
-s -zdroj Zadejte zdroj, kterým může být adresa, název hostitele nebo název sítě.
-p -protokol Určuje protokol připojení; například TCP, UDP atd.
-d - cíl Určuje cíl, kterým může být adresa, název sítě nebo název hostitele.
-j - skočit Nastaví akci iptables, kterou provede po nalezení paketu.
-o -out-interface Nastavuje rozhraní, přes které iptable odesílá paket.
-i -v rozhraní Nastaví rozhraní použité k vytvoření síťových paketů.
-c-čítače sady Umožňuje správci nastavit čítače bajtů a paketů pro určité pravidlo.
-g -goto řetězec Parametr určuje, že zpracování by mělo po návratu pokračovat v řetězci sady uživatelů.
-f-fragment Říká iptables, aby pravidlo aplikovaly pouze na druhý a následující fragmenty fragmentovaných paketů.

Možnosti Iptables

Příkaz iptables podporuje širokou škálu možností. Mezi běžné patří:

Volba Popis
-A - přidat Přidá pravidlo na konec zadaného řetězce
-D - odstranit Odebere pravidlo ze zadaného řetězce
-F-flush Odebere všechna pravidla, jedno po druhém
-L-seznam Zobrazí všechna pravidla v zadaném řetězci
-Vložím Vloží pravidlo do zadaného řetězce (předáno jako číslo, pokud není zadáno žádné číslo; pravidlo bude přidáno nahoře)
-C - kontrola Dotazy na shodu pravidel; požadavek ve stanoveném pravidle
-v -verbose Při použití s ​​parametrem -L zobrazí další podrobnosti
-N-nový řetěz Přidá nový uživatelsky definovaný řetězec
-X - odstranit řetězec Odebere konkrétní uživatelsky definovaný řetězec

Tabulky Iptables

Linuxové jádro má výchozí tabulky, které obsahují sadu souvisejících pravidel. Tyto výchozí tabulky mají sadu výchozích řetězců, ale uživatelé si mohou pravidla přizpůsobit přidáním uživatelem definovaných pravidel.

POZNÁMKA: Výchozí tabulky budou silně záviset na vaší konfiguraci jádra a nainstalovaných modulech.

Zde jsou výchozí tabulky iptables:

1: Filtrační tabulky

Tabulka filtrů je výchozí tabulka, která obsahuje řetězce používané pro filtrování síťových paketů. Některé z výchozích řetězců v této tabulce zahrnují:

Řetěz Popis
Vstup Iptables používají tento řetězec pro všechny příchozí pakety do systému, tj.E., pakety směřující do zásuvek místní sítě.
Výstup Iptables používají výstupní řetězec pro lokálně generované pakety, tj.E., pakety vycházející ze systému.
Vpřed Tento řetězec je to, co Iptables používají pro pakety směrované nebo předávané přes systém.

2: Tabulky NAT

Tabulka NAT nebo síťových adres je směrovací zařízení používané k úpravě zdrojových a cílových IP adres v síťovém paketu. Hlavní použití tabulky NAT spočívá v propojení dvou sítí v rozsahu soukromých adres s veřejnou sítí.

NAT byl vyvinut pro podporu maskování skutečných IP adres, což umožňuje dosahování rozsahů soukromých IP adres na vnější síť. To pomáhá chránit podrobnosti o interních sítích před odhalením ve veřejných sítích.

Tabulka NAT se použije, když paket zahájí nové připojení.

Iptables mají výchozí tabulku pro adresování NAT. Tato tabulka má tři hlavní řetězce:

Řetěz Popis
OBRÁZKOVÁNÍ Umožňuje úpravu informací o paketech před příjezdem do řetězce INPUT - používá se pro příchozí pakety
VÝSTUP Vyhrazeno pro pakety vytvořené místně, tj.E., než dojde k směrování v síti
POSTROUTING Umožňuje úpravu odchozích paketů - Pakety opouštějící řetězec VÝSTUP

Níže uvedený diagram ukazuje přehled tohoto procesu na vysoké úrovni.

Pomocí níže uvedeného příkazu můžete zobrazit své směrovací tabulky NAT.

iptables -t nat -n -v -L

3: Mangle Tables

Manglová tabulka se používá hlavně pro speciální úpravy paketů. Jednoduše řečeno, používá se k úpravě hlaviček IP síťového paketu. Modifikace paketů může zahrnovat změnu hodnoty TTL paketu, změnu platného síťového přeskakování pro paket atd.

Tabulka obsahuje následující výchozí řetězce:

Řetěz Popis
OBRÁZKOVÁNÍ Vyhrazeno pro příchozí pakety
POSTROUTING Používá se pro odchozí pakety
VSTUP Používá se pro pakety přicházející přímo na server
VÝSTUP Používá se pro místní pakety
Vpřed Vyhrazeno pro pakety směrované systémem

4: Surové tabulky

Hlavním účelem tabulky raw je konfigurace výjimek pro pakety, které nejsou určeny ke zpracování sledovacím systémem. Nezpracovaná tabulka nastaví značku NOTRACK na pakety a vyzve funkci conntrack k ignorování paketu.

Conntrack je síťová funkce jádra Linuxu, která umožňuje jádru Linuxu sledovat všechna síťová připojení a umožňuje jádru identifikovat pakety tvořící síťový tok.

Surový stůl má dva hlavní řetězce:

Řetěz Popis
OBRÁZKOVÁNÍ Vyhrazeno pro pakety přijaté síťovými rozhraními
VÝSTUP Vyhrazeno pro pakety iniciované místními procesy

5: Tabulka zabezpečení

Primární použití této tabulky je nastavení interního bezpečnostního mechanismu vylepšení zabezpečení pro Linux (SELinux), který označuje na paketech. Bezpečnostní značku lze použít na každé připojení nebo paket.

Používá se pro povinná pravidla kontroly přístupu a je druhou tabulkou přístupnou po tabulce filtrů. Nabízí následující výchozí řetězce:

Řetěz Popis
VSTUP Vyhrazeno pro příchozí pakety do systému
VÝSTUP Používá se pro lokálně vytvořené pakety
VPŘED Používá se pro pakety směrované systémem

Když jsme se podívali na výchozí Iptables, pojďme o krok dále a proberme, jak pracovat s pravidly iptables.

Jak pracovat s pravidly iptables?

Pravidla Iptables se aplikují vzestupně. To znamená, že první pravidlo v konkrétní sadě je použito jako první, následuje druhé, potom třetí atd., Až do posledního.

Z důvodu této funkce vám iptables zabrání v přidání pravidel do sady pomocí parametru -A; musíte použít -I, následované číslem nebo jeho vyprázdněním pro přidání do horní části seznamu.

Zobrazuji Iptables

Chcete-li zobrazit své iptables, použijte příkaz iptables -L -v pro IPv4 a ip6tables -L -v pro IPv6.

Vkládání pravidel

Chcete-li vložit pravidla do sady, musíte je umístit v přesném pořadí a respektovat pravidla použitá stejným řetězcem. Seznam vašich pravidel iptables můžete zobrazit pomocí výše uvedeného příkazu:

sudo iptables -L -v

Chcete-li například vložit pravidlo umožňující příchozí připojení k portu 9001 přes TCP, musíme zadat číslo pravidla do řetězce INPUT, který dodržuje pravidla provozu pro web.

sudo iptables -I INPUT 1 -p TCP --dport 9001 -m state --state NEW -j ACCEPT

Jakmile zobrazíte aktuální iptables, mělo by se vám v sadě zobrazit nové pravidlo.

sudo iptables -L -v

Výměna pravidel

Funkce nahrazení funguje podobně jako vložení, ale používá příkaz iptables -R. Například k úpravě výše uvedeného pravidla a nastavení odepření portu 9001 jsme:

sudo iptables -R VSTUP 1 -p TCP --dport 9001 -m stav --state NOVÝ -j ODMÍTNOUT

Odstranění pravidla

Chcete-li pravidlo odstranit, předáme číslo pravidla. Chcete-li například odstranit výše uvedené pravidlo, můžeme zadat jako:

sudo iptables -D VSTUP 1

Ve většině distribucí Linuxu jsou iptables prázdné pro IPv4 i IPv6. Pokud jste tedy nepřidali žádné nové pravidlo, získáte výstup podobný tomu, který je uveden níže. To je riskantní, protože to znamená, že systém umožňuje veškerý příchozí, odchozí a směrovaný provoz.

Pojďme se zabývat tím, jak konfigurovat iptables:

Jak konfigurovat iptables?

Existuje mnoho způsobů, jak konfigurovat pravidla iptables. Tato část vám na příkladech ukáže, jak nastavit pravidla pomocí IP adres a portů.

Blokování a povolení provozu porty

K zablokování nebo povolení veškerého provozu v síťovém rozhraní můžete použít konkrétní port. Zvažte následující příklady:

sudo iptables -A INPUT -j ACCEPT -p TCP - cíl-port 1001 -i wlan0

Výše uvedené příkazy umožňují provoz na portu 1001 TCP na rozhraní wlan0.

sudo iptables -A VSTUP -j DROP -p TCP - cíl-port 1001 -i wlan0

Tento příkaz dělá opak výše uvedeného příkazu, protože blokuje veškerý provoz na portu 1001 na wlan0.

Zde je podrobná kontrola příkazu:

POZNÁMKA: Iptables nerozumí aliasům síťového rozhraní. V systému s více než jedním virtuálním rozhraním tedy budete muset definovat cílovou adresu ručně a explicitně.

Například:

sudo iptables -A VSTUP -j DROP -p TCP - cíl-port 1001 -i wlan0 -d 192.168.0.24

Seznam povolených a zakázaných IP adres

Pravidla brány firewall můžete vytvořit pomocí iptables. Jedním příkladem je zastavení veškerého provozu a povolení síťového provozu pouze z explicitních adres IP.

Příklad:

iptables -A VSTUP -m stav --stát ZAVEDENO, SOUVISEJÍCÍ -j PŘIJMOUT
iptables -A INPUT -i lo -m komentář - komentář "Povolit připojení zpětné smyčky" -j PŘIJMOUT
iptables -A INPUT -p icmp -m komentář - komentář „Povolit Pingu pracovat podle očekávání“ -j

AKCEPTOVAT

iptables -A VSTUP -s 192.168.0.1/24 -j PŘIJMOUT
iptables -A VSTUP -s 192.168.0.0 -j PŘIJMOUT
iptables -P INPUT DROP
iptables -P VPŘED DROP

První řádek nastavuje pravidlo pro povolení všech zdrojových IP adres v 192.168.0.Podsíť 1/24. Můžete také použít CIDR nebo jednotlivé adresy IP. V následujícím příkazu jsme nastavili pravidlo umožňující veškerý provoz připojený k existujícím připojením. V závěrečných příkazech jsme nastavili zásady pro INPUT a FORWARD, aby všechny zrušily.

Používání iptables na IPv6

Příkaz Iptables funguje pouze na IPv4. Chcete-li použít iptables na IPv6, musíte použít příkaz ip6tables. Ip6tables používá tabulky raw, filter, security a mangle. Obecná syntaxe pro ip6tables je podobná iptables a podporuje také odpovídající možnosti iptables, jako je append, delete atd.

Pro více informací zvažte použití stránek manuálu ip6tables.

Příklad sad pravidel iptables pro zabezpečení sítě

Vytvoření vhodných pravidel brány firewall bude záviset hlavně na službě spuštěné v systému a na používaných portech. Zde je několik základních pravidel konfigurace sítě, která můžete použít k zabezpečení systému:

1: Povolit provoz rozhraní Loopback a odmítnout všechny zpětné smyčky přicházející z jiných rozhraní

iptables -A INPUT -i lo -j ACCEPT (Můžete také použít ip6tables)
iptables - VSTUP ! -já lo -s 127.0.0.0 -j ODMÍTNOUT (použitelné i tabulky ip6)

2: Odmítnout všechny požadavky na ping

iptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j REJECT

3: Povolte připojení SSH

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

Toto jsou ukázkové příkazy, které můžete použít k zabezpečení systému. Konfigurace však bude silně záviset na tom, k čemu nebo komu chcete přistupovat k různým službám.

POZOR: Pokud dáváte přednost úplnému deaktivaci protokolu IPv6, nezapomeňte řádek odkomentovat, protože to zpomalí proces aktualizace:

precedence :: ffff: 0: 0/96 100 nalezeno v / etc / gai.konf .

Je to proto, že správce balíčků APT řeší zrcadlenou doménu v IPv6 kvůli aktualizaci apt-get.

Jak nasadit pravidla iptables?

Chcete-li nasadit své iptables na Ubuntu nebo jiné systémy založené na Debianu, začněte vytvořením dvou souborů, ip4 a ip6, pro jejich příslušné adresy IP.

V obou souborech přidejte pravidla, která chcete vynutit, do příslušných souborů - pravidla IPv4 do souboru ip4 a pravidla IPv6 do souboru ip6.

Dále musíme pravidla importovat pomocí příkazu:

sudo iptables-restore < /tmp/ip4 (replace filename for IPv6)

Poté můžete pomocí příkazu ověřit, zda byla pravidla použita:

sudo iptables -L -v

Rychlý průvodce pro iptables

Ubuntu a běžné distribuce založené na Debianu jsou dodávány s balíčkem iptables-persistent, který umožňuje snadné použití pravidel brány firewall po restartu. Balíček obsahuje soubory, které můžete použít k nastavení pravidel pro IPv4 nebo IPv6, a lze je automaticky použít při spuštění.

Pravidla brány firewall můžete také použít pomocí UFW nebo GUFW. Zvažte následující tutoriál, kde se dozvíte, jak používat UFW.

Jak nainstalovat iptables-persistent?

Ujistěte se, že máte v systému nainstalované trvalé iptables. Pomocí dpkg zkontrolujte, zda máte nainstalovaný balíček.

Pokud ne, použijte následující příkaz:

sudo apt-get install iptables-persistent

Zobrazí se dvakrát výzva k uložení aktuálních pravidel IPv4 i IPv6. Kliknutím na Ano uložíte obě pravidla.

Kliknutím na Ano uložte IPv6.

Po dokončení instalace ověřte, zda máte podadresář iptables, jak je znázorněno na obrázku níže.

Nyní můžete použít pravidla.v4 a pravidla.v6 pro přidání pravidel iptables a budou automaticky aplikována pomocí iptables-persistent. Soubory jsou jednoduché textové soubory, které můžete snadno upravit pomocí libovolného textového editoru podle vašeho výběru.

Závěr

V tomto tutoriálu jsme probrali základy iptables. Počínaje prací s iptables, základními příkazy, výchozími tabulkami iptables a parametry.

Z toho, co jste se dozvěděli, byste měli mít možnost používat iptables k vytváření pravidel brány firewall, které vám pomohou zabezpečit váš systém.

Hry Nejlepší hry Oculus App Lab
Nejlepší hry Oculus App Lab
Pokud jste vlastníkem náhlavní soupravy Oculus, musíte mít informace o bočním nakládání. Sideloading je proces instalace neukládaného obsahu do náhlav...
Hry Top 10 her k hraní na Ubuntu
Top 10 her k hraní na Ubuntu
Platforma Windows byla jednou z dominujících platforem pro hraní her kvůli velkému procentu her, které se dnes vyvíjejí, aby nativně podporovaly Windo...
Hry 5 nejlepších arkádových her pro Linux
5 nejlepších arkádových her pro Linux
V dnešní době jsou počítače vážné stroje používané k hraní her. Pokud nemůžete získat nové vysoké skóre, budete vědět, co tím myslím. V tomto příspěvk...