Iptablesin käyttö Linuxissa
Tässä oppaassa pyritään selittämään, miten iptablesia käytetään Linuxissa helposti ymmärrettävällä kielellä.
Sisällys[piilottaa]
|
Yleiskatsaus
Iptables on sääntöpohjainen palomuuri, joka käsittelee kunkin säännön järjestyksessä, kunnes se löytää vastaavan.
Todo: lisää esimerkki täällä
Käyttö
Iptables-apuohjelma on yleensä esiasennettu linux-jakeluun, mutta ei itse asiassa käytä mitään sääntöjä. Täältä löytyy apuohjelma useimmissa jakeluissa:
/ Sbin / iptables
Yksittäisen IP-osoitteen estäminen
Voit estää IP: n käyttämällä -s-parametria ja korvata 10.10.10.10 osoitteella, jonka yrität estää. Huomautat tässä esimerkissä, että käytimme -I-parametria (tai -tekstiä) myös liitteen sijasta, koska haluamme varmistaa, että tämä sääntö näkyy ensin, ennen kuin sallit säännöt.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
All Traffic -palvelun salliminen IP-osoitteesta
Voit vuorotellen sallia kaiken liikenteen IP-osoitteesta käyttämällä samaa komentoa kuin edellä, mutta korvaa DROP: n ACCEPT: llä. Sinun on varmistettava, että tämä sääntö tulee näkyviin ennen DROP-sääntöjä.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Portin estäminen kaikista osoitteista
Voit estää portin pääsyn verkon kautta käyttämällä -dport-kytkintä ja lisäämällä sen palvelun portin, jonka haluat estää. Tässä esimerkissä estämme mysql-portin:
/ sbin / iptables -A INPUT -p tcp -portti 3306 -j DROP
Yksittäisen portin salliminen yhdestä IP: stä
Voit lisätä -s-komennon yhdessä -dport-komennon kanssa, jotta sääntöä voidaan rajoittaa edelleen tiettyyn porttiin:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 - julkaisu 3306 -j ACCEPT
Nykyisten sääntöjen tarkasteleminen
Voit tarkastella nykyisiä sääntöjä seuraavalla komennolla:
/ sbin / iptables -L
Tämän pitäisi antaa sinulle samanlaisen tuotoksen kuin seuraavat:
Ketju INPUT (politiikka ACCEPT) tavoite prot opt lähde kohde ACCEPT kaikki - 192.168.1.1/24 kaikkialla 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.
Nykyisten sääntöjen poistaminen
Voit poistaa kaikki nykyiset säännöt huuhteluparametrin avulla. Tämä on erittäin hyödyllistä, jos haluat asettaa säännöt oikeaan järjestykseen tai testauksen aikana.
/ sbin / iptables - huuhtelu
Jakelu-Specific
Vaikka useimmat Linux-jakelut sisältävät jonkinlaisen iptablesin, osa niistä sisältää myös kääreitä, jotka helpottavat hallintaa. Useimmiten nämä "addonit" ovat init-skriptejä, jotka huolehtivat iptablesin alustamisesta käynnistyksessä, vaikka jotkin jakelut sisältävät myös täysipainoisia kääreohjelmia, jotka yrittävät yksinkertaistaa yhteistä tapausta.
Gentoo
iptables Gentoon init-skripti pystyy käsittelemään monia yleisiä skenaarioita. Aloittelijoiden avulla voit määrittää iptablesin lataamisen käynnistyksen yhteydessä (yleensä mitä haluat):
rc-update lisää iptables-oletusarvon
Käyttäen init-komentosarjaa on mahdollista ladata ja poistaa palomuuri helposti muistettavalla komennolla:
/etc/init.d/iptables Käynnistä /etc/init.d/iptables stop
Init-skripti käsittelee palomuurin nykyisen kokoonpanon säilyttämisen yksityiskohdat käynnistyksen / pysäytyksen yhteydessä. Näin palomuuri on aina siinä tilassa, jossa olet poistanut sen. Jos haluat tallentaa uuden säännön manuaalisesti, init-komentosarja voi käsitellä myös tämän:
/etc/init.d/iptables tallenna
Lisäksi voit palauttaa palomuurin edelliseen tallennettuun tilaan (kun olet kokeillut sääntöjä ja haluat nyt palauttaa edellisen työasennuksen):
/etc/init.d/iptables ladata uudelleen
Lopuksi init-skripti voi laittaa iptablesin “paniikkitilaan”, jossa kaikki saapuvat ja lähtevät liikennerajoitukset estetään. En ole varma, miksi tämä tila on hyödyllinen, mutta kaikki Linux-palomuurit näyttävät olevan.
/etc/init.d/iptables paniikkia
Varoitus: Älä käynnistä paniikkitilaa, jos olet yhteydessä palvelimeen SSH: n kautta; sinä tahtoa irrota! Ainoa aika, kun sinun pitäisi laittaa iptables paniikkitilaan, on kun olet fyysisesti tietokoneen edessä.