Kako koristiti iptables za filtriranje paketa na Linuxu

Sadržaj

U ovom vodiču ćemo govoriti o iptables, vatrozid ili vatrozid koji imamo u Linuxu. Ovaj će nam alat omogućiti filtriranje paketa (s čime će se uputstvo pozabaviti), generiranje zapisa dnevnika, izvođenje NAT prijevoda.

Zahvaljujući iptables -u možemo jednostavno generirati pravila za filtriranje paketa, iako se pri prvoj upotrebi može činiti pomalo zbunjujućim, vidjet ćete da kada ga koristite nekoliko dana nema nikakvih komplikacija.

Korištenje ovog alata zahtijeva visoke privilegije, odnosno morat ćemo biti superkorisnici kako bismo ga pokrenuli. Imamo mnogo značajki unutar iptablesa, cilj vodiča je vidjeti primjere njegove uporabe kroz primjere. Važno je da nakon što završite s vodičem nastavite kopati jer je to vrlo korisno.

Zatim napuštamo službenu web stranicu u slučaju da je od interesa:

BilješkaZa IPv6 imamo ip6 tablice.

Ako želimo vidjeti informacije o iptablesima, izvršit ćemo sljedeće u terminalu:

 čovjek iptables
Vidjet ćemo sljedeće podatke:

Na slici možete vidjeti dio informacija koje daje naredba, da biste vidjeli sve, pomaknite se dolje u terminalu. Kao što smo vidjeli na početku vodiča, jedan od zadataka koji će nam omogućiti iptables je stvaranje pravila ili filtera koji će znati što učiniti s paketima koji imaju naš stroj kao ishodište / odredište. Za ovaj zadatak bit će nas zanimalo zašto koristimo sljedeće pojmove:

Ploče
Iptables ima nekoliko tablica, ali za naš vodič ćemo se usredotočiti samo na stol za filtriranje, koja je zadužena za filtriranje, zadano se koristi u iptables.

Lanci
Nizovi koje ću ovdje staviti su oni koji pripadaju prethodno komentiranoj tablici.

  • Ulazni: Paketi namijenjeni našem stroju.
  • Izlaz: Paketi koji potječu iz našeg sustava.
  • Naprijed: Paketi koji prolaze kroz naš stroj za preusmjeravanje na drugi.

Pravila
Označit ćemo 2 koje će se koristiti u vodiču, ali ima ih još.

  • Prihvatiti: Paketi se prihvaćaju.
  • Pad: Paketi se odbacuju.

Parametri
Neki od parametara koje možemo koristiti su sljedeći.

  • -Pravilo: Za dodavanje pravila
  • -D pravilo: Za brisanje pravila koje navodimo.
  • -L: Omogućuje nam navođenje pravila.
  • -F: Izbrišite sva postojeća pravila.
  • -j meta: Postavite vrstu pravila (Prihvati, Odbaci).
  • -t stol: Označit će tablicu koja se koristi (prema zadanim postavkama tablica filtra).
  • -p protokol: Koristi se za označavanje protokola.
  • -i sučelje: Uspostavljamo sučelje za pravilo.
  • -s: Za označavanje podrijetla.
  • -d: Za označavanje odredišta.
  • -h: Prikazuje pomoć.

Ima ih još mnogo, koliko mogu biti --odredišna luka ili --source-port. Da biste ih vidjeli, možete pokrenuti naredbu o kojoj smo gore govorili:

 čovjek iptables
Ili možete pokrenuti i:
 iptables -h
BilješkaMorate pažljivo pogledati mogućnosti koje nudi alat, jer razlikuje mala i velika slova i možemo pogriješiti (neće biti isto staviti -str da -P).

Počnimo s primjerima, bit će stavljeno ukupno 10 pa će se bolje razumjeti i možemo vidjeti kako iptables radi u načinu vatrozida. U primjerima nećete vidjeti sudo, neće biti potrebno ako ste kao root, inače ćete morati dodati riječ sudo na početku svakog primjera.

1. Zabraniti odlazak na bilo koje odredišteZa početak ćemo dati jednostavan primjer, ne napuštajte izlaz nigdje.

 iptables -I IZLAZ -j KAPANJE
Ovaj je vrlo jednostavan, kao što vidite, sljedeći je još lakši.

2. Obrišite sva pravilaNastavljamo s vrlo jednostavnim primjerom, ostavljamo naše iptables bez pravila, jer ćemo za to izvršiti:

 iptables -F
Pa zakomplicirajmo to još malo u sljedećoj.

3. Zabraniti polazak kroz luku 80Sada se brinemo o zatvaranju izlaza kroz određeni port, u ovom slučaju to je 80, stoga nećemo imati pregledavanje weba kroz http protokol (ako krenemo na https stranicu, možemo se kretati, iako bismo mogli učiniti isto kao 80).

 iptables -A IZLAZ -p tcp --destination -port 80 -j DROP
BilješkaKada koristimo odredišni ili izvorni port, morat ćemo staviti -p parametar za označavanje protokola.

Prelazimo na četvrti primjer.
4. Zabraniti navigaciju do straniceOvom prigodom zainteresirani smo zabraniti pristup X stranici iz našeg sustava, zamislimo da je ova stranica rješen.com, za to saznajemo njen IP, vrlo jednostavno izvršavanjem ping -a ćemo ga dobiti.

A sada ćemo izvršiti:

 iptables -A IZLAZ -d 178.33.118.246 -j DROP
Kao što vidimo, dovoljno je nakon parametra navesti svoj IP -d.

5. Navedite pravila koja postojeU ovom primjeru pokušat će se navesti pravila filtriranja koja smo trenutno definirali:

 iptables -L
Vidimo sliku, imamo samo dva definirana pravila, kao što vidimo u nastavku:

Prijeđimo na šesti primjer u kojem ćemo ponovno koristiti popis pravila.

6. Izbrišite određeno praviloOvdje ćemo, polazeći od pravila koja smo imali u prethodnom primjeru, izbrisati jedno od izlaznih pravila, u ovom slučaju prvo koje se pojavi, izvršavamo sljedeće:

 iptables -D IZLAZ 1
A da bismo provjerili je li učinkovito izbrisan, koristimo se primjerom 5:

Nastavimo s još.

7. Izbjegavajte pingNe želimo da nas pinguju, jer ćemo zbog toga blokirati unos za ICMP protokol.

 iptables -A ULAZ -p ICMP -j DROP
Ispod ostavljam sliku pinganja prije izvršavanja gornje naredbe i nakon:

Vidimo da naš stroj ne odgovara jer odbija ICMP pakete. Ako blokiramo izlaz umjesto ulaza, izvršili bismo:

 iptables -I IZLAZ -p ICMP -j IZPUSTI
Ponovilo bi se isto što i na prethodnoj slici. Za testiranje sam napravio 3 puta ping, ako izvršimo možemo vidjeti broj paketa:
 iptables -L -v

Vidimo da učinkovito stavlja 3 na prethodnu sliku.

8. Spriječite da nam IP šalje podatkePrimijenit ćemo ulazni, ne želimo da nas spoji određeni IP, pa ćemo izvršiti:

 iptables -A ULAZ -s 192.168.66.1 -j DROP
Pogledajmo nešto dulji primjer.

9. Dopustite izlaze na niz IP adresaZamislite da želite prihvatiti samo izlaze na niz IP adresa, ali odbiti ostale izlaze, moramo izvršiti:

 Iptables -A IZLAZ -d 192.168.0.0/24 -j PRIHVATI Iptables -A IZLAZ -j DROP
BilješkaRedoslijed izvršavanja pravila je bitan, isprobajte ovaj primjer s mrežom koju želite dopustiti i uspostavite vezu, vidjet ćete da radi, zatim izbrišite sva pravila i izvršite 2 rečenice obrnuto, sada bi odbacio veze .

Prijeđimo na deseti i posljednji primjer.

10. Otvorite port 143 (imap)Otvorit ćemo port za unos svih tcp paketa, u ovom slučaju 143 (za ostale bi bilo isto).

 iptables -A INPUT -m stanje -stanje NOVO -p tcp --dport 143 -j PRIHVATI
U ovom primjeru smo htjeli koristiti --dport, pa možete vidjeti da možemo koristiti ovo ili --odredišna luka, također bismo mogli koristiti --sport umjesto --source-port.

Vodič ovdje završava, sada pokušavate primijeniti druga pravila, što više vježbate, brže ćete imati primjenu pravila, a manje će vas to koštati. Za kraj ostavljamo vodič koji bi vas mogao zanimati, otvaranje i zatvaranje portova u sustavu Windows 10.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave