Muokataan sivua Iptables
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | ||
'''iptables'''-työkalulla säädetään Linuxin [[Kernel|ytimessä]] olevaa [[Netfilter]]-pakettisuodatinta. Sen avulla voidaan toteuttaa esimerkiksi [[Palomuuri|palomuureja]] ja | '''iptables'''-työkalulla säädetään Linuxin [[Kernel|ytimessä]] olevaa [[Netfilter]]-pakettisuodatinta. Sen avulla voidaan toteuttaa esimerkiksi [[Palomuuri|palomuureja]] ja | ||
[[wikipedia:fi:reititin|reitittimiä.]] | [[wikipedia:fi:reititin|reitittimiä.]] Iptables on ollut mukana ytimessä versiosta 2.4-alkaen. [[NFTables]] on korvaamassa ytimen 3.19 versiosta alkaen. | ||
== Peruskäsitteitä == | == Peruskäsitteitä == | ||
Rivi 11: | Rivi 11: | ||
Säännöillä voidaan esimerkiksi määrittää, että tietystä IP-osoitteesta tai tiettyyn porttiin saapuvat paketit joko estetään tai päästetään läpi. Säännöillä voidaan myös määritellä edistyneempiä toimintoja, esimerkiksi voidaan estää uudet yhteydet tietystä IP-osoitteesta, jos yhteyksiä on jo samasta IP-osoitteesta auki liian monta. | Säännöillä voidaan esimerkiksi määrittää, että tietystä IP-osoitteesta tai tiettyyn porttiin saapuvat paketit joko estetään tai päästetään läpi. Säännöillä voidaan myös määritellä edistyneempiä toimintoja, esimerkiksi voidaan estää uudet yhteydet tietystä IP-osoitteesta, jos yhteyksiä on jo samasta IP-osoitteesta auki liian monta. | ||
== Yksinkertainen palomuuri == | == Yksinkertainen palomuuri == | ||
Iptablesin oletuksena käsittelemässä filter-taulussa on kolme sisäänrakennettua ketjua, INPUT, FORWARD ja OUTPUT. Kun ulkomaailmasta saapuu palvelimelle paketti, siihen sovelletaan INPUT-ketjussa olevia sääntöjä. Vastaavasti jos palvelimelta lähtee ulospäin paketti, siihen sovelletaan OUTPUT-ketjussa olevia sääntöjä. FORWARD-ketjun sääntöjä sovelletaan siinä tapauksessa, että paketti saapuu palvelimelle ulkoa päin, mutta sen lopullinen kohde on jokin toinen palvelin, eli paketti on vain kauttakulkumatkalla. | |||
Jos siis halutaan vaikkapa estää palvelimelle tuleva liikenne tietystä IP-osoitteesta, täytyy lisätä uusi sääntö INPUT-ketjuun. Samoin jos halutaan estää palvelimelta yhteydet ulospäin tiettyihin portteihin, täytyy lisätä yksi tai useampi sääntö OUTPUT-ketjuun. | Jos siis halutaan vaikkapa estää palvelimelle tuleva liikenne tietystä IP-osoitteesta, täytyy lisätä uusi sääntö INPUT-ketjuun. Samoin jos halutaan estää palvelimelta yhteydet ulospäin tiettyihin portteihin, täytyy lisätä yksi tai useampi sääntö OUTPUT-ketjuun. | ||
Rivi 62: | Rivi 60: | ||
Palomuuri perustuu siihen, että tietyt paketit (tieto liikkuu Internetissä paketteina) pääsevät palomuurin läpi ja tietyt estetään. Näitä esto- ja päästösääntöjä säädetään iptablesilla. | Palomuuri perustuu siihen, että tietyt paketit (tieto liikkuu Internetissä paketteina) pääsevät palomuurin läpi ja tietyt estetään. Näitä esto- ja päästösääntöjä säädetään iptablesilla. | ||
Iptablesin kanssa paketit jaetaan viiteen luokkaan: INPUT, OUTPUT, FORWARD, PREROUTING ja POSTROUTING. OUTPUT-tyyppiset paketit ovat paketteja jotka lähtevät koneeltasi Internettiin - esimerkiksi ladatessasi tämän sivun lähetit wikin palvelimelle paketin, jossa pyysit tätä sivua. Kun palvelin sitten vastaa pyyntöösi lähettäen tätä sivua paketteina, ne tulevat INPUT-tyyppisinä. FORWARD-tyyppiset paketit ovat paketteja, jotka vastaanotetaan toisesta verkosta ja lähetetään toiseen (yleensä Internetistä lähiverkkoon tai päinvastoin). | |||
Vielä yksi perusasia ennen kuin lähdemme säätelemään palomuuriamme: tehtyäsi asetukset ne eivät tallennu mihinkään, vaan seuraavan uudelleenkäynnistyken jälkeen asetukset palautuvat alkuperäisiksi. Tallentaminen onnistuu komennoilla <tt>iptables-save</tt> ja <tt>iptables-restore</tt> joista lisää myöhemmin. | Vielä yksi perusasia ennen kuin lähdemme säätelemään palomuuriamme: tehtyäsi asetukset ne eivät tallennu mihinkään, vaan seuraavan uudelleenkäynnistyken jälkeen asetukset palautuvat alkuperäisiksi. Tallentaminen onnistuu komennoilla <tt>iptables-save</tt> ja <tt>iptables-restore</tt> joista lisää myöhemmin. | ||
Rivi 84: | Rivi 82: | ||
=== Tarkempaa rajoittamista === | === Tarkempaa rajoittamista === | ||
Edellä estimme kaikki mahdolliset paketit tiettyyn osoitteeseen. | Edellä estimme kaikki mahdolliset paketit tiettyyn osoitteeseen. Iptables tarjoaa kuitenkin mahdollisuuden käyttää tarkempia rajoituksia. Esimerkiksi seuraavassa estäisimme kaiken saapuvan [[SSH]]-liikenteen osoitteesta 123.456.789.123 (porttiin 22 kohdistuvan [[TCP]]-protokollaa käyttävän liikenteen). | ||
iptables -A INPUT -s 123.456.789.123 -p tcp --dport 22 -j DROP | iptables -A INPUT -s 123.456.789.123 -p tcp --dport 22 -j DROP | ||
Huomaa uudet valitsimet -p (protokolla) ja --dport (kohdeportti, <i>destination port</i>, voi olla myös alue muodossa alku:loppu). | Huomaa uudet valitsimet -p (protokolla) ja --dport (kohdeportti, <i>destination port</i>, voi olla myös alue muodossa alku:loppu). Iptables ymmärtää myös portin numeron sijasta protokollien nimiä, esimerkiksi ssh (portti 22) tai http (80). | ||
=== SYN-paketit === | === SYN-paketit === | ||
Rivi 96: | Rivi 94: | ||
== Asetusten tallentaminen ja palauttaminen == | == Asetusten tallentaminen ja palauttaminen == | ||
Iptablesin senhetkiset asetukset saa ulos ajamalla pääkäyttäjänä komennon | |||
iptables-save | iptables-save | ||
, joka tulostaa nykyiset asetukset (käytännössä normaaleita iptables-komentoja ilman iptables-alkuosaa). Toimivat asetukset kannattaakin [[Komentorivin perusteet#putkitus|tallentaa]] tiedostoon: | , joka tulostaa nykyiset asetukset (käytännössä normaaleita iptables-komentoja ilman iptables-alkuosaa). Toimivat asetukset kannattaakin [[Komentorivin perusteet#putkitus|tallentaa]] tiedostoon: | ||
Rivi 203: | Rivi 201: | ||
#Call of Duty | #Call of Duty | ||
#${IPTABLES} -t nat -A PREROUTING -p udp --dport 28960 -i ${WAN} -j DNAT --to 192.168.x.x | #${IPTABLES} -t nat -A PREROUTING -p udp --dport 28960 -i ${WAN} -j DNAT --to 192.168.x.x | ||
#web- | #web-serveri | ||
#${IPTABLES} -t nat -A PREROUTING -p tcp --dport http -i ${WAN} -j DNAT --to 192.168.x.x | #${IPTABLES} -t nat -A PREROUTING -p tcp --dport http -i ${WAN} -j DNAT --to 192.168.x.x | ||
Rivi 228: | Rivi 226: | ||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] | ||
{{Malline:Palvelin}} | {{Malline:Palvelin}} | ||