Používání Iptables v systému Linux
Tato příručka se pokusí vysvětlit, jak používat iptables v linuxu v snadno srozumitelném jazyce.
Obsah[skrýt]
|
Přehled
Iptables je brána firewall založená na pravidlech, která bude zpracovávat každé pravidlo v pořádku, dokud nenajde jeden, který odpovídá.
Todo: uveďte příklad zde
Používání
Nástroj iptables je obvykle předinstalovaný v distribuci linuxu, ale ve skutečnosti neobsahuje žádná pravidla. Nástroj naleznete zde na většině distribucí:
/ sbin / iptables
Blokování jedné adresy IP
IP adresu můžete zablokovat parametrem -s a nahradit 10.10.10.10 adresu, kterou se pokoušíte zablokovat. V tomto příkladu si všimnete, že místo parametru append jsme použili parametr -I (nebo -instrukce také funguje), protože se chceme ujistit, že se toto pravidlo zobrazí nejprve předtím,.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Povolení veškerého provozu z adresy IP
Můžete střídavě povolit veškerou komunikaci z adresy IP pomocí stejného příkazu jako výše, ale nahrazením příkazem DROP pomocí příkazu ACCEPT. Musíte se ujistit, že se toto pravidlo nejdříve objeví před jakýmikoli pravidly DROP.
/ sbin / iptables -A VSTUP -s 10.10.10.10 -j ACCEPT
Blokování portu ze všech adres
Do portu můžete úplně zablokovat přístup přes síť pomocí přepínače -dport a přidáním portu služby, kterou chcete zablokovat. V tomto příkladu zablokujeme port mysql:
/ sbin / iptables -A VSTUP -p tcp -dport 3306 -j DROP
Povolení jediného portu z jediné IP
Příkaz -s můžete přidat spolu s příkazem -dport a dále omezit pravidlo na konkrétní port:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 -dport 3306 -j ACCEPT
Zobrazení aktuálních pravidel
Aktuální pravidla můžete zobrazit pomocí následujícího příkazu:
/ sbin / iptables -L
Mělo by se vám dát podobný výstup jako následující:
Řetězec INPUT (zásada ACCEPT) cíl cíl opt source ACCEPT all - 192.168.1.1/24 kdekoliv ACCEPT all - 10.10.10.0/24 kdekoliv DROP tcp - kdekoliv kdekoliv tcp dpt: ssh DROP tcp - kdekoliv kdekoliv tcp dpt: mysql
Skutečný výstup bude samozřejmě o něco delší.
Vymazání aktuálních pravidel
Všechny stávající pravidla můžete vymazat pomocí parametru flush. To je velmi užitečné, pokud potřebujete dát pravidla v pořádku, nebo když testujete.
/ sbin / iptables - flush
Specifické pro distribuci
Zatímco většina distribucí Linuxu obsahuje formu iptables, některé z nich také obsahují obálky, které usnadňují správu. Nejčastěji tyto "addony" mají formu initových skriptů, které se starají o inicializaci iptables při spuštění, ačkoli některé distribuce také zahrnují plné foukané aplikace wrapper, které se pokoušejí zjednodušit společný případ.
Gentoo
The iptables init skript na Gentoo je schopen pracovat s mnoha běžnými scénáři. Pro začátečníky vám umožňuje konfigurovat iptables, které se načítají při spuštění (obvykle to, co chcete):
rc-update přidat iptables výchozí
Pomocí skriptu init je možné načíst a vyčistit firewall pomocí příkazu snadno zapamatovatelného:
/etc/init.d/iptables start /etc/init.d/iptables stop
Skript init zpracovává podrobnosti o přetrvávající konfiguraci brány firewall na startu / zastavení. Váš firewall je tedy vždy ve stavu, který jste nechali. Pokud potřebujete ručně uložit nové pravidlo, init skript to zvládne také:
/etc/init.d/iptables uložte
Navíc můžete obnovit firewall na předchozí uložený stav (pro případ, kdy jste experimentovali s pravidly a nyní chcete obnovit předchozí pracovní konfiguraci):
/etc/init.d/iptables reload
Nakonec může init skript umístit iptables do režimu "paniky", kde je blokován veškerý příchozí a odchozí provoz. Nejsem si jistý, proč je tento režim užitečný, ale zdá se, že všechny firewally Linuxu mají.
/etc/init.d/iptables panika
Varování: Nezakládejte režim panice, pokud jste připojeni k serveru prostřednictvím SSH; vy vůle být odpojen! Jediný čas, kdy byste měli iptables umístit do režimu paniky, jste v době, kdy jste fyzicky před počítačem.