If-Koubou

Iptablesin käyttö Linuxissa

Iptablesin käyttö Linuxissa (Miten)

Tässä oppaassa pyritään selittämään, miten iptablesia käytetään Linuxissa helposti ymmärrettävään kieleen.

Sisällys

[piilottaa]

  • 1 Yleiskatsaus
  • 2 Käyttö
    • 2.1 Yhden IP-osoitteen estäminen
    • 2.2 Kaikkien liikenteen salliminen IP-osoitteesta
    • 2.3 Portin estäminen kaikista osoitteista
    • 2.4 Yhden portin salliminen yhdestä IP-osoitteesta
    • 2.5 Nykyisten sääntöjen tarkasteleminen
    • 2.6 Nykyisten sääntöjen poistaminen
  • 3 Jakeluominaisuudet
    • 3.1 Gentoo

Yleiskatsaus

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

Käyttö

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

Yhden IP-osoitteen estäminen

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

Kaikkien liikenteen salliminen IP-osoitteesta

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

Portin estäminen kaikista osoitteista

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

Yhden IP: n yhden portin salliminen

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

Nykyisten sääntöjen tarkasteleminen

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.

Nykyisten sääntöjen poistaminen

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

Jakelu-Specific

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.

Gentoo

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.