Ethernet lokalna mreža - zemris.fer.hr. Mehanizmi... · Mreže računala Sadržaj •Sigurnosne...

33
1 Mreže računala Mehanizmi ostvarivanja sigurnosti Stjepan Groš

Transcript of Ethernet lokalna mreža - zemris.fer.hr. Mehanizmi... · Mreže računala Sadržaj •Sigurnosne...

1

Mreže računala

Mehanizmi ostvarivanja sigurnosti

Stjepan Groš

222Mreže računala

Sadržaj

• Sigurnosne stijene (Firewall)

• Implementacija sigurnosne stijene u Linux OS-u

• Tuneliranje

• Virtualne privatne mreže

333Mreže računala

Sigurnosne stijene (1)

• Stavljaju se na granicu privatne i javne mreže• Štite privatnu mrežu od vanjskih prijetnji

• Unutarnje prijetnje se ne rješavaju!

• Također služe za nadzor izlaznog prometa• iz privatne u javnu mrežu

• Kontroliraju promet na mrežnom sloju• Uređaji mrežnog sloja

444Mreže računala

Sigurnosne stijene (2)

• Tipovi sigurnosnih zaštitnih stijena• Bez stanja (Stateless)

• Nikakvo stanje se ne čuva niti mijenja bez obzira što prošlo kroz sigurnosnu stijenu

• Sa stanjem (Statefull)

• Danas dominantni, ili isključivo korišteni

• Prolazak paketa kroz sigurnosnu stijenu može stvariti stanje koje će utjecati na neki drugi paket

• Ne mogu raditi samo na temelju informacije iz 3. i nižih slojeva!

555Mreže računala

Sigurnosne stijene (3)

• Sigurnosne stijene na tržištu imaju daleko više funkcionalnosti

• Koriste informacije iz prijenosnog sloja

• Sadrže podršku za NAT

• Aplikacijski posrednici

• Svi moderni operacijski sustavi imaju ugrađenu određenu funkcionalnost sigurnosne stijene

• Linux, FreeBSD, OpenBSD, Windows, ...

• Bitniji proizvođači i proizvodi• CheckPoint FW-1, Cisco PIX

666Mreže računala

Arhitektura korištenja (1)

• Zaštita interne mreže• Moguć izlazak klijenata unutar Intraneta na Internet

• S Interneta nije moguć pristup računalima unutar Intraneta

777Mreže računala

Arhitektura korištenja (2)

• U određenim situacijama imamo poslužitelje• Njima mora biti moguće pristupiti s Interneta

• Kako ne bi dozvolili pristup Intranetu uvodimo posebnu zonu – Demilitarizirana Zona (DMZ)

888Mreže računala

Arhitektura korištenja (3)

• Za dodatnu sigurnost možemo koristiti dva Firewall-a

• Korištenje proizvoda različitih proizvođača

• Izloženiji Internetu bez stanja radi otpornosti na DoS napade

999Mreže računala

Sigurnosna stijena u Linux OS-u (1)

• Linux sigurnosna stijena temelji se na sustavu NETFILTER

• Točke u jezgri operacijskog sustava gdje se donosi odluka o paketima

• IPtables je sustav koji implementira sigurnosnu stijenu

• Temeljna komponenta je program iptables

101010Mreže računala

Sigurnosna stijena u Linux OS-u (2)

• Prikaz putovanja paketa kroz Linux jezgru• Slika prikazuje tri lanca: INPUT, FORWARD i OUTPUT

• Podrazumijevaju se filter tablice (fitrirajuće tablice)

FORWARDDOLAZNIPAKETI SMREŽE

PREGLEDAVANJETABLICE

PROSLIJEĐIVANJA

ODLAZAKPAKETA NAMREŽU

INPUT

APLIKACIJE

OUTPUT

APLIKACIJE

111111Mreže računala

Sigurnosna stijena u Linux OS-u (3)

• Kada paket stigne• Dobija oznaku na koje sučelje je stigao

• Prolazi odluku usmjeravanja• Ako je za lokalno računalo provjeravaju se pravila u lancu

INPUT

• Ako je za neko drugo računalo i šalje se na mrežu prolazi kroz lanac FORWARD

• Ako lokalne aplikacije generiraju promet• Paketi prolaze kroz OUTPUT lanac

121212Mreže računala

Sigurnosna stijena u Linux OS-u (4)

• U svakom lancu nalazi se niz pravila• Pravilo se sastoji od selektora i akcije

• Selektor svakog pravila se uspoređuje s paketom• Akcija prvog pravila čiji selektor odgovara paketu se izvršava

• Ako niti jedno pravilo ne odgovara primjenjuje se podrazumijevana akcija (POLICY)

• Dobra sigurnost podrazumijeva da se sve zabrani (podrazumjevana akcija sve brani)

• Potom se selektivno propušta željeni promet

131313Mreže računala

Upravljanje lancima

• Za upravljanje se koristi naredba iptablesiptables -P <lanac> <politika>

Promjena politike lanca (podrazumijevana akcija)

iptables -A <lanac> <pravilo>

Dodavanje pravila u lanac na kraj

iptables -I <lanac> <pravilo>

Dodavanje pravila u lanac na početak

iptables -D <lanac> <pravilo>

Brisanje pravila iz lanca

iptables -F <lanac>

Uklanjanje svih pravila iz lanca

141414Mreže računala

Pravila

• Svako pravilo se sastoji od• selektora

• Određuje što se u paketu uspoređuje i s čim

• Primjer selektora: odredišna adresa je 192.168.0.1

• Selektor se može sadržavati više parametara

• Primjer: odredište 192.168.0.1, izvorište 192.168.0.2

• Svi navedeni parametri moraju odgovarati!

• akcije• Određuje što će biti s paketom ako selektor odgovara

• Primjer akcije: odbaci paket

• Neke akcije imaju dodatne parametre

151515Mreže računala

Akcije

• Akcije određuju što se dešava s paketom• DROP

• Paket se odbacuje bez ikakve daljnje akcije

• ACCEPT

• Paket se prihvaća

• REJECT (rijetko se koristi)• Paket se odbacuje s ICMP porukom o grešci

• Kod dodavanja pravila akcije su argument opciji -j; Kod politike lanca navode se samostalno-j ACCEPT; -P ACCEPT

161616Mreže računala

Selektori (1)

• Prema ulaznom i/ili izlaznom sučelju• Primjerice, ako paket dolazi iz interne mreže i odlazi na

Internet

• Definira se opcijama -i (za ulazno sučelje) i/ili -o (za izlazno sučelje)-i eth0

• Informacije o ulaznom i izlaznom sučelju nisu uvijek dostupne!

171717Mreže računala

Selektori (2)

• Po podacima iz IP zaglavlja• Izvorišne i/ili odredišne IP adrese i mreže

• Paketi s odredištem 192.168.0.1: -d 192.168.0.1

• Paketi s izvorištem iz mreže 10.0.0.0/24: -s 10.0.0.0/24

• Po podacima iz zaglavlja prijenosnog sloja• Moramo odabrati protokol višeg sloja

-p tcp|udp|icmp

• Korištenje portova, izvorišnog (--sport) i odredišnog (--dport)

181818Mreže računala

Selektori (3)

• Selektore je moguće kombinirati• Jednostavno navođenje pojedinih selektora

• Svi su povezani s logičkom operacijom I

• Moguće je negirati vrijednost pojedinog selektora

-i \! eth0

Ulazno sučelje nije eth0

Znak \ zbog ljuske, jer uskličnik inače ima posebno značenje

• Ako nam treba ILI tada moramo pisati selektore u odvojenim pravilima!

191919Mreže računala

Propuštanje odgovora (1)

• Problem• Dodajemo pravilo koje pušta paket van

• Međutim, treba onda propustiti i odgovor

• Ako propuštamo odgovore može se pojaviti i propustiti paket koji nije odgovor niti na jedan zahtjev!

• Automatsko vođenje evidencije o očekivanim odgovorima

• Dodajemo pravilo koje propušta kroz OUTPUT lanac

• Dodajemo posebno pravilo u INPUT (ili FORWARD) lanac koje će puštati odgovore!

202020Mreže računala

Propuštanje odgovora (2)

• Pravilo se dodaje na sljedeći način

iptables -A INPUT \-m state \–-state RELATED,ESTABLISHED \-j ACCEPT

• To pravilo se može dodati u bilo koji lanac• Ovisno što nam treba!

• Stanje ESTABLISHED odnosi se na spojnu komunikaciju (TCP)

• Stanje RELATED odnosi se na bespojnu komunikaciju (UDP, ICMP)

212121Mreže računala

Problem javnih i privatnih adresa

• Problem izlaska privatnih adresa na Internet• Nisu rutabilne i neće stići do odredišta!

222222Mreže računala

Detaljan prikaz lanaca i tablica u Linuxu (1)

MANGLE

DOLAZNIPAKETI SMREŽE

FORWARDING

ODLAZAKPAKETA NAMREŽU

NAT MANGLE FILTER

MANGLE

FILTER

MANGLE NAT

NAT

FILTER

MANGLE

PREROUTING FILTER POSTROUTING

INPUT

OUTPUT

232323Mreže računala

Detaljan prikaz lanaca i tablica u Linuxu (2)

• Dodavanje pravila

• S opcijama -A, -D, -I biramo lanac

• S opcijom -t biramo tablicu

242424Mreže računala

SNAT

• Promjena izvorišne adrese• Source NAT

• Promjena adresa u IP paketima obavlja se neposredno prije izlaska paketa iz računala

• Cilj (target) SNAT

• Primjer

iptables -A POSTROUTING -t nat \-s 192.168.0.2 -o eth1 \-j SNAT –-to-source 10.0.0.1

252525Mreže računala

DNAT

• Promjena odredišne adrese• Source NAT

• Promjena adresa u IP paketima obavlja se neposredno nakon dolaska paketa u računala

• Cilj (target) DNAT

• Primjer

iptables -A PREROUTING -t nat \-s 192.168.0.2 -o eth1 \-j SNAT –-to-destination 10.0.0.1

262626Mreže računala

Tuneliranje

• Nije nužno mehanizam ostvarivanja sigurnosti

• Različite implementacije• IP u IP, GRE, L2TP

• Svi imaju problema s MTU-om

• Na labosima radimo isključivo IP u IP• Vrlo jednostavan protokol

• Na istom principu rade i svi ostale metode

• Notacija za zapisivanjeIP(DST1, SRC1, IP(DST2, SRC2))

• DST1, SRC1 vanjske adrese; DST2, SRC2 unutarnje adrese

272727Mreže računala

Virtualne privatne mreže (1)

• Ostvariti privatnu mrežu nad nekom postojećom mrežom.

• Virtualna budući da ne postoji kao zasebna mreža

• Privatna jer se isključivo koristi za vlastite potrebe

• Mnoštvo mogućih rješenja• Velika većina uključuje kriptiranje, ali ne sva

• Moguće ih je ostvariti na različitim slojevima, primjerice

• Aplikacijski sloj (SSL, SSH)

• Mrežni sloj (MPLS, IPsec)

282828Mreže računala

Virtualne privatne mreže (2)

• MPLS virtualne privatne mreže• Nema kriptiranja

• Upotrebljavaju stog labela

• IPsec virtualne privatne mreže• Arhitektura za ostvarivanje sigurnosti na Internetu

• Definira ponašanje čvorova i protokole koje čvorovi koriste

• Opcionalni protokoli u IPv4, obavezni u IPv6

• Trenutno aktualna druga verzija

• 12. mjesec 2005.

292929Mreže računala

IPsec arhitektura (1)

• Definira ponašanje čvorova i način na koji obrađuju IP pakete [RFC4301]

• Ponašanje definirano preko sljedećih baza

• SPD (Security Policy Database)• Definira što se štiti

• Sastoji se od zapisa

• (traffic selector, akcija)

• Selektori prometa biraju pakete na osnovu IP adresa, protokola prijenosnog sloja, pristupa, ...

• Akcija je BYPASS, DISCARD, PROTECT

303030Mreže računala

IPsec arhitektura (2)

• SAD (Security Association Database)• Definira kako se štiti

• Kripto algoritmi i ključevi

• PAD (Peer Authorization Database)• Definira tko smije čemu pristupati

313131Mreže računala

IPsec protokoli (1)

• Dva protokola mrežnog sloja• ESP (Encaspulated Security Policy)

• Obavezan protokol, služi za enkripciju

• AH (Authenticated Header)

• Neobavezan protokol, pruža dokaz autentičnosti

• Dva načina rada• Prijenosni način rada: Ne mjenjaju se IP adrese iz zaglavlja

• Tunel način rada: Vrši se pakiranje jednog IP paketa u drugi

• IKEv2 (Internet Key Exchange v2)• Protokol za razmjenu ključeva

323232Mreže računala

Primjer upotrebe IPsec-a

• Komunikacija klijenta i poslužitelja

• Baza SAD prazna, SPD zahtijeva zaštićenu komunikaciju

IKEv2

Linux Kernel Linux Kernel

Client IKEv2 Server

1 2

3

4 4

5

6

Initiator Responder

333333Mreže računala

Scenariji upotrebe IPsec-a

• Između dva računala

• Između dvije mreže

• Između računala i mreže