Tässä oppaassa pyritään selittämään, miten iptablesia käytetään Linuxissa helposti ymmärrettävään kieleen.
Sisällys[piilottaa]
|
Iptables on sääntöpohjainen palomuuri, joka käsittelee jokaisen säännön, kunnes se löytää vastaavan.
Todo: tähän sisältyy esimerkki
Iptables-apuohjelma on esiasennettuna Linux-jakeluun, mutta se ei tosiasiassa käytä mitään sääntöjä. Löydät apuohjelman täällä useimmissa jakeluissa:
/ Sbin / iptables
Voit estää IP: n käyttämällä s-parametria, korvaamalla 10.10.10.10 osoitteella, jonka yrität estää. Huomaat tässä esimerkissä, että käytimme -I-parametria (tai -insertti toimii myös) liitteen sijasta, koska haluamme varmistaa, että tämä sääntö ilmestyy ensin, ennen kuin sallitaan sääntöjä.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Voit vuorotellen sallia kaiken liikenteen IP-osoitteesta käyttämällä samaa komentoa kuin edellä, mutta korvaamalla DROP ACCEPTillä. Sinun on varmistettava, että tämä sääntö tulee näkyviin ensin ennen DROP-sääntöjä.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Voit estää sataman pääsyn kokonaan verkkoon käyttämällä -porttikytkintä ja lisäämällä sen palvelimen portin, jonka haluat estää. Tässä esimerkissä estämme mysql-portin:
/ sbin / iptables -A INPUT -p tcp --portti 3306 -j DROP
Voit lisätä -s-komennon -port-komennolla rajoittamaan sääntöä tiettyyn porttiin:
/ sbin / iptables -A INPUT -p-tcp-s 10.10.10.10 -portaali 3306 -j ACCEPT
Voit tarkastella nykyisiä sääntöjä käyttämällä seuraavaa komentoa:
/ sbin / iptables -L
Tämän pitäisi antaa sinulle samanlainen tulos kuin:
Chain INPUT (policy ACCEPT) kohdistaa prot optilähteen määränpää ACCEPT kaikki - 192.168.1.1/24 missä tahansa ACCEPT kaikki - 10.10.10.0/24 missä tahansa DROP tcp - missä tahansa tcp dpt: ssh DROP tcp - missä tahansa tcp dpt: mysql
Todellinen tuotos on tietenkin hieman pidempi.
Voit poistaa kaikki nykyiset säännöt käyttämällä huuhteluparametria. Tämä on erittäin hyödyllistä, jos sääntöjen on oltava oikeassa järjestyksessä tai kun testaat.
/ sbin / iptables --flush
Vaikka useimmat Linux-jakeluista sisältävät jonkinlaisen iptables-mallin, osa niistä sisältää myös kääreitä, jotka tekevät johdosta hieman helpommaksi. Useimmiten nämä "addonit" ovat init-skriptejä, jotka huolehtivat iptables-alustuksen käynnistämisestä käynnistyksessä, vaikka joissakin jakeluissa on myös täysimittaisia kääreen sovelluksia, jotka yrittävät yksinkertaistaa yhteistä tapausta.
iptables Gentoon init-skripti pystyy käsittelemään monia yhteisiä skenaarioita. Käynnistimien avulla voit määrittää iptablesin lataamisen käynnistyksen yhteydessä (yleensä mitä haluat):
rc-update lisää iptables oletusarvo
Init-komentosarjan avulla on mahdollista ladata ja tyhjentää palomuuri helposti muistettavan komennon avulla:
/etc/init.d/iptables aloittaa /etc/init.d/iptables lopettaa
Init-skripti käsittelee yksityiskohtia nykyisen palomuurisovelluksen jatkamisesta käynnistyksessä / pysäytyksessä. Näin ollen palomuuri on aina siinä tilassa, josta olet poistanut sen. Jos sinun täytyy tallentaa uusi sääntö manuaalisesti, init-skripti voi käsitellä myös tätä:
/etc/init.d/iptables save
Lisäksi voit palata palomuuriasi edelliseen tallennettuun tilaan (siinä tapauksessa, että kokeilet sääntöjä ja haluat nyt palauttaa edellisen työskentelyasetuksen):
/etc/init.d/iptables reload
Lopuksi init-skripti voi laittaa iptablesin "paniikki" -tilaan, jossa kaikki saapuvan ja lähtevän liikenteen estetään. En ole varma, miksi tämä tila on hyödyllinen, mutta kaikilla Linux-palomuilla näyttää olevan se.
/etc/init.d/iptables paniikki
Varoitus: Älä käynnistä paniikkitilaa, jos olet yhteydessä palvelimeen SSH: n kautta; sinätahtoa irrota! Ainoa tapa, jonka pitäisi laittaa iptables paniikkitilaan on, kun oletfyysisesti tietokoneen eteen.