Natrag na blog

Izlistavanje i brisanje Iptables pravila vatrozida

Izlistavanje i brisanje Iptables pravila vatrozida

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:

iptables list

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”:

list specific chain

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:

list rules as table iptables

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”:

filter by chain

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:

package and byte counters iptables

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:

Reset packet counts and aggregate size

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:

reset particular counter

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:

reset specific rule

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:

Delete rules by specification

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:

Delete rules by chain and number - get line number

Dobit ćete velik ispis sa svim pravilima i njihovim brojevima redaka. Kako biste suzili ispis, upotrijebite naziv lanca nakon zastavice „-L”:

Delete rules by chain and number - filter

U ispisu ćete primijetiti dodatni stupac num. On označava broj retka za svako pravilo. Nakon što odredimo ciljani broj, izvršite brisanje:

delete iptables rule

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:

iptables rules export

Pražnjenje pojedinačnog lanca

Pogledajmo kako isprazniti lanac. Koristite zastavicu „-F” nakon koje slijedi ciljani lanac:

flush a single chain

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:

flush all changes

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:

Flush rules, delete chains and accept all

Sada očistite nat i mangle tablice:

 flush nat and mangle tables

 mangle tables

Očistite sve lance i obrišite sve nezadane lance:

Flush all the chains

 delete all the non-default chains

Zatim, pogledajmo rezultat:

iptables result

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!

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.