Iptables (palomuuri)

17.02.2018
Linux

Iptables ohjelmalla voi muuttaa Linux:n ytimen verkkopaketti suodattimen asetuksia. Pakettien suodatus perustuu sääntölistoihin, joiden perusteella paketit hyväksytään tai pudotetaan pois.

Sääntölistoja on kolme ja niiden nimet ovat INPUT (tulevan liikenteen sääntölista), OUTPUT (lähtevän liikenteen sääntölista) ja FORWARD (välitettävän liikenteen sääntölista).

Sääntölistojen tulostus (taulukko muoto)

Sääntölistat sääntöineen voi tulostaa optiolla -L (sama kuin --list)

sudo iptables -L

Jos haluaa tuolostaa vain tietyn sääntölistan sääntöineen, niin option perään voi laittaa tulostettavan sääntölistan nimen.

sudo iptables -L INPUT

Lisä optiolla --line-numbers saa näkymään sääntöjen rivinumerot, ja lisäoptiolla -n saa IP osoitteet ja portit tulostumaan numeerisina (ilman -n optiota tulostus voi ottaa pitkän ajan).

sudo iptables -L INPUT -n --line-numbers

Sääntöjen tulostus

Säännöt voi tulostaa -S optiolla. Tämä näyttää kaikki säännöt mitä sääntölistoihin on lisätty.

sudo iptables -S

Halutessa option perään voi lisätä sääntölistan nimen jonka säännöt tulostetaan.

sudo iptables -S INPUT

Säännön lisäys (listan loppuun)

Uuden säännön voi lisätä listan loppuun optiolla -A. Option jälkeen tulee listan nimi, johon sääntö lisätään, ja tämän jälkeen itse sääntö.

sudo iptables -A INPUT -s 221.194.47.221 -j DROP

Säännön lisäys (listan alkuun tai tietylle riville)

Uuden säännön voi lisätä listan alkuun optiolla -I. Option jälkeen tulee listan nimi, johon sääntö lisätään, ja tämän jälkeen itse sääntö.

sudo iptables -I INPUT -s 221.194.47.220 -j DROP

Jos listan nimen jälkeen syöttää rivinumeron, menee sääntö kyseiselle riville listassa.

sudo iptables -I INPUT 2 -s 221.194.47.220 -j DROP

Säännön poisto

Säännön voi poistaa listasta option -D avulla. Option jälkeen tulee listan nimi, josta sääntö poistetaan, ja tämän jälkeen poistettava sääntö tai sen rivinumero.

sudo iptables -D INPUT -s 221.194.47.220 -j DROP
sudo iptables -D INPUT 4

Sääntölistan tyhjennys

Sääntölistat voi tyhjentää optiolla -F (sama kuin --flush).

sudo iptables -F

Option -F perään voi halutessa laittaa tyhjennettävän listan nimen, jos ei halua tyhjentää kaikkia sääntölistoja.

sudo iptables -F INPUT

Esimerkki

Estetään kaikki tuleva (INPUT -lista) TCP liikenne osoitteista 211.194.x.x porttiin 22 (SSH -portti).

iptables -A INPUT -s 221.194.0.0/16 -p tcp --destination-port 22 -j DROP

Huom. ryhmä osoitteiden kanssa kannattaa olla tarkkana jottei tule vahingossa blokattua omaa pääsyä palvelimelle. Osoite 211.194.47.x ilmaistaan 211.194.47.x/24.