Uporaba Iptables na Linuxu
Ta priročnik bo poskušal pojasniti, kako uporabljati iptables na linuxu v razumljivem jeziku.
Vsebina[skrij]
|
Pregled
Iptables je požarni zid, ki temelji na pravilih in bo obdelal vsako pravilo, dokler ne najde tistega, ki se ujema.
Todo: vključite primer tukaj
Uporaba
Orodje iptables je običajno vnaprej nameščeno na vaši linux distribuciji, vendar v resnici ne izvaja nobenih pravil. V večini distribucij boste našli pripomoček:
/ sbin / iptables
Blokiranje enega naslova IP
IP lahko blokirate s parametrom -s, ki zamenja 10.10.10.10 z naslovom, ki ga želite blokirati. V tem primeru boste opazili, da smo uporabili parameter -I (ali -insert dela) namesto dodatka, ker želimo zagotoviti, da se to pravilo prikaže najprej, pred vsemi pravili za dovoljenje.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Dovoli ves promet iz naslova IP
Izmenično lahko dovolite ves promet z IP naslova z uporabo istega ukaza, kot je opisan zgoraj, vendar nadomestite DROP z ACCEPT. Prepričati se morate, da se to pravilo pojavlja prvič, pred vsemi pravili DROP.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Blokiranje vrat iz vseh naslovov
Vrata lahko v celoti blokirate tako, da do njih dostopate prek omrežja prek stikala -dport in dodajanja vrat storitve, ki jo želite blokirati. V tem primeru bomo blokirali vrata mysql:
/ sbin / iptables -A INPUT -p tcp --dport 3306 -j DROP
Dovoljenje za eno vrsto iz enega samega IP-ja
Dodate lahko ukaz -s skupaj z ukazom -dport, da pravilo omejite na določeno vrata:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT
Ogled trenutnih pravil
Trenutna pravila si lahko ogledate z naslednjim ukazom:
/ sbin / iptables -L
To bi vam moralo dati rezultate, podobne naslednjim:
Chain INPUT (policy ACCEPT) ciljni ciljni vir optičnega izhoda ACCEPT all - 192.168.1.1/24 kjerkoli ACCEPT vse - 10.10.10.0/24 kjerkoli DROP tcp - kjerkoli kjerkoli tcp dpt: ssh DROP tcp - kjerkoli tcp dpt: mysql
Dejanska proizvodnja bo seveda nekoliko daljša.
Čiščenje trenutnih pravil
Z uporabo parametra flush lahko počistite vsa trenutna pravila. To je zelo uporabno, če morate pravila postaviti v pravilnem vrstnem redu ali ko testirate.
/ sbin / iptables - flush
Specifična za distribucijo
Medtem ko večina distribucij Linuxa vključuje obliko iptables, nekatere od njih vključujejo tudi ovojnice, zaradi katerih je upravljanje nekoliko lažje. Najpogosteje se ti »dodatki« pojavljajo v obliki začetnih skript, ki skrbijo za inicializacijo iptablesa ob zagonu, čeprav nekatere distribucije vključujejo tudi popolne aplikacije, ki poskušajo poenostaviti običajen primer..
Gentoo
The iptables Init skript na Gentoo je sposoben obvladovati številne običajne scenarije. Za začetek vam omogoča, da konfigurirate iptables za nalaganje ob zagonu (običajno, kar želite):
rc-update doda privzeto iptables
Z uporabo skripta init lahko požarni zid naložite in izbrišete z enostavnim ukazom:
/etc/init.d/iptables zaženite /etc/init.d/iptables stop
Init skript obravnava podrobnosti o ohranjanju trenutne konfiguracije požarnega zidu ob zagonu / zaustavitvi. Zato je vaš požarni zid vedno v stanju, v katerem ste ga pustili. Če morate ročno shraniti novo pravilo, lahko skripta za initiranje to obravnava tudi:
/etc/init.d/iptables shranite
Poleg tega lahko obnovite požarni zid v prejšnje shranjeno stanje (za primer, ko ste eksperimentirali s pravili in želite obnoviti prejšnjo delovno konfiguracijo):
/etc/init.d/iptables osvežite
Končno lahko skripta initables postavi iptables v »panic« način, kjer je blokiran ves dohodni in odhodni promet. Nisem prepričan, zakaj je ta način uporaben, vendar se zdi, da ga imajo vsi požarni zidovi Linuxa.
/etc/init.d/iptables panic
Opozorilo: Ne sprožite načina panike, če ste povezani s strežnikom prek SSH; vas volja biti odklopljen! Edini čas, ko bi morali vstaviti iptables v način panike, je, ko ste fizično pred računalnikom.