Používanie aplikácie Iptables v systéme Linux
Táto príručka sa pokúsi vysvetliť, ako používať iptables v linuxe v ľahko pochopiteľnom jazyku.
obsah[Skryť]
|
Prehľad
Iptables je brána firewall založená na pravidlách, ktorá bude spracovávať každé pravidlo v poriadku, kým nenájde ten, ktorý sa zhoduje.
Todo: uveďte príklad tu
používanie
Pomôcka iptables je zvyčajne predinštalovaná v distribúcii linuxu, ale v skutočnosti nespúšťa žiadne pravidlá. Nástroj tu nájdete na väčšine distribúcií:
/ Sbin / iptables
Blokovanie jedinej adresy IP
IP adresu môžete zablokovať pomocou parametra -s a nahradiť 10.10.10.10 adresu, ktorú sa pokúšate blokovať. V tomto príklade si všimnete, že sme namiesto prílohy použili parameter -I (alebo -instrument funguje taktiež), pretože sa chceme ubezpečiť, že sa toto pravidlo zobrazí najprv pred akýmikoľvek povolenými pravidlami.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Povoliť všetku návštevnosť z adresy IP
Môžete striedavo povoliť všetku návštevnosť z adresy IP pomocou rovnakého príkazu, ako je uvedené vyššie, ale nahradiť DROP s ACCEPT. Musíte sa uistiť, že sa toto pravidlo zobrazí najprv pred akýmikoľvek pravidlami DROP.
/ sbin / iptables -A VSTUP -s 10.10.10.10 -j ACCEPT
Blokovanie portu zo všetkých adries
Do portu môžete úplne zablokovať prístup cez sieť pomocou prepínača -dport a pridaním portu služby, ktorú chcete zablokovať. V tomto príklade zablokujeme port mysql:
/ sbin / iptables -A VSTUP -p tcp -dport 3306 -j DROP
Povolenie jedného portu z jednej IP adresy
Príkaz -s môžete pridať spolu s príkazom -dport na ďalšie obmedzenie pravidla na konkrétny port:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 -dport 3306 -j ACCEPT
Zobrazenie aktuálnych pravidiel
Aktuálne pravidlá môžete zobraziť pomocou nasledujúceho príkazu:
/ sbin / iptables -L
To by vám malo poskytnúť výstup podobný nasledujúcemu:
Reťazec INPUT (zásada ACCEPT) cieľový cieľ cieľového optického zdroja ACCEPT all - 192.168.1.1/24 kdekoľvek ACCEPT all - 10.10.10.0/24 kdekoľvek DROP tcp - kdekoľvek kdekoľvek tcp dpt: ssh DROP tcp - kdekoľvek kdekoľvek tcp dpt: mysql
Skutočný výstup bude o niečo dlhší.
Vymazanie aktuálnych pravidiel
Všetky aktuálne pravidlá môžete vymazať pomocou parametra flush. To je veľmi užitočné, ak potrebujete dať pravidlá v správnom poradí alebo pri testovaní.
/ sbin / iptables - flush
Distribúcia-Specific
Zatiaľ čo väčšina linuxových distribúcií obsahuje formu iptables, niektoré z nich obsahujú aj balíky, ktoré spravujú správu trochu jednoduchšie. Najčastejšie tieto "addony" majú formu initových skriptov, ktoré sa starajú o inicializáciu iptables pri štarte, hoci niektoré distribúcie obsahujú aj úplné fúkacie aplikácie, ktoré sa pokúšajú zjednodušiť spoločný prípad.
gentoo
iptables init skript na Gentoo je schopný zvládnuť mnoho bežných scenárov. Pre začiatočníkov vám umožňuje konfigurovať iptables na načítanie pri spustení (zvyčajne to, čo chcete):
rc-update pridať iptables default
Pomocou skriptu init je možné načítať a vyčistiť bránu firewall pomocou príkazu, ktorý je ľahko zapamätateľný:
/etc/init.d/iptables start /etc/init.d/iptables stop
Skript init spracuje podrobnosti o pretrvávaní konfigurácie vašej súčasnej brány firewall pri štarte / zastavení. Vaša brána firewall je teda vždy v stave, ktorý ste nechali. Ak potrebujete ručne uložiť nové pravidlo, init skript to zvládne aj takto:
/etc/init.d/iptables uložiť
Okrem toho môžete bránu firewall obnoviť na predchádzajúci uložený stav (v prípade, že ste experimentovali s pravidlami a teraz chcete obnoviť predchádzajúcu pracovnú konfiguráciu):
/etc/init.d/iptables reload
Napokon, skript init môže dať iptables do režimu "paniky", kde je zablokovaná celá prichádzajúca a odchádzajúca návštevnosť. Nie som si istý, prečo je tento režim užitočný, ale zdá sa, že všetky firewally Linuxu majú.
/etc/init.d/iptables panika
Výstraha: Nezapínajte panický režim, ak ste pripojení k serveru cez SSH; vy vôľa byť odpojený! Jediný čas, kedy by ste mali dať iptables do paniky, je v čase, keď ste fyzicky pred počítačom.