iptable

Ubuntu Iptables Kako kontrolirati mrežni promet koristeći iptables?

Ubuntu Iptables Kako kontrolirati mrežni promet koristeći iptables?
“... A korisnički prostor Unix uslužni program koji administratorima sustava daje mogućnost konfiguriranja pravila filtriranja IP paketa koja provodi modul mrežnog filtra kernela." Iptables djeluju kao vatrozid koristeći pravila filtriranja paketa temeljena na raznim kriterijima kao što su IP adresa, priključak i protokoli.

Ovaj će vodič raspravljati o tome kako konfigurirati i koristiti pravila iptables na Ubuntu sustavu za zaštitu vaše mreže. Bez obzira jeste li početnik Linux ili sezonski administrator sustava, iz ovog vodiča i na ovaj ili onaj način naučit ćete nešto korisno o iptablesima.

Iptables dolaze unaprijed instalirani na Ubuntu i većini distribucija temeljenih na Debianu. Ubuntu također pakira GUFW vatrozid, grafičku alternativu koju možete koristiti za rad s iptablesima.

BILJEŠKA: Da biste koristili i konfigurirali iptables, trebat će vam sudo privilegije na vašem sustavu. Iz sljedećeg vodiča možete saznati više o sudo-u.

Sad kad znate što su Iptables, zaronimo odmah!

Kako koristiti iptables za upravljanje IPv4 prometom?

Da biste koristili Iptables za upravljanje mrežom i prometom IPv4, morate razumjeti sljedeće:

Zapovjedništvo Iptables

Iptables nudi izbor opcija koje vam omogućuju prilagodbu i podešavanje vaših pravila iptables. Razmotrimo neke od ovih parametara i vidjet ćemo što rade.

BILJEŠKA: Možete konfigurirati skup pravila koja upravljaju određenim podskupom, poznatim kao lanci iptables.

Parametri Iptables

Prije nego što započnemo s kreiranjem i konfiguriranjem pravila iptables, prvo shvatimo osnove iptables-a, poput opće sintakse i zadanih argumenata.

Razmotrite naredbu u nastavku:

sudo iptables -I INPUT -s 192.168.0.24 -j KAP

Gornja naredba govori iptablesima da stvore pravilo u lancu. Pravilo uklanja sve pakete s IP adrese 192.168.0.24.

Ispitajmo naredbu, redak po redak, kako bismo je bolje razumjeli.

Iptables nudi izbor parametara pomoću kojih možete konfigurirati različita pravila. Razni parametri koje možete koristiti za konfiguriranje pravila iptables uključuju:

Parametar pravila Iptables Opis
-s -izvor Navedite izvor, koji može biti adresa, ime hosta ili naziv mreže.
-p -protokol Određuje protokol veze; na primjer, TCP, UDP itd.
-d -odredenje Određuje odredište, koje može biti adresa, naziv mreže ili naziv hosta.
-j -skok Postavlja akciju koju će iptables provesti nakon pronalaska paketa.
-o-van-sučelje Postavlja sučelje putem kojeg iptable šalje paket.
-i -in-interface Postavlja sučelje koje se koristi za uspostavljanje mrežnih paketa.
-c -brojevi Omogućuje administratoru da postavi brojače bajtova i paketa za određeno pravilo.
-g -goto lanac Parametar navodi da bi se obrada trebala nastaviti u lancu koji je postavio korisnik nakon povratka.
-f-fragment Kaže iptablesima da primjenjuju pravilo samo na drugi i sljedeći fragmenti fragmentiranih paketa.

Opcije Iptables

Naredba iptables podržava širok raspon opcija. Neki od uobičajenih uključuju:

Opcija Opis
-A -prilog Dodaje pravilo na kraj navedenog lanca
-D -brisati Uklanja pravilo iz navedenog lanca
-F -isprati Uklanja sva pravila, jedno po jedno
-L-lista Prikazuje sva pravila u navedenom lancu
-Umetnem Umeće pravilo u navedeni lanac (prosljeđuje se kao broj, kada nije naveden broj; pravilo se dodaje na vrh)
-C -provjera Upiti za podudaranje pravila; zahtjev u određenom pravilu
-v -verbozna Prikazuje više detalja kada se koristi s parametrom -L
-N-novi lanac Dodaje novi korisnički definirani lanac
-X -brisati-lanac Uklanja određeni korisnički definirani lanac

Iptables Stolovi

Linux jezgra ima zadane tablice u kojima se nalazi skup povezanih pravila. Te zadane tablice imaju skup zadanih lanaca, ali korisnici mogu prilagoditi pravila dodavanjem pravila definiranih od korisnika.

BILJEŠKA: Zadane tablice uvelike će ovisiti o vašoj konfiguraciji jezgre i instaliranim modulima.

Evo zadanih tablica iptables:

1: Tablice filtra

Tablica filtra zadana je tablica koja sadrži lance koji se koriste za filtriranje mrežnih paketa. Neki od zadanih lanaca u ovoj tablici uključuju:

Lanac Opis
Ulazni Iptables koriste ovaj lanac za sve dolazne pakete u sustav, tj.e., paketi koji idu u utičnice lokalne mreže.
Izlaz Iptables koriste izlazni lanac za lokalno generirane pakete, tj.e., paketi koji izlaze iz sustava.
Naprijed Ovaj lanac je ono što Iptables koriste za pakete usmjerene ili proslijeđene putem sustava.

2: NAT tablice

NAT ili tablica mrežnih adresa je uređaj za usmjeravanje koji se koristi za izmjenu izvorne i ciljane IP adrese u mrežnom paketu. Glavna upotreba NAT tablice je povezivanje dviju mreža u privatnom rasponu adresa s javnom mrežom.

NAT je razvijen za podršku maskiranju stvarnih IP adresa, omogućujući privatnim IP adresama u rasponu od dosezanja vanjske mreže. To pomaže u zaštiti detalja o internim mrežama od otkrivanja u javnim mrežama.

NAT tablica zapošljava se kada paket inicira novu vezu.

Iptables imaju zadanu tablicu za NAT adresiranje. Ova tablica ima tri glavna lanca:

Lanac Opis
PRETROUTIRANJE Omogućuje izmjenu podataka o paketima prije dolaska u lanac INPUT koji se koristi za dolazne pakete
IZLAZ Rezervirano za lokalno kreirane pakete, tj.e., prije nego što se dogodi mrežno usmjeravanje
POSTROUTING Omogućuje izmjenu odlaznih paketa - Paketi koji izlaze iz lanca OUTPUT

Dijagram u nastavku prikazuje pregled ovog postupka na visokoj razini.

Upotrijebite naredbu u nastavku da biste vidjeli svoje tablice usmjeravanja NAT.

iptables -t nat -n -v -L

3: Stolovi Mangle

Stol za rukovanje uglavnom se koristi za posebne modifikacije paketa. Jednostavnije rečeno, koristi se za izmjenu IP zaglavlja mrežnog paketa. Modifikacija paketa može uključivati ​​promjenu TTL vrijednosti paketa, promjenu važećih mrežnih skokova za paket itd.

Tablica sadrži sljedeće zadane lance:

Lanac Opis
PRETROUTIRANJE Rezervirano za dolazne pakete
POSTROUTING Koristi se za odlazne pakete
ULAZNI Koristi se za pakete koji dolaze izravno na poslužitelj
IZLAZ Koristi se za lokalne pakete
Naprijed Rezervirano za pakete usmjerene kroz sustav

4: Sirove tablice

Glavna svrha sirove tablice je konfiguriranje iznimaka za pakete kojima sustav praćenja ne namjerava rukovati. Neobrađena tablica postavlja oznaku NOTRACK na paketima, što traži da značajka conntrack ignorira paket.

Conntrack je značajka umrežavanja Linux kernela koja omogućava Linux kernelu da prati sve mrežne veze, omogućavajući kernelu da prepozna pakete koji čine mrežni tok.

Sirovi stol ima dva glavna lanca:

Lanac Opis
PRETROUTIRANJE Rezervirano za pakete primljene mrežnim sučeljima
IZLAZ Rezervirano za pakete pokrenute lokalnim procesima

5: Sigurnosna tablica

Primarna upotreba ove tablice je postavljanje unutarnjeg sigurnosnog mehanizma za poboljšanje sigurnosti za Linux (SELinux) koji označava pakete. Sigurnosna oznaka može se primijeniti na vezu ili paket.

Koristi se za obavezna pravila kontrole pristupa i druga je tablica kojoj se pristupa nakon tablice filtra. Nudi sljedeće zadane lance:

Lanac Opis
ULAZNI Rezervirano za dolazne pakete u sustav
IZLAZ Koristi se za lokalno kreirane pakete
NAPRIJED Koristi se za pakete usmjerene kroz sustav

Nakon što smo pogledali zadane Iptables, idemo korak dalje i razgovaramo o radu s pravilima iptables.

Kako raditi s iptables pravilima?

Iptables pravila primjenjuju se u rastućem redoslijedu. To znači da se prvo primjenjuje prvo pravilo u određenom skupu, a zatim drugo, pa treće i tako dalje, sve do zadnjeg.

Zbog ove funkcije, iptables vas sprječavaju da dodate pravila u skup pomoću parametra -A; morate upotrijebiti -I, a zatim broj ili isprazniti ga za dodavanje na vrh popisa.

Prikazivanje Iptables

Da biste pregledali svoje iptables, upotrijebite naredbu iptables -L -v za IPv4 i ip6tables -L -v za IPv6.

Umetanje pravila

Da biste umetnuli pravila u skup, morate ih postaviti točno prema redoslijedu, poštujući pravila koja koristi isti lanac. Popis svojih pravila iptables možete pregledati pomoću naredbe kako je gore rečeno:

sudo iptables -L -v

Na primjer, da bismo umetnuli pravilo koje dopušta dolazne veze na port 9001 preko TCP-a, moramo odrediti broj pravila lancu INPUT koji se pridržava pravila prometa na webu.

sudo iptables -I INPUT 1 -p TCP --dport 9001 -m state --state NEW -j ACCEPT

Nakon što pogledate trenutne iptable, trebali biste vidjeti novo pravilo u skupu.

sudo iptables -L -v

Zamjena pravila

Funkcija zamjene radi slično kao i umetanje, ali koristi naredbu iptables -R. Na primjer, da bismo izmijenili gornje pravilo i postavili portiranje 9001 na uskraćivanje, mi:

sudo iptables -R ULAZ 1 -p TCP --dport 9001 -m stanje - stanje NOVO -j ODBIJANJE

Brisanje pravila

Da bismo izbrisali pravilo, prosljeđujemo broj pravila. Na primjer, da bismo izbrisali gornje pravilo, možemo odrediti kao:

sudo iptables -D ULAZ 1

U većini Linux distribucija iptables su prazni za IPv4 i IPv6. Stoga, ako niste dodali nijedno novo pravilo, dobit ćete izlaz sličan onome prikazanom u nastavku. To je rizično jer znači da sustav dopušta sav dolazni, odlazni i usmjereni promet.

Pristupimo načinu konfiguriranja iptables:

Kako konfigurirati iptables?

Postoje brojni načini za konfiguriranje pravila iptables. Ovaj odjeljak koristi primjere kako bi vam pokazao kako postaviti pravila pomoću IP adresa i priključaka.

Blokiranje i omogućavanje prometa po lukama

Možete koristiti određeni priključak da biste blokirali ili dopustili sav promet na mrežnom sučelju. Razmotrite sljedeće primjere:

sudo iptables -A INPUT -j ACCEPT -p TCP --destination-port 1001 -i wlan0

Gornje naredbe omogućuju promet na priključku 1001 TCP na sučelju wlan0.

sudo iptables -A INPUT -j DROP -p TCP --destination-port 1001 -i wlan0

Ova naredba radi suprotno od gornje naredbe jer blokira sav promet na portu 1001 na wlan0.

Evo pomnog pregleda naredbe:

BILJEŠKA: Iptables ne razumiju pseudonime mrežnog sučelja. Stoga ćete u sustavu s više virtualnih sučelja odredišnu adresu morati definirati ručno i eksplicitno.

Na primjer:

sudo iptables -A INPUT -j DROP -p TCP --destination-port 1001 -i wlan0 -d 192.168.0.24

IP adrese s bijele liste i s crne liste

Pravila vatrozida možete stvoriti pomoću iptables. Primjer je zaustavljanje cjelokupnog prometa i dopuštanje mrežnog prometa samo s eksplicitnih IP adresa.

Primjer:

iptables -A INPUT -m state --state USTANOVLJENO, POVEZANO -j PRIHVATLJIVO
iptables -A ULAZ -i lo -m komentar --komentar "Dopusti povratne veze" -j PRIHVATI
iptables -A ULAZ -p icmp -m komentar - komentar “Dopusti Pingu da radi prema očekivanjima” -j

PRIHVATITI

iptables -A ULAZI -s 192.168.0.1/24 -j PRIHVATI
iptables -A ULAZI -s 192.168.0.0 -j PRIHVATI
iptables -P INPUT DROP
iptables -P NAPRIJED DROP

Prvi redak postavlja pravilo koje omogućuje svim izvornim IP adresama u 192.168.0.1/24 podmreža. Također možete koristiti CIDR ili pojedinačne IP adrese. U sljedećoj naredbi postavili smo pravilo da dopušta sav promet povezan s postojećim vezama. U posljednjim naredbama postavili smo pravilo da ULAZI i NAPRIJED ispuštaju sve.

Korištenje iptables na IPv6

Naredba Iptables radi samo na IPv4. Da biste koristili iptables na IPv6, morate upotrijebiti naredbu ip6tables. Ip6tables koristi sirove, filtrirane, sigurnosne i mangle tablice. Opća sintaksa za ip6tables slična je iptables, a također podržava podudaranje iptables opcija kao što su dodavanje, brisanje itd.

Razmislite o korištenju stranica priručnika ip6tables za više informacija.

Primjer iptables pravila pravila za mrežnu sigurnost

Stvaranje prikladnih pravila vatrozida uglavnom će ovisiti o usluzi koja se izvodi na sustavu i lukama u upotrebi. Međutim, evo nekoliko osnovnih pravila mrežne konfiguracije kojima možete zaštititi svoj sustav:

1: Dopustite promet sučelja Loopback i odbacite sve povratne veze koje dolaze s drugih sučelja

iptables -A ULAZ -i lo -j PRIHVATI (Također možete koristiti ip6tables)
iptables -A ULAZ ! -ja lo-s 127.0.0.0 -j ODBIJANJE (primjenjuju se ip6tables)

2: Odbiti sve zahtjeve za ping

iptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j REJECT

3: Omogući SSH veze

iptables -A ULAZ -p tcp --dport 22 -m stanje - stanje NOVO -j PRIHVATI

Ovo su primjeri naredbi pomoću kojih možete osigurati svoj sustav. Međutim, konfiguracija će uvelike ovisiti o tome što ili kome želite pristupiti raznim uslugama.

OPREZ: Ako više volite potpuno onemogućiti IPv6, poništite komentar jer će to usporiti postupak ažuriranja:

precedence :: ffff: 0: 0/96 100 pronađeno u / etc / gai.konf .

To je zato što APT upravitelj paketa rješava zrcalnu domenu u IPv6 zbog ažuriranja apt-get.

Kako rasporediti pravila iptables?

Da biste rasporedili svoje iptable na Ubuntu ili druge sustave zasnovane na Debianu, počnite stvaranjem dviju datoteka, ip4 i ip6, za njihove IP adrese.

U bilo koju datoteku dodajte pravila koja želite primijeniti u odgovarajućim datotekama - IPv4 pravila u ip4 datoteku i IPv6 pravila u ip6 datoteku.

Dalje, pravila moramo uvesti pomoću naredbe:

sudo iptables-restore < /tmp/ip4 (replace filename for IPv6)

Zatim možete provjeriti jesu li se pravila primijenila pomoću naredbe:

sudo iptables -L -v

Kratki vodič koji je uporan na iptables

Ubuntu i uobičajene distribucije zasnovane na Debianu dolaze s paketom postojanim na iptables koji vam omogućuje jednostavnu primjenu pravila vatrozida nakon ponovnog pokretanja. Paket sadrži datoteke koje možete koristiti za postavljanje pravila za IPv4 ili IPv6 i mogu se automatski primijeniti prilikom pokretanja.

Također možete koristiti pravila vatrozida koristeći UFW ili GUFW. Razmotrite sljedeći vodič da biste naučili kako koristiti UFW.

Kako instalirati iptables-persistent?

Obavezno instalirajte iptables-persistent na vašem sustavu. Upotrijebite dpkg da biste provjerili imate li instaliran paket.

Ako nije, upotrijebite sljedeću naredbu:

sudo apt-get install iptables-persistent

Dvaput ćete dobiti upit za spremanje trenutnih pravila IPv4 i IPv6. Kliknite Da za spremanje oba pravila.

Kliknite na da za spremanje IPv6.

Nakon završetka instalacije provjerite imate li poddirektorij iptables, kao što je prikazano na donjoj slici.

Sada možete koristiti pravila.v4 i pravila.v6 za dodavanje pravila iptables, a automatski će ih primijeniti iptables-persistent. Datoteke su jednostavne tekstualne datoteke koje možete lako urediti pomoću bilo kojeg uređivača teksta po vašem izboru.

Zaključak

U ovom smo tutorijalu pokrili osnove iptables. Počevši od rada s iptables, osnovnim naredbama, zadanim iptables tablicama i parametrima.

Iz onoga što ste naučili, trebali biste biti u mogućnosti koristiti iptables za stvaranje pravila vatrozida koja pomažu u zaštiti vašeg sustava.

Kako instalirati League Of Legends na Ubuntu 14.04
Ako ste ljubitelj League of Legends, ovo je prilika za vas da testirate League of Legends. Imajte na umu da je LOL podržan na PlayOnLinux ako ste kori...
Instalirajte najnoviju strategiju igre OpenRA na Ubuntu Linux
OpenRA je Libre / Free Real Time strateški pokretač igre koji stvara rane Westwoodove igre poput klasične Command & Conquer: Red Alert. Distribuirani ...
Instalirajte najnoviji Dolphin Emulator za Gamecube i Wii na Linux
Dolphin Emulator omogućuje vam igranje odabranih Gamecube i Wii igara na Linux osobnim računalima (PC). Dolphin Emulator je slobodno dostupan i emula...