Iptables je primarni vatrozid koji dolazi s većinom Linux distribucija po zadanim postavkama. Odgovoran je za upravljanje mrežnom sigurnošću. Radi tako da uspoređuje pakete podataka sa skupom pravila, dajući sustavu upute da prihvati, odbije ili proslijedi vezu u skladu s pravilima. U ovom vodiču pokazat ćemo vam kako izlistati i izbrisati pravila, provjeriti i očistiti brojače paketa i bajtova te isprazniti lance. Jeste li spremni? Krenimo!
Preduvjeti
Prije nego što uskočimo u vodič, razjasnimo nešto. Svi savjeti i trikovi prikazani u ovom vodiču izvode se na zasebnom virtualnom stroju. Dobra je ideja da i vi to učinite jer to uklanja svaku mogućnost da svoj sustav pretvorite u potpuni nered. Tek nakon što svladate ove procese, trebali biste ih pokušati primijeniti u stvarnim situacijama.
Za ovaj vodič koristit ćemo Ubuntu za prikaz svih koraka. Međutim, trebali bi raditi na sličan način bez obzira na distribuciju.
Izlistavanje pravila
Izlistavanje pravila prema specifikaciji
Prvo, provjerimo sva aktivna pravila prema specifikaciji. Pokrenite sljedeću naredbu:
|
1 |
sudo iptables -S |

Ako ste već prije radili s kreiranjem iptables pravila, možda ste primijetili sličnost. Izlazi nalikuju naredbama koje su korištene za njihovo stvaranje, osim dijela „iptables”. Također dijele sličnu strukturu s konfiguracijskim datotekama iptables pravila.
Izlistavanje određenog lanca
Pokušajmo nešto preciznije. Umjesto prikazivanja svih iptables pravila, recite iptablesu da prikaže pravila određenog lanca. Na primjer, TCP, INPUT, OUTPUT itd. Da biste to učinili, navedite naziv lanca nakon zastavice „-S”:
|
1 |
sudo iptables -S <lanac> |

Izlistavanje pravila kao tablice
Tablični prikaz koristan je pri usporedbi različitih pravila. Upotrijebite zastavicu „-L” kako biste rekli iptablesu da prikaže sva aktivna pravila u obliku tablice:
|
1 |
sudo iptables -L |

Izlaz sadrži sva trenutna pravila razvrstana po lancu. Slično prethodnom odjeljku, također je moguće filtrirati izlaz popisa prema određenom lancu kao što su INPUT, TCP, OUTPUT itd. Da biste to učinili, navedite lanac nakon zastavice „-L”:
|
1 |
sudo iptables -L <lanac> |

Rastavimo malo izlaz. U našem slučaju, zbog pravila, izlaz će izgledati pomalo neuredno. Prvi redak izlaza deklarira naziv lanca (INPUT) s njegovim zadanim pravilom (DROP). Sljedeći redak specificira zaglavlja stupaca tablice. Ostatak su pravila lanca. Pogledajmo što zaglavlja označavaju:
- target: Ako se paket podudara s pravilom, ovaj odjeljak definira koju radnju treba izvršiti. To može biti prihvaćanje paketa, odbacivanje, bilježenje ili slanje u drugi lanac.
- prot: Definira protokol, na primjer, udp, tcp, icmp ili all.
- opt: Ovaj stupac označava IP opcije. Rijetko se koristi.
- source: Podrijetlo paketa (IP adresa ili podmreža). Vrijednost može biti određena ili bilo gdje.
- destination: Odredište paketa (IP adresa ili podmreža). Vrijednost može biti određena ili bilo gdje.
Ako ste primijetili, zadnji stupac nije označen. To je zato što se koristi za označavanje opcija pravila. Sadržat će sve dijelove pravila koji nisu stali u prethodna polja. Može sadržavati bilo što, od izvorišnih/odredišnih priključaka do stanja veze paketa itd.
Broj paketa i ukupna veličina
Čišćenje brojača paketa i bajtova
Kada izlistavamo iptables pravila, također možemo provjeriti broj paketa i ukupnu veličinu paketa u bajtovima koji su se podudarali sa svakim pojedinim pravilom. To je korisna metrika kada trebate imati grubu sliku o tome koja se pravila podudaraju s paketima.
U ovom primjeru koristit ćemo lanac INPUT. Ovaj put dodajte zastavicu „-v” koja označava opširni način rada:
|
1 |
sudo iptables -L INPUT -v |

Primijetit ćete da izlaz tablice sada uključuje dva dodatna polja: pkts i bytes.
Ponovno postavljanje broja paketa i ukupne veličine
U nekim situacijama možda ćete htjeti resetirati brojače koje smo prethodno prikazali. Ako se sustav ponovno pokrene, brojači će se automatski očistiti. Također možete ručno prisiliti resetiranje. Koristit ćemo zastavicu „-Z” za resetiranje broja paketa i ukupne veličine:
|
1 |
sudo iptables -v -Z |

Imajte na umu da će ova naredba resetirati brojače svih lanaca. Kao i kod drugih naredbi, moguće je resetirati brojač za određene lance. Na primjer, sljedeća naredba resetirat će brojače za lanac INPUT:
|
1 |
sudo iptables -v -Z <lanac> |

Moguće je učiniti radnju resetiranja brojača preciznijom. Možete resetirati brojač za određeno pravilo unutar određenog lanca. Da biste to učinili, dodajte broj pravila ispod naziva lanca:
|
1 |
sudo iptables -v -Z <lanac> <broj_pravila> |
Brisanje pravila
Brisanje pravila prema specifikaciji
Postoji više načina za brisanje iptables pravila. Prva metoda brisanja pravila je prema specifikaciji pravila. Za brisanje ćemo koristiti zastavicu „-D” nakon koje slijedi specifikacija pravila:
|
1 |
sudo iptables -v -D INPUT -s 172.217.194.113 -j DROP |

Ako ste već ranije dodavali bilo koje iptables pravilo, primijetit ćete sličnost. Jedina stvar koja se ovdje promijenila je zastavica „-D” umjesto zastavice „-A”.
Brisanje pravila prema lancu i broju
Brisanje pravila prema njihovoj specifikaciji zahtijeva malo više truda, zar ne? Što ako bismo ih mogli obrisati bez potrebe za pamćenjem specifikacije pravila? Obrišimo pravila prema njihovom lancu i broju! U usporedbi s prvom metodom (brisanje prema specifikaciji), ova je relativno lakša jer ne morate imati cijelu specifikaciju pri ruci.
Ova metoda zahtijeva lanac i broj retka ciljanog pravila. Gdje možemo saznati broj retka? Pokrenite sljedeću naredbu kako biste to utvrdili:
|
1 |
sudo iptables -L --line-numbers |

Dobit ćete velik ispis sa svim pravilima i njihovim brojevima redaka. Kako biste suzili ispis, upotrijebite naziv lanca nakon zastavice „-L”:
|
1 |
sudo iptables -L <lanac> --line-numbers |

U ispisu ćete primijetiti dodatni stupac num. On označava broj retka za svako pravilo. Nakon što odredimo ciljani broj, izvršite brisanje:
|
1 |
sudo iptables -v -D <lanac> <broj_retka> |
Pražnjenje lanaca
U slučaju iptables-a, što je pražnjenje lanca? To je postupak brisanja svih pravila unutar određenog lanca. Ako trebate masovno brisanje pravila, možete koristiti ovu metodu. Prije pražnjenja lanca, preporučujemo da napravite sigurnosnu kopiju postojećih pravila pomoću naredbe iptables-save. To je ugrađeni iptables alat koji će ispisati sve trenutne lance i pravila. Ispis se može izvesti u tekstualnu datoteku:
|
1 |
sudo iptables-save > ~/Desktop/iptables-backup.txt |
![]()
Pražnjenje pojedinačnog lanca
Pogledajmo kako isprazniti lanac. Koristite zastavicu „-F” nakon koje slijedi ciljani lanac:
|
1 |
sudo iptables -v -F <lanac> |

Pražnjenje svih lanaca
Prije pražnjenja svih lanaca, provjerite razumijete li što radite. Ovo će obrisati sva pravila za vatrozid iptables. Svakako biste trebali unaprijed stvoriti sigurnosnu kopiju iptables pravila.
Spremni? Ispraznite sve iptables lance pokretanjem sljedeće naredbe:
|
1 |
sudo iptables -v -F |

Pražnjenje pravila, brisanje lanaca i prihvaćanje svega
Izvođenje koraka opisanih u ovom odjeljku učinkovito će onemogućiti vatrozid, dopuštajući neograničeni mrežni promet. Slično prethodnom odjeljku, preporučujemo da imate sigurnosnu kopiju iptables-a prije nego što nastavite. Prvo ćemo promijeniti zadano pravilo svakog od ugrađenih lanaca u ACCEPT. To je kako bismo osigurali da vas iptables ne zaključa izvan vašeg poslužitelja putem SSH-a:
|
1 |
sudo iptables -v -P INPUT ACCEPT && sudo iptables -v -P FORWARD ACCEPT && sudo iptables -v -P OUTPUT ACCEPT |

Sada očistite nat i mangle tablice:
|
1 2 |
sudo iptables -v -t nat -F sudo iptables -v -t mangle -F |


Očistite sve lance i obrišite sve nezadane lance:
|
1 2 |
sudo iptables -v -F sudo iptables -v -X |


Zatim, pogledajmo rezultat:
|
1 |
sudo iptables -L --line-numbers |
Završne misli
Iptables je moćan vatrozid. Nadamo se da vam je ovaj vodič bio koristan u učenju kako izlistati i izbrisati pravila iptables vatrozida. I ne zaboravite ih uvježbati prije nego što ih primijenite u stvarnom svijetu.
Ugodan rad na računalu!



Komentari
Još nema komentara. Budite prvi.