Jak používat příkazy Iptables Netfilter v systému Linux

Obsah

Zabezpečení musí být vždy jedním z prostorů, ve kterých musí pracovat administrátoři, pracovníci správy a podpory a obecně všichni uživatelé jakéhokoli aktuálního operačního systému, a to kvůli více hrozbám, které jsou v síti přítomny.

V případě distribucí Linuxu má většina z nich pokročilé nástroje pro použití filtru na síťové pakety, a to jak na úrovni zpracování řízení síťových paketů ve vstupu, pohybu, řízení a výstupu zásobníku. Sítí v jádru použitého systému , proto počínaje jádrem 2.4 byly zavedeny iptables, kterým se také říká netfilter a které mají vyšší úroveň zabezpečení a praktické funkce pro ochranu systému.

iptables zvládá filtrování IPv4, zatímco ip6tables zvládá filtrování IPv6 v dnešních sítích.
Solvetic provede analýzu fungování iptables a některé praktičtější příkazy, které z něj můžeme převzít.

1. Filtrování paketů v Linuxu


Jádro distribucí Linuxu využívá nástroj Netfilter k provádění procesu filtrování paketů, a tedy k jejich přijímání nebo zastavování.

Pravidla zabudovaná do NetfilteruNetfilter je ve výchozím nastavení začleněn do jádra Linuxu a má tři tabulky nebo seznamy pravidel integrovaných takto:

  • filtr: Odkazuje na výchozí tabulku určenou pro správu paketů.
  • nat: Jeho funkcí je měnit pakety, které byly vytvořeny v novém připojení používaném primárně NAT.
  • mangle: Jeho použití platí, když je třeba změnit konkrétní síťové pakety.

Nyní má každá tabulka skupinu předdefinovaných řetězců, které souvisejí s akcemi, které lze provádět pomocí netfilter, jsou to tyto:

Pravidla pro filtrovací tabulkyVestavěné řetězce pro tabulku filtrů jsou:

  • VSTUP: Souvisí s pakety, které byly určeny hostiteli.
  • VÝSTUP: Toto funguje na síťových paketech, které byly generovány lokálně.
  • FORWARD: Přidruží pakety, které byly směrovány přes hlavního hostitele.

Pravidla pro nat tabulkyVestavěné řetězce pro tabulku nat jsou:

  • PREROUTING: Jeho funkcí je měnit síťové pakety, jakmile dorazí.
  • VÝSTUP: Byl navržen tak, aby změnil síťové pakety, které jsou vytvářeny lokálně, a je aktivován před jejich odesláním.
  • POSTROUTING: Vytvořeno pro změnu balíků před jejich globálním odesláním.

Pravidla pro mangrovové deskyVestavěné řetězy pro mangrovový stůl jsou:

  • VSTUP: Navržen tak, aby upravoval síťové pakety určené pro hlavního hostitele.
  • VÝSTUP: Vytvořeno pro změnu místně vytvořených síťových paketů a funguje před jejich odesláním.
  • VPŘED: Změní pakety, které byly směrovány přes hlavního hostitele.
  • PREROUTING: Vaším úkolem je upravit příchozí pakety před jejich směrováním.
  • POSTROUTING: Změní síťové pakety před odesláním.

Každý síťový paket přijatý nebo odeslaný z operačního systému Linux je vždy vázán alespoň na jednu tabulku. Pojďme nyní porozumět některým užitečnějším příkazům, které můžeme s iptables použít.

2. Zobrazit stav brány firewall

Krok 1
Chcete -li zjistit aktuální stav brány firewall, spusťte následující řádek:

 sudo iptables -L -n -v 

ZVĚTŠIT

Krok 2
Tam můžeme ověřit každý řetězec s jeho příslušnými úrovněmi spravovaných balíčků, parametry použité v tomto příkazu jsou:

-LZobrazit pravidla seznamu.

-protiGeneruje podrobné informace, jako je název rozhraní, plus možnosti pravidel, plus jsou také uvedeny čítače paketů a bajtů s příponou 'K', 'M' nebo 'G' pro možnosti 1000, 1 000 000 a 1 000 000 000.

-nZobrazuje IP adresu a port v číselném formátu.

Krok 3
Pokud si přejete vidět tento výsledek s počtem řádků, můžeme provést následující:

 iptables -n -L -v -line -numbers 

ZVĚTŠIT

3. Zastavte, restartujte nebo spusťte iptables na Linuxu

Krok 1
Hlavní příkazy pro správu úloh iptables na úrovni spuštění nebo zastavení jsou:

 service iptables stop service iptables start service iptables restart
Krok 2
Rovněž bude možné použít příkaz iptables k zastavení brány firewall a odstranění všech pravidel takto:
 iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
Krok 3
Definovanými parametry jsou:

-FOdstraňte všechna pravidla.

-XOdstranit řetězec.

-tnázev_tabulky: Vyberte tabulku (pojmenovanou nat nebo mangle) a odstraňte nebo zrušte pravidla.

-PNastavte výchozí zásady, například DROP, REJECT nebo ACCEPT.

4. Přidejte nová pravidla brány firewall v systému Linux

Krok 1
Jedním z nejpraktičtějších úkolů iptables je vytvoření určitých pravidel pro správnou správu paketů, pro vložení jednoho nebo více pravidel do vybraného řetězce použijeme následující syntaxi, kde je třeba nejprve zjistit čísla řádků:

 iptables -L VSTUP -n -čísla řádků 
Krok 2
přidejme například následující pravidlo:
 iptables -I VSTUP 2 -s 192.168.0.50 -j DROP 
Krok 3
Později uvidíme pravidla pomocí výše uvedeného příkazu. Zde vidíme, že vytvořené pravidlo bylo přidáno na řádek 3, jak je uvedeno.

ZVĚTŠIT

5. Odstranit pravidlo brány firewall v systému Linux

Krok 1
Nejprve musíme zobrazit pravidla, která jsou vytvořena, abychom přesně určili, která z nich by měla být odstraněna, abychom získali tyto informace, máme následující možnosti:

 iptables -L VSTUP -n --čísla řádků iptables -L VÝSTUP -n --čísla řádků iptables -L VÝSTUP -n --čísla řádků | méně
Krok 2
Chcete -li odstranit dříve vytvořené pravidlo 3, provedeme následující:
 iptables -D VSTUP 3 

ZVĚTŠIT

6. Ukládejte a obnovujte pravidla iptables v Linuxu

Krok 1
Pokaždé, když provedeme změnu v pravidlech iptables, musíme tyto změny uložit, protože k tomu stačí provést následující řádek:

 služba iptables ví 
Krok 2
Pravidla, která jsme uložili, můžeme jednoduše obnovit provedením následujícího:
 restart služby iptables 

7. Nastavte výchozí pravidla v Linuxu


S iptables bude možné povolit nebo odmítnout výchozí pravidla, která musí být aplikována na celý systém, následujícím způsobem.

Krok 1
Abychom eliminovali veškerý provoz, provádíme:

 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
Krok 2
Odebrání veškerého příchozího provozu:
 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m state -NOVÉ, ZŘÍZENÉ -j PŘIJMOUT

ZVĚTŠIT

8. Blokovat IP adresu v Linuxu

Pomocí iptables bude možné blokovat konkrétní IP adresu, aby se zabránilo přístupu síťového paketu k systému. Pro tento úkol máme následující možnosti:

 iptables -A INPUT -s 192.168.0.14 -j DROP (specifická IP) iptables -A INPUT -s 192.168.0.0/24 -j DROP (rozsah adres)

9. Blokovat příchozí požadavky na port v systému Linux

Krok 1
Dalším typickým úkolem zabezpečení je omezit přístup k paketům přes konkrétní port, u iptables máme následující možnosti:

Blokovat všechny akceBlokujte všechny akce pro konkrétní port spuštěním:

 iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

Blokovat portBlokovat port pro konkrétní IP adresu:

 iptables -A INPUT -p tcp -s 192.168.0.14 --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp -s 192.168.0.1/24 --dport 80 -j DROP

Blokovat odchozí IP adresu
Je možné blokovat odchozí provoz na konkrétního hostitele nebo doménu, například Solvetic.com, za tímto účelem provedeme následující:

 host -t na solvetic.com 

ZVĚTŠIT

Krok 2
Nyní s touto IP adresou pokračujeme v blokování:

 iptables -A VÝSTUP -d 178.33.118.246 -j DROP 
Krok 3
Bude také možné zablokovat celou doménu takto:
 iptables -A VÝSTUP -p tcp -d www.solvetic.com -j DROP 

10. Zda povolit nebo nepovolit síťový provoz pomocí MAC adresy v Linuxu

Další možností použití je omezit nebo povolit používání paketů na základě MAC adresy vybraného zařízení. K tomu použijeme jednu z následujících možností:

 iptables -A INPUT -m mac --mac -source 00: 2F: EF: 85: 04: 09 -j DROP (Odepřít provoz z vybrané MAC adresy) iptables -A INPUT -p tcp -cílový port 22 -m mac --mac -source 00: 2F: EF: 85: 04: 09 -j ACCEPT (Podporuje pakety z adresy uvedené pouze portem 22)

11. Blokovat nebo povolit požadavky ICMP na Linuxu


Protokol ICMP (Internet Control Message Protocol) je protokol vyvinutý ke správě informací souvisejících s chybami v počítačích v místní síti, takže pomocí tohoto protokolu lze provádět vzdálené žádosti o ověření dostupnosti týmu a to z hlediska zabezpečení může být choulostivé .

Krok 1
Abychom se vyhnuli požadavkům ICMP na Linuxu, můžeme spustit následující řádky:

 iptables -A INPUT -p icmp -typ požadavku na echo ej -j DROP iptables -A INPUT -i eth1 -p icmp -požadavek na echo typu emp -j DROP
Krok 2
Odpovědi ping lze také omezit na určité sítě nebo hostitele, jako je tento:
 iptables -A VSTUP -s 192.168.0.1/24 -p icmp -požadavek na echo typuicmp -j PŘIJMOUT 
Krok 3
Budeme moci přijímat pouze omezený typ žádostí ICMP, jako je tento:
 iptables -A INPUT -p icmp -typ odpovědi echo -j -ACCEPT iptables -A INPUT -p icmp -typ cíle -icmp -nedosažitelný -j ACCEPT iptables -A INPUT -p icmp -čas typu -mp překročeno -j PŘIJMOUT

12. Otevřete v Linuxu řadu portů a IP adres

Krok 1
To je užitečné, pokud potřebujeme povolit definovaný rozsah portů k provádění akcí správy nebo spuštění programu:

 iptables -A INPUT -m stav --state NOVINKA -m tcp -p tcp --dport 9000: 9020 -j PŘIJMOUT 
Proto jsme pro připojení TCP otevřeli řadu portů 9000 až 9020.

Krok 2
Další alternativou je povolit rozsah IP adres nastavením konkrétního portu, jako je tento. Zde jsme autorizovali tento rozsah pro použití portu 80.

 iptables -A VSTUP -p tcp -cílový port 80 -m iprange --src -rozsah 192.168.0.70-192.168.0.80 -j PŘIJMOUT 

13. Omezte počet paralelních připojení k serveru pomocí IP klienta v systému Linux

Krok 1
K definování těchto omezení můžeme použít modul connlimit, například pro povolení 5 ssh připojení na klienta zadáme následující:

 iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit -above 5 -j REJECT 

ZVĚTŠIT

Krok 2
Chcete -li omezit přístup HTTP na 10:

 iptables -p tcp --syn --dport 80 -m connlimit --connlimit -above 10 --connlimit -mask 24 -j DROP 
Krok 3
Uvedli jsme následující:
  • --connlimit-above 5: Odpovídá, pokud je počet existujících připojení větší než 5.
  • --connlimit-mask 24: Toto jsou skupinoví hostitelé, kteří používají délku předpony. Pro IPv4 to musí být číslo mezi (včetně) 0 a 32.

14. Omezte počet paralelních připojení k serveru pomocí IP klienta v systému Linux

Krok 1
NAT (Network Address Translation) je systém pro překlad síťových adres a tím usnadňuje navigaci. Abychom je uvedli, provedeme následující:

 iptables -t nat -L -n -v 

ZVĚTŠIT

Krok 2
Tento výsledek bude možné vidět s příslušnými řádky takto:

 iptables -t nat -v -L -n --číslo linky 

15. Jasná pravidla NAT v Linuxu


Krok 1
Pokud chceme odstranit zavedená pravidla NAT, provedeme následující:
 iptables -t nat -v -L -n --line -number iptables -t nat -v -L PREROUTING -n --line -number iptables -t nat -v -L POSTROUTING -n --line -number
Krok 2
Chcete -li odstranit všechna pravidla „PREROUTING“, spustíme následující syntaxi:
 iptables -t nat -D PREROUTING {číslo pravidla} 
Krok 3
Chcete -li odstranit všechna pravidla „POSTROUTING“, která provedeme:
 iptables -t nat -D POSTROUTING {číslo pravidla} 

16. Resetujte čítače balíků v Linuxu


Nejprve musíme spustit příkaz "iptables -L -n -v", který jsme viděli dříve, abychom vypsali čítače.

Krok 1
Chcete -li tyto čítače vymazat, spusťte následující:

 iptables -Z 
Krok 2
Chcete-li resetovat čítače pouze pro přístup, provedeme:
 iptables -Z VSTUP 

17. Ověřte bránu firewall v systému Linux

Krok 1
Nejprve musíme ověřit, zda jsou porty otevřené nebo ne, následujícím příkazem:

 netstat -tulpn 

ZVĚTŠIT

Krok 2
K ověření konkrétního portu provedeme:

 netstat -tulpn | grep: 80 

ZVĚTŠIT

Krok 3
V případě, že port není otevřený, provedeme:

 služba httpd start 
Krok 4
Pak se musíme ujistit, že iptables má přístup přes tento port:
 iptables -L VSTUP -v -n | grep 80 

18. Povolte smyčkový přístup pomocí iptables v Linuxu

Zpětný přístup, jehož přístup je z IP 127.0.0.1, je důležitý a měl by být vždy ponechán aktivní pro úlohy správy a správy sítě. Chcete -li jej povolit v iptables, proveďte následující.

 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

19. Definujte nové řetězce iptables v Linuxu


Krok 1
S iptables máme možnost definovat vlastní řetězec a ukládat do něj vlastní pravidla. Chcete -li definovat řetězec, provedeme následující:
 iptables -N "Název řetězce" 
Krok 2
Poté spustíme „iptables -L“ a vypsáme řetězce iptables:

ZVĚTŠIT

Krok 3
Ve výsledku uvidíme náš vytvořený řetězec:

ZVĚTŠIT

20. Vymažte řetězce nebo pravidla brány firewall iptables v systému Linux

K provedení tohoto odstranění musíme provést následující:

 iptables -F 
Jak vidíme, iptables je komplexní řešení pro centrální správu různých aspektů zabezpečení v distribucích Linuxu za účelem dosažení vylepšení ve všem, co souvisí s ochranou osobních údajů.

wave wave wave wave wave