Ero sivun ”Iptables” versioiden välillä

Siirry navigaatioon Siirry hakuun
70 merkkiä lisätty ,  5. maaliskuuta 2022
p
malline
p (Lisätty Palvelin-malline)
p (malline)
 
(3 välissä olevaa versiota toisen käyttäjän tekemänä ei näytetä)
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ä.]]  Iptables on ollut mukana ytimessä versiosta 2.4-alkaen. [[NFTables]] on korvaamassa ytimen 3.19 versiosta alkaen.
[[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.  
==Reititin==
''Pääartikkeli:'' [[iptables/Reititin]]


== 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.  
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 60: Rivi 62:
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).  
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 82: Rivi 84:


=== Tarkempaa rajoittamista ===
=== Tarkempaa rajoittamista ===
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).
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). Iptables ymmärtää myös portin numeron sijasta protokollien nimiä, esimerkiksi ssh (portti 22) tai http (80).
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 94: Rivi 96:


== Asetusten tallentaminen ja palauttaminen ==
== Asetusten tallentaminen ja palauttaminen ==
Iptablesin senhetkiset asetukset saa ulos ajamalla pääkäyttäjänä komennon
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 201: Rivi 203:
  #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-serveri
  #web-palvelin
  #${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 226: Rivi 228:
[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Komentorivin perustyökalut]]
{{Malline:Palvelin}}
{{Malline:Palvelin}}
{{Palomuuri}}
10 147

muokkausta

Navigointivalikko