- 1. Filtriranje paketa na Linuxu
- 2. Prikaz statusa vatrozida
- 3. Zaustavite, ponovno pokrenite ili pokrenite iptables na Linuxu
- 4. Dodajte nova pravila vatrozida u Linuxu
- 5. Izbrišite pravilo vatrozida na Linuxu
- 6. Pohranite i vratite pravila iptables na Linuxu
- 7. Postavite zadana pravila u Linuxu
- 8. Blokirajte IP adresu u Linuxu
- 9. Blokirajte dolazne zahtjeve za priključke na Linuxu
- 10. Dopustiti ili ne dopustiti mrežni promet pomoću MAC adrese u Linuxu
- 11. Blokirajte ili dopustite zahtjeve ICMP -a na Linuxu
- 12. Otvorite niz portova i IP adresa u Linuxu
- 13. Ograničite broj paralelnih veza s poslužiteljem prema IP -u klijenta na Linuxu
- 14. Ograničite broj paralelnih veza s poslužiteljem prema IP -u klijenta na Linuxu
- 15. Jasna NAT pravila za Linux
- 16. Poništite brojače paketa u Linuxu
- 17. Provjerite vatrozid na Linuxu
- 18. Dopustite pristup petlji s iptables na Linuxu
- 19. Definirajte nove iptables nizove na Linuxu
- 20. Očistite iptables lance vatrozida ili pravila na Linuxu
Zaštita uvijek mora biti jedna od prostorija u kojoj administratori, rukovodstvo i osoblje za podršku te općenito svi korisnici bilo kojeg trenutnog operacijskog sustava moraju raditi zbog više prijetnji prisutnih na mreži.
U slučaju distribucija Linuxa, većina njih ima napredne alate za primjenu filtera na mrežne pakete i na razini obrade kontrole mrežnih paketa pri unosu, kretanju, kontroli i izlazu iz stoga. Mreže unutar jezgre korištenog sustava , stoga su, počevši od jezgre 2.4, uvedeni iptables, koji se također nazivaju netfilter i koji imaju višu razinu sigurnosti i praktične funkcionalnosti za zaštitu sustava.
iptables upravlja IPv4 filtriranjem, dok ip6tables upravlja IPv6 filtriranjem na današnjim mrežama.
Solvetic će napraviti analizu kako iptables radi i neke od praktičnijih naredbi koje možemo iz njega preuzeti.
1. Filtriranje paketa na Linuxu
Jezgra distribucija Linuxa koristi alat Netfilter za provedbu procesa filtriranja paketa i na taj način obavlja zadatke njihova primanja ili zaustavljanja.
Pravila ugrađena u NetfilterNetfilter je prema zadanim postavkama ugrađen u jezgru Linuxa i ima tri tablice ili popis pravila integriranih na ovaj način:
- filter: Odnosi se na zadanu tablicu dizajniranu za upravljanje paketima.
- nat: Njegova je funkcija mijenjati pakete stvorene u novoj vezi koje prvenstveno koristi NAT.
- mangle: Njegova se upotreba primjenjuje kada se moraju promijeniti određeni mrežni paketi.
Sada svaka tablica ima grupu ugrađenih lanaca koji su povezani s radnjama koje može izvesti netfilter, a to su:
Pravila za filtriranje tablicaUgrađeni nizovi za tablicu filtera su:
- ULAZ: Povezano je s paketima koji su namijenjeni hostu.
- IZLAZ: Ovo radi na mrežnim paketima koji su generirani lokalno.
- NAPRED: Povezuje pakete koji su usmjereni kroz glavni host.
Pravila za nat tabliceUgrađeni nizovi za nat tablicu su:
- ISTRAŽIVANJE: Njegova je funkcija mijenjati mrežne pakete čim stignu.
- IZLAZAK: Dizajnirano je za izmjenu mrežnih paketa koji su stvoreni lokalno i aktivira se prije slanja.
- POSTROUTING: Stvoreno za promjenu paketa prije slanja globalno.
Pravila za ploče od mangrovaUgrađeni lanci za stol od mangrova su:
- ULAZ: Dizajnirano za izmjenu mrežnih paketa namijenjenih glavnom hostu.
- IZLAZAK: Stvoreno za promjenu lokalno stvorenih mrežnih paketa i radi prije nego što se pošalju.
- NAPRIJED: Mijenja pakete koji su usmjereni kroz glavni host.
- PREROUTING: Vaš je zadatak izmijeniti dolazne pakete prije nego što se preusmjere.
- POSTROUTING: Mijenja mrežne pakete prije procesa slanja.
Svaki mrežni paket primljen ili poslan iz operacijskog sustava Linux uvijek je vezan za barem jednu tablicu. Sada, shvatimo neke od korisnijih naredbi koje možemo koristiti s iptables.
2. Prikaz statusa vatrozida
Korak 1
Da bismo znali trenutno stanje vatrozida, izvršavamo sljedeći redak:
sudo iptables -L -n -v
POVEĆAJTE
Korak 2
Tamo možemo potvrditi svaki lanac s odgovarajućim razinama upravljanih paketa, parametri koji se koriste u ovoj naredbi su:
-LPrikažite pravila popisa.
-vGenerira detaljne informacije kao što su naziv sučelja, plus pravila, plus paketi i brojači bajtova također su navedeni, sa sufiksom 'K', 'M' ili 'G' za opcije od 1000, 1.000.000 i 1.000.000.000, respektivno.
-nPrikazuje IP adresu i port u numeričkom formatu.
Korak 3
Ako želite, pogledajte ovaj rezultat s brojem redaka, možemo izvršiti sljedeće:
iptables -n -L -v --line -brojevi
POVEĆAJTE
3. Zaustavite, ponovno pokrenite ili pokrenite iptables na Linuxu
Korak 1
Glavne naredbe za upravljanje zadacima iptables na početnoj ili zaustavnoj razini su:
service iptables stop service iptables start service iptables restartKorak 2
Također će biti moguće koristiti naredbu iptables za zaustavljanje vatrozida i uklanjanje svih pravila poput ovog:
iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P ULAZ PRIHVATI iptables -P IZLAZ PRIHVATI iptables -P NAPRIJED PRIHVATIKorak 3
Definirani parametri su:
-FUklonite sva pravila.
-XIzbrišite niz.
-ttable_name: Odaberite tablicu (nazvanu nat ili mangle) i izbrišite ili odbacite pravila.
-PPostavite zadana pravila kao što su DROP, REJECT ili ACCEPT.
4. Dodajte nova pravila vatrozida u Linuxu
Korak 1
Jedan od najpraktičnijih zadataka iptablesa je stvaranje određenih pravila za ispravno upravljanje paketima, za umetanje jednog ili više pravila u odabrani lanac koristit ćemo sljedeću sintaksu gdje se brojevi redaka moraju prvo otkriti:
iptables -L INPUT -n --line -brojeviKorak 2
na primjer, dodajmo sljedeće pravilo:
iptables -I ULAZ 2 -s 192.168.0.50 -j DROPKorak 3
Kasnije ćemo vidjeti pravila pomoću gornje naredbe. Tamo vidimo da je stvoreno pravilo dodano u redak 3 kako je naznačeno.
POVEĆAJTE
5. Izbrišite pravilo vatrozida na Linuxu
Korak 1
Prije svega, moramo prikazati pravila koja su stvorena kako bismo točno odredili koje treba eliminirati. Za dobivanje ovih informacija imamo sljedeće mogućnosti:
iptables -L INPUT -n --line -numbers iptables -L OUTPUT -n --line -numbers iptables -L OUTPUT -n --line -numbers | manjeKorak 2
Sada, da bismo izbrisali prethodno stvoreno pravilo 3, izvršit ćemo sljedeće:
iptables -D ULAZ 3
POVEĆAJTE
6. Pohranite i vratite pravila iptables na Linuxu
Korak 1
Svaki put kad napravimo promjenu pravila iptables moramo nastaviti spremati te promjene, za to je dovoljno izvršiti sljedeći redak:
servis iptables znaKorak 2
Jednostavno možemo vratiti ona pravila koja smo pohranili izvršavanjem sljedećeg:
ponovno pokretanje servisnih iptablesa
7. Postavite zadana pravila u Linuxu
Pomoću iptablesa bit će moguće dopustiti ili odbiti zadana pravila koja se moraju primijeniti na cijeli sustav na sljedeći način.
Korak 1
Da bismo uklonili sav promet, izvršavamo:
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P NAPRIJED DROPKorak 2
Da biste uklonili sav dolazni promet:
iptables -P INPUT DROP iptables -P NAPRIJED DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m stanje -NOVO, USTANOVLJENO -j ACCEPT
POVEĆAJTE
8. Blokirajte IP adresu u Linuxu
Pomoću iptablesa bit će moguće blokirati određenu IP adresu kako bi se spriječilo njeno pristupanje mrežnom paketu sustavu. Za ovaj zadatak imamo sljedeće mogućnosti:
iptables -A INPUT -s 192.168.0.14 -j DROP (Specifični IP) iptables -A INPUT -s 192.168.0.0/24 -j DROP (raspon adresa)
9. Blokirajte dolazne zahtjeve za priključke na Linuxu
Korak 1
Drugi tipičan sigurnosni zadatak je ograničiti pristup paketima kroz određeni port, a s iptablesima imamo sljedeće mogućnosti:
Blokirajte sve radnjeBlokirajte sve radnje za određeni port izvršavanjem:
iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Blokirajte portBlokirajte port za određenu IP adresu:
iptables -A INPUT -p tcp -s 192.168.0.14 --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp -s 192.168.0.1/24 --dport 80 -j DROP
Blokirajte odlaznu IP adresu
Moguće je blokirati odlazni promet na određeni host ili domenu, na primjer Solvetic.com, za to izvršavamo sljedeće:
host -t to solutiontic.com
POVEĆAJTE
Korak 2
Sada s ovom IP adresom nastavljamo blokirati:
iptables -A IZLAZ -d 178.33.118.246 -j DROPKorak 3
Također će biti moguće blokirati cijelu domenu na ovaj način:
iptables -A IZLAZ -p tcp -d www.solvetic.com -j IZPUSTI
10. Dopustiti ili ne dopustiti mrežni promet pomoću MAC adrese u Linuxu
Druga mogućnost korištenja je ograničiti ili dopustiti upotrebu paketa na temelju MAC adrese odabranog uređaja. Za to ćemo koristiti jednu od sljedećih opcija:
iptables -A INPUT -m mac --mac -source 00: 2F: EF: 85: 04: 09 -j DROP (Zabraniti promet s odabrane MAC adrese) iptables -A INPUT -p tcp --destination -port 22 -m mac --mac -source 00: 2F: EF: 85: 04: 09 -j ACCEPT (Podržava pakete s adrese naznačene samo portom 22)
11. Blokirajte ili dopustite zahtjeve ICMP -a na Linuxu
ICMP protokol (Internet Control Message Protocol) je protokol razvijen za upravljanje informacijama vezanim uz greške na računalima lokalne mreže, tako da se pomoću ovog protokola mogu upućivati udaljeni zahtjevi za provjeru dostupnosti tima, a to u smislu sigurnosti može biti osjetljivo .
Korak 1
Možemo pokrenuti sljedeće retke kako bismo izbjegli zahtjeve ICMP -a na Linuxu:
iptables -A INPUT -p icmp --icmp -type echo -request -j DROP iptables -A INPUT -i eth1 -p icmp --icmp -type echo -request -j DROPKorak 2
Ping odgovori također mogu biti ograničeni na određene mreže ili hostove poput ovoga:
iptables -A INPUT -s 192.168.0.1/24 -p icmp --icmp -type echo -request -j ACCEPTKorak 3
Moći ćemo prihvatiti samo ograničenu vrstu ICMP zahtjeva poput ovog:
iptables -A INPUT -p icmp --icmp -type echo -response -j ACCEPT iptables -A INPUT -p icmp --icmp -type destination -unreachable -j ACCEPT iptables -A INPUT -p icmp --icmp -type time- premašio -j PRIHVATI
12. Otvorite niz portova i IP adresa u Linuxu
Korak 1
To je korisno ako moramo omogućiti definirani raspon portova za izvršavanje administrativnih radnji ili izvršenja programa:
iptables -A INPUT -m stanje -stanje NOVO -m tcp -p tcp --dport 9000: 9020 -j PRIHVATITako smo otvorili raspon portova od 9000 do 9020 za TCP veze.
Korak 2
Druga je mogućnost omogućiti niz IP adresa postavljanjem određenog porta poput ovog. Tamo smo ovlastili ovaj raspon za korištenje priključka 80.
iptables -A INPUT -p tcp --destination -port 80 -m iprange --src -range 192.168.0.70-192.168.0.80 -j PRIHVATI
13. Ograničite broj paralelnih veza s poslužiteljem prema IP -u klijenta na Linuxu
Korak 1
Možemo koristiti connlimit modul za definiranje ovih ograničenja, na primjer, za dopuštanje 5 ssh veza po klijentu, unosimo sljedeće:
iptables -A ULAZ -p tcp --syn --dport 22 -m connlimit --connlimit -iznad 5 -j ODBIJI
POVEĆAJTE
Korak 2
Da biste ograničili HTTP pristup na 10:
iptables -p tcp --syn --dport 80 -m connlimit --connlimit -iznad 10 --connlimit -mask 24 -j DROPKorak 3
Naveli smo sljedeće:
- --connlimit-above 5: Podudara se ako je broj postojećih veza veći od 5.
- --connlimit-mask 24: Ovo su hostovi grupa koji koriste duljinu prefiksa. Za IPv4 to mora biti broj između (uključujući) 0 i 32.
14. Ograničite broj paralelnih veza s poslužiteljem prema IP -u klijenta na Linuxu
Korak 1
NAT (Network Address Translation) je sustav za prevođenje mrežnih adresa i na taj način olakšava navigaciju. Da bismo ih naveli, izvršit ćemo sljedeće:
iptables -t nat -L -n -v
POVEĆAJTE
Korak 2
Moći ćete vidjeti ovaj rezultat s odgovarajućim redovima ovako:
iptables -t nat -v -L -n --line -broj
15. Jasna NAT pravila za Linux
Korak 1
Ako želimo izbrisati uspostavljena NAT pravila, izvršit ćemo sljedeće:
iptables -t nat -v -L -n --line -number iptables -t nat -v -L PREROUTING -n -iptables -line -broj -t nat -v -L POSTROUTING -n --line -numberKorak 2
Za brisanje svih pravila "PREROUTING" izvršavamo sljedeću sintaksu:
iptables -t nat -D PREROUTING {Pravilo broj}Korak 3
Za brisanje svih pravila "POSTROUTING" koje izvršavamo:
iptables -t nat -D POSTROUTING {pravilo broj}
16. Poništite brojače paketa u Linuxu
Prvo moramo izvršiti naredbu "iptables -L -n -v", koju smo vidjeli ranije, kako bismo naveli brojače.
Korak 1
Da biste izbrisali ove brojače, pokrenite sljedeće:
iptables -ZKorak 2
Za poništavanje brojača samo za pristup izvršavamo:
iptables -Z ULAZ
17. Provjerite vatrozid na Linuxu
Korak 1
Prije svega, moramo provjeriti jesu li portovi otvoreni ili ne sljedećom naredbom:
netstat -tulpn
POVEĆAJTE
Korak 2
Da bismo potvrdili određeni port, izvršavamo:
netstat -tulpn | grep: 80
POVEĆAJTE
Korak 3
U slučaju da port nije otvoren izvršavamo:
usluga httpd startKorak 4
Zatim moramo biti sigurni da iptables ima pristup putem tog porta:
iptables -L ULAZ -v -n | grep 80
18. Dopustite pristup petlji s iptables na Linuxu
Loopback pristup čiji je pristup s IP 127.0.0.1 važan je i uvijek ga treba ostaviti aktivnim za zadatke administracije i upravljanja mrežom. Da biste ga omogućili u iptables, samo izvedite sljedeće.
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
19. Definirajte nove iptables nizove na Linuxu
Korak 1
S iptablesima imamo mogućnost definiranja vlastitog lanca i u njega pohraniti prilagođena pravila. Za definiranje lanca izvršavamo sljedeće:
iptables -N "Naziv niza"Korak 2
Zatim pokrećemo "iptables -L" za popis nizova iptables:
POVEĆAJTE
Korak 3
U rezultatu ćemo vidjeti naš stvoreni lanac:
POVEĆAJTE
20. Očistite iptables lance vatrozida ili pravila na Linuxu
Da bismo izvršili ovo brisanje, moramo izvršiti sljedeće:
iptables -FKao što vidimo, iptables je sveobuhvatno rješenje za centralno upravljanje različitim sigurnosnim aspektima u distribucijama Linuxa kako bi se postigla poboljšanja u svemu što se tiče privatnosti.