Sigurnosna stijena Matija Zeman 0036400711 2006
Sadržaj 1. 2. 3. 4. 5.
Uvod Osnovne funkcije, vrste i izvedbe Arhitekture i prometna pravila Ostvarenje sigurnosne stijene Praktični dio – IPsec roadwarrior konfiguracija
1. Uvod
Što je sigurnosna stijena? Sigurnosna stijena (engl. Firewall) je sklopovlje ili programski paket koji u mrežnom okruženju vrši kontrolu prometa između različitih mrežnih segmenata (dijelova mreže koji su fizički odvojeni ili pak logički odvojeni npr. usmjeriteljem) Zašto ju koristiti? Djeluje kao točka razgraničenja na ulazu u mrežni segment. Vrši L2,L3,L4,L7 kontrolu i analizu prometa u/iz segmenta, te druge zahvate nad prometom
2. Osnovne funkcije
Očuvanje IP adrese i prosljeđivanje paketa Diferencijacija mreže Zaštita od DoS napada, skeniranja i prisluškivanja Filtriranje IP adresa i vrata Filtriranje sadržaja Redirekcija paketa Pojačana enkripcija i autentifikacija Zapisivanje Virusna provjera
2. Vrste sigurnosne stijene
Bridge filtriranje – filtriranje na razini adresa lokalne mreže (L2) Packet filter – filtriranje prema adresi i vratima, te protokolu koji se koristi (L3) Stateful Packet Inspection – napredniji oblik koji prati tijek veze (L4) Aplikacijski posrednik – posrednik (računalo) preko kojeg se vrši komunikacija (L7)
2. Izvedbe
Sklopovlje – npr. Cisco PIX Programska podrška – npr.:
Check Point FW-1 McAfee Personal Firewall Norton Internet Security Sygate Personal Firewall Zone Labs ZoneAlarm Kerio Personal Firewall Tiny Firewall PC-cillin Internet Security
3. Arhitektura i prometna pravila Četiri osnovne arhitekture: Računalo izvan zaštićenog područja Računalo unutar zaštićenog područja DMZ DMZ s dvije sigurnosne stijene
Što je DMZ? Demilitarizirana zona je međuzona kojoj se pruža razina povjerenja između razine vanjske i unutarnje mreže. DMZ je zaštićena od vanjske mreže jednako kao i unutarnja mreža, ali je dodatno filtriranjem odvojena od unutarnje mreže.
3. Računalo izvan zaštićenog područja
3. Računalo izvan zaštićenog područja
Crveno – zabranjen promet Zeleno – dozvoljen promet Plavo – filtrirani promet Nepovjerljivi domaćin (engl. Bastion host) – konstantno osiguravati sigurnost Sigurnosna stijena ulazni promet u zaštićenu mrežu se odbacuje ako nije iniciran iz same mreže
3. Računalo unutar zaštićenog područja
3. Računalo unutar zaštićenog područja
Filtriranje prometa prema zaštićenoj mreži Dozvoljavamo npr. HTTP(S) pristup do Web servera Ostali promet prema zaštićenoj mreži se odbacuje ukoliko nije iniciran iz same mreže
3. DMZ
3. DMZ
Ulazni promet prema Web poslužitelju (DMZ) je dozvoljen, ali filtriran Ulazni promet s vanjske u unutarnju mrežu je zabranjen Omogućena je dvosmjerna komunikacija DMZ-a i zaštićene mreže Problem ispadanja sigurnosne stijene iz funkcije – krnji DMZ
3. DMZ s dvije sigurnosne stijene
3. DMZ s dvije sigurnosne stijene
Potpuna DMZ arhitektura Promet prema DMZ-u dozvoljen/zabranjen od strane unutarnje/vanjske mreže ovisno o potrebama Promet izvana prema unutarnjoj mreži odbačen na vanjskoj sigurnosnoj stijeni Izlazni promet iz unutarnje mreže dozvoljen/zabranjen prema DMZ-u/vanjskoj mreži
4. Preporučene mjere zaštite
Zabraniti sav promet, te omogućiti samo nužne usluge Isključiti sve nepotrebne usluge i programsku podršku na sigurnosnoj stijeni Ograničiti broj aplikacija koje su pokrenute na sigurnosnoj stijeni da bi joj se omogućili resursi za obavljanje njegove osnovne funkcije. Uzeti u obzir pokretanje antivirusa, filtriranja sadržaja, usluge virtualnih privatnih mreža, DHCP i autentifikacijske programske podrške na drugim sustavima iza sigurnosne stijene Ako je moguće, pokretati sigurnosnu stijenu kao poseban korisnik umjesto administratorskog korisnika Redovito mijenjati lozinku administratora sigurnosne stijene. Lozinka mora biti minimalno 8 znakova duga, uz korištenje malih i velikih slova, brojeva i ostalih dozvoljenih znakova
4. Preporučene mjere zaštite
Ne oslanjati se samo na filtriranje paketa. Koristiti inteligentno filtriranje i aplikacijske posrednike Utvrditi filtriranje paketa bazirano na listi ranjivosti (The SANS Top 20 Internet Security Vulnerabilities [Literatura 14]) Napadač ne smije doći do fizičkog pristupa sigurnosnoj stijeni Puno puta, sigurnosna stijena radi manje (ili više) nego što bi trebala. Držati konfiguraciju sigurnosne stijene što jednostavnijom, te eliminirati nepotrebna i redundantna pravila da bi sigurnosna stijena bila konfigurirana prema specifičnim potrebama Osigurati da su sigurnosna pravila sigurnosne stijene odgovarajuća sigurnosnoj politici poduzeća Uzeti u obzir korištenje slijedećih sustava zaštite u kombinaciji s sigurnosnom stijenom: IDS, antivirusna programska podrška, programska podrška za filtriranje sadržaja i autentifikacijski sustavi
4. Preporučene mjere zaštite
Pokretati sigurnosnu stijenu na sigurnom i redovito održavanom računalu Koristiti sigurnosnu stijenu u kombinaciji s usmjeriteljem pri spajanju na Internet radi bolje zaštite od DoS napada i uspješnih penetracija Vršiti redovito osvježavanje i nadogradnju sustava, te testirati nove elemente u kontroliranim uvjetima Koristiti sigurnosnu stijenu unutar mreže za stvaranje segmenata s različitim dozvolama Omogućiti zapisivanje događaja i uzbune sigurnosne stijene Koristiti odijeljeni sustav za zapisivanje događaja da bi se napadaču otežala izmjena zapisa koje je stvorila sigurnosna stijena Redovito pregledavati zapise koje stvara sigurnosna stijena Detaljno pregledati zapise koji ne izgledaju ispravno
4. Preporučene mjere zaštite
Redovito pohranjivati zapise (npr. na CD-R medije) Dokumentirati sve izmjene na sigurnosnoj stijeni i razloge zbog kojih je došlo do tih izmjena Vršiti česte provjere ranjivosti. Novi sigurnosni propusti se pojavljuju svakodnevno. Vršiti provjere na svim sučeljima i u oba smjera Osigurati da korisnici koriste antivirusnu programsku podršku i osobnu sigurnosnu stijenu na svim udaljenim računalima Konstantno provjeravati sigurnosne objave proizvođača sigurnosne stijene Redovito pohranjivati konfiguracijske datoteke sigurnosne stijene Sigurnosnu stijenu je lako zaobići pri korištenju bežičnih mreža unutar privatne mreže. Osigurati korištenje antivirusne programske podrške i osobne sigurnosne stijene i na ovim računalima
4. Osobna sigurnosna stijena
Programska podrška na računalu koje se štiti Štiti samo jedno računalo Može kontrolirati komunikaciju postavljanjem upita korisniku, te prema odgovorima učiti pravila dozvole/zabrane prometa Sve češća upotreba u kombinaciji s centralnom sigurnosnom stijenom (enterprise)
4. Komercijalna ostvarenja
Cisco PIX
PIX = Private Internet Exchange Stateful filtriranje Sklopovski – Intel sklopovlje, poseban OS
Check Point FW-1
Stateful filtriranje Programska podrška – na najnižem sloju OS-a GUI sučelje
4. Netfilter/iptables
Netfilter – dio Linux jezgre iptables – program koji ga koristi Tablice – filter, nat, mangle Svaka tablica ima različite lance, postoje ovi: INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING
4. Netfilter/iptables primjer iptables -A INPUT -s 0/0 -i eth0 –d 192.168.1.15 -p TCP –sport 1024:65535 –dport 80 -j ACCEPT Propustiti sve TCP pakete koji dolaze na sučelje eth0, a namijenjeni su računalu 192.168.1.15, pri čemu su izvorišna vrata u rasponu od 1024 do 65535, a odredišna vrata su 80
4. OPENBSD PF
PF = Packet filter – dio OpenBSD jezgre Mogućnost filtriranja, normalizacije i preusmjeravanja prometa, prevođenja mrežnih adresa, raspodjele propusnosti i manipulacije prioritetima
4. OPENBSD PF primjer pass in on fxp0 proto tcp from any port 1024:65535 to 192.168.1.15 port 80 Propustiti sve TCP pakete koji dolaze na sučelje fxp0, a namijenjeni su računalu 192.168.1.15, pri čemu su izvorišna vrata u rasponu od 1024 do 65535, a odredišna vrata su 80
4. Ispitivanje
Penetracijsko ispitivanje – otkriti probleme napadom na mrežu
Prikupljanje informacija Istraživanje mreže Napad na mrežu
Testiranje ostvarenja – provjera pogrešaka pri implementaciji Testiranje pravila – provjera ispravne implementacije sigurnosne politike
4. IDS
IDS = Intrusion detection system detektira neželjene manipulacije na sustavu Detektira sve vrste nepoželjnog prometa u mreži, kao i nepoželjne načine korištenja računala koje sigurnosna stijena ne prepoznaje NIDS, HIDS, IPS
4. Honeys
Honeypot
Honeynet
zamka postavljena da bi detektirala, odbila ili na neki način i odgovorila na pokušaj neautoriziranog korištenja Sastoji se od računala, podataka ili mrežnog resursa koji se predstavlja kao dio mreže, ali je zapravo izoliran i zaštićen, te izgleda kao da sadrži informacije ili resurse koji bi mogli biti korisni napadačima Mreža honeypotova
Honeywall
4. VPN
4. VPN
Obično između udaljenih odjela unutar poduzeća ili za pristup klijenata koji nisu unutar zaštićene mreže Daje udaljenom korisniku privilegije koje su dozvoljene samo lokalnim korisnicima (zaobilaženje ulazne sigurnosne stijene) Tuneliranje – prijenos podataka namijenjenih korištenju unutar privatne mreže preko javne mreže enkapsulacijom paketa Model klijent - poslužitelj Enkripcija podataka koji se prenose
4. VPN
Primjeri:
IPsec OpenVPN CIPE FreeS/WAN Cisco VPN
4. DPI
DPI = Deep Packet Inspection Kontrola paketa na aplikacijskom sloju Pohrana i kontrola mrežne veze, ali i stanja aplikacije koja ju koristi Provjera brzinom prijenosnog linka Parsiranje i analiza XML-a i HTML-a Posredovanje Instant Messaging servisima Dekriptiranje/kriptiranje pri kontroli SSL veza Uska povezanost sa IDS-ovima
5. Praktični dio - IPsec
Načini rada
Tuneliranje Transport
SA i SAD SP i SPD
5. Praktični dio – IPsec
Transportni način rada
5. Praktični dio – IPsec
Transportni način rada setkey.conf
#konfiguracijska datoteka se ucitava pokretanjem #/usr/sbin/setkey -f ime_datoteke #brisanje postojecih SAD zapisa flush; #brisanje postojecih SPD zapisa spdflush;
#dodavanje novog SA-a u formatu: #add izvorišna_adresa odredišna_adresa protokol SPI -m nacin_rada -E #algoritam_kriptiranja kljuc_algoritma_kriptiranja -A algoritam_autentifikacije #kljuc_algoritma_autentifikacije; add 192.168.111.129 192.168.111.203 esp 0x201 -m tunnel -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831 -A hmac-md5 0xc0291ff014dccdd03874d9e8e4cdf3e6; #dodavanje novog SA-a koji odreduje komunikaciju u drugom smjeru add 192.168.111.203 192.168.111.129 esp 0x301 -m tunnel -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df -A hmac-md5 0x96358c90783bbfa3d7b196ceabe0536b; #dodavanje novog SP-a u formatu: #spdadd izvorišna_mreža odredišna_mreža viši_protokol -P smjer pravilo #protokol/nacin_rada/izvor-odredište/nivo; spdadd 192.168.111.129 192.168.111.203 any -P out ipsec esp/transport//require; #dodavanje novog SP-a koji odreduje komunikaciju u drugom smjeru spdadd 192.168.111.203 192.168.111.129 any -P in ipsec esp/transport//require;
5. Praktični dio – IPsec
Tunelirajući način rada
5. Praktični dio – IPsec
Tunelirajući način rada racoon.conf
#put do datoteke koja sadrži PSK kljuceve path pre_shared_key "/etc/psk.txt"; #remote sekcija udaljenog racunala remote 192.168.111.129 { #nacin rada u prvoj fazi IKE protokola exchange_mode main; #zahtjevi za dogovor u prvoj fazi IKE protokola proposal { #algoritam kriptiranja encryption_algorithm 3des; #algoritam sažetka hash_algorithm md5; #metoda autentifikacije authentication_method pre_shared_key; #grupa Diffie-Hellmanovih eksponenata dh_group modp1024; } }
5. Praktični dio – IPsec #podaci o SA za drugu fazu IKE protokola– od mreže 192.168.112.0/24 do #192.168.223.0/24 koristeci bilo koja vrata sainfo address 192.168.112.0/24 any address 192.168.223.0/24 any { #grupa Diffie-Hellmanovih eksponenata pfs_group modp768; #algoritam kriptiranja encryption_algorithm 3des; #algoritam autentifikacije authentication_algorithm hmac_md5; #algoritam kompresije compression_algorithm deflate; } psk.txt 192.168.111.129 c7e63d0732cddf4a
5. Praktični dio – IPsec - AH
Ne omogućava NAT
5. Praktični dio – IPsec - ESP
Omogućava NAT
5. Praktični dio – IPsec
IKE
Prva faza Druga faza
NAT-Traversal
Vrata UDP
5. Praktični dio – IPsec-tools
Setkey – ručna manipulacija Racoon – automatska manipulacija
racoon.conf
Racoonctl – upravljanje racoon-om
5. Praktični dio – Roadwarrior scenarij
5. Praktični dio – Roadwarrior scenarij
Roadwarrior je klijent koji koristi nepoznatu, dinamički dodijeljenu IP adresu da bi se spojio na VPN posredničko računalo (u našem slučaju poslužitelj) Klijent spajanjem na VPN mrežu dobiva svoju internu adresu unutar te mreže, što daje dojam da je izravno spojen u mrežu, a ne da joj pristupa putem Interneta. Dodavanjem interne adrese klijentu olakšava se administracija mreže. Promet se štiti na relaciji od klijenta do posredničkog računala. Nakon spajanja u VPN mrežu, klijent više nema izravan pristup drugim računalima u mreži, već se izlaz na Internet vrši prolaskom kroz VPN mrežu i sigurnosnu stijenu koja ju ograđuje od Interneta.
5. Praktični dio – Roadwarrior scenarij – problemi s racoon-om
IP adresa klijenta je nepoznata i ne može se definirati u racoon.conf konfiguracijskoj datoteci ili u datoteci PSK ključeva. Stoga je potreban drugi način da bi se odredio identitet klijenta. Pri korištenju PSK ključeva, potreban je rad racoon-a u agresivnom načinu tijekom prve faze IKE protokola. Pri korištenju certifikata, moguć je rad u glavnom načinu. Nije moguće definirati SP prema kojem će se racoon ponašati jer je odredišna adresa klijenta nepoznata. Racoon mora stvoriti potrebne SP-ove i SA-ove u trenutku kad se inicira povezivanje. Racoon u trenutnoj verziji (IPsec-tools 0.6.4) početkom pisanja ovoj rada, podržava direktive mode_cfg segmenta u kombinaciji sa Xauth autentifikacijom preko ISAKMP protokola isključivo za Cisco VPN klijente, dok je za druge klijentske opcije interoperabilnosti trenutna verzija bugovita i neupotrebljiva, stoga smo u nemogućnosti izvršiti automatsko postavljanje sučelja i dodjelu adrese u privatnoj mreži za racoon klijenta.
5. Praktični dio – Roadwarrior scenarij - poslužitelj
Postavke mreže
setupnet.sh
ip link set up dev eth1 dhclient echo "1" > /proc/sys/net/ipv4/ip_forward
5. Praktični dio – Roadwarrior scenarij - poslužitelj Postavke sigurnosne stijene
fw.sh
#brisanje NAT tablice iptables -F -t nat #brisanje INPUT lanca u filtar tablici iptables -F INPUT #brisanje FORWARD lanca u filtar tablici iptables -F FORWARD #brisanje OUTPUT lanca u filtar tablici iptables -F OUTPUT #postavljanje defaultne politike za INPUT lanac iptables -P INPUT DROP #postavljanje defaultne politike za FORWARD lanac iptables -P FORWARD DROP #postavljanje defaultne politike za OUTPUT lanac iptables -P OUTPUT ACCEPT #prihvacanje protokola 50 (AH) na ulazu u sucelje eth0 iptables -A INPUT -i eth0 -p 50 -j ACCEPT #prihvacanje protokola 51 (ESP) na ulazu u sucelje eth0 iptables -A INPUT -i eth0 -p 51 -j ACCEPT
5. Praktični dio – Roadwarrior scenarij - poslužitelj #prihvacanje UPD protokola na izvorišnim vratima 500 - ISAKMP iptables -A INPUT -i eth0 -p udp --source-port 500 -j ACCEPT #prihvacanje UPD protokola na izvorišnim vratima 4500 – NAT-T iptables -A INPUT -i eth0 -p udp --source-port 4500 -j ACCEPT #maskerada za pakete iz lokalne mreže i rw klijenata koji idu na Internet iptables -t nat -A POSTROUTING -o eth0 -d ! 192.168.112.0/24 -j MASQUERADE #prosljedivanje paketa rw klijenata nazad na vanjsku mrežu ako nisu namijenjeni #lokalnoj iptables -A FORWARD -i eth0 -d ! 192.168.112.0/24 -o eth0 -j ACCEPT #prosljedivanje paketa iz lokalne mreže prema vanjskoj iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT #prosljedivanje paketa vanjske mreže prema lokalnoj ako su veze vec pokrenute iznutra iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT #prihvacanje paketa vanjske mreže ukoliko su veze vec pokrenute iznutra iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #oznacavanje paketa koji dolaze ESP protokolom iptables -t mangle -A PREROUTING -i eth0 -p esp -j MARK --set-mark 1 #prihvacanje paketa svih protokola koji su ušli ESP protokolom iptables -A INPUT -i eth0 -m mark --mark 1 -j ACCEPT #prosljedivanje paketa svih protokola koji su ušli ESP protokolom iptables -A FORWARD -i eth0 -m mark --mark 1 -j ACCEPT
5. Praktični dio – Roadwarrior scenarij - poslužitelj
Postavke racoon-a
racoon.conf
#put do PSK datoteke path pre_shared_key "/etc/racoon/psk.txt"; #definiranje sekcije udaljenog racunala bilo koje adrese (anonymous) remote anonymous { #rad u agresivnom nacinu (da bi se mogla izvršiti autentifikacija) exchange_mode aggressive; #generiranje SP-ova iz primljenog ISAKMP-SA (zbog nepoznate adrese klijenta) generate_policy on; #pasivan rad – cekati pokušaj spajanja a ne ga inicirati passive on; #omogucavanje podrške za nat-t nat_traversal on; #definiranje identifikatora koji se koristi u prvoj fazi IKE protokola my_identifier address 192.168.111.129; #definiranje vremena života podataka iz prve faze IKE-a lifetime time 2 min; #zahtjev za dogovor u prvoj fazi proposal { #algoritam kriptiranja encryption_algorithm 3des;
5. Praktični dio – Roadwarrior scenarij - poslužitelj
}
#algoritam sažetka hash_algorithm sha1; #metoda autentifikacije authentication_method pre_shared_key; #grupa Diffie-Hellmanovih eksponenata dh_group 2;
} #podaci o SA za drugu fazu IKE-a za nepoznato racunalo sainfo anonymous { #definiranje vremena života podataka iz druge faze IKE-a lifetme time 1 min; #grupa Diffie-Hellmanovih eksponenata pfs_group 1; #algoritam kriptiranja encryption_algorithm 3des, des; #algoritam autentifikacije authentication_algorithm hmac_md5, hmac_sha1; #algoritam kompresije compression_algorithm deflate; }
5. Praktični dio – Roadwarrior scenarij - poslužitelj PSK ključevi
psk.txt
[email protected] c7e63d0732cddf4a
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent
Postavke mreže
setupnet.sh
ip route add 192.168.112.0/24 via 192.168.111.129 dev eth0
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent
Postavke za setkey
setkey.conf
#brisanje postojecih SA-a flush; #brisanje postojecih SP-ova spdflush; #dodavanja SP-a od rw klijenta prema mreži 192.168.0.0/16 za sve protokole preko tunela #izmedu roadwarrior klijenta i poslužitelja u formatu: #spdadd izvorišno_racunalo odredišna_mreža viši_protokol -P smjer pravilo #protokol/nacin_rada/izvor-odredište/nivo; spdadd 192.168.111.203 192.168.0.0/16 any -P out ipsec esp/tunnel/192.168.111.203-192.168.111.129/require; #dodavanje istog SP-a u drugom smjeru spdadd 192.168.0.0/16 192.168.111.203 any -P in ipsec esp/tunnel/192.168.111.129-192.168.111.203/require;
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent
Postavke racoon-a
racoon.conf
#put do datoteke koja sadrži PSK kljuceve path pre_shared_key "/etc/racoon/psk.txt" ; #postavljanje dopunjavanja paketa (padding) koje je opcionalno padding { #maksimalna duljina nadopunjavanja maximum_length 20; #onemogucavanje randomiziranja duljine nadopunjavanja randomize off; #onemogucavanje druge strane veze da radi drugacije nadopunjavanje strict_check off; #onemogucavanje postavljanja duljine nadopune kao zadnjeg dijela nadopune exclusive_tail off; } #Specifikacije vremenskih trajanja timer { #broj pokušaja uspostave veze
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent counter 5; #interval izmedu svakog slanja interval 20 sec; #broj paketa koji se šalju pri svakom pojedinom slanju persend 1; #maksimalna duljina trajanja prve faze phase1 30 sec; #maksimalna duljina trajanja prve faze phase2 15 sec;
} #remote sekcija udaljenog racunala – poznata adresa poslužitelja remote 192.168.111.129 { #nacin rada u prvoj fazi IKE protokola exchange_mode aggressive; #definiranje identifikatora koji se koristi u prvoj fazi IKE protokola my_identifier user_fqdn "
[email protected]"; #definiranje identifikatora poslužitelja prema adresi
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent peers_identifier address 192.168.111.129; #definiranje vremena života podataka iz prve faze IKE-a lifetime time 2 min; #omogucavanje podrške za nat-t nat_traversal on; #podržavanje opcija koje zahtjeva druga strana proposal_check obey; #zahtjev za dogovor u prvoj fazi proposal { #algoritam kriptiranja encryption_algorithm 3des; #algoritam sažetka hash_algorithm sha1; #metoda autentifikacije authentication_method pre_shared_key; #grupa Diffie-Hellmanovih eksponenata dh_group 2 ;
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent }
} #podaci o SA za drugu fazu IKE-a sainfo anonymous { #grupa Diffie-Hellmanovih eksponenata pfs_group 1; #definiranje vremena života podataka iz druge faze IKE-a lifetime time 1 min; #algoritam kriptiranja encryption_algorithm 3des, des; #algoritam autentifikacije authentication_algorithm hmac_md5, hmac_sha1; #algoritam kompresije compression_algorithm deflate ; }
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent
PSK ključ
psk.txt
192.168.111.129 c7e63d0732cddf4a
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent
Pokretanje veze
VPNon.sh
#brisanje defaultne rute kroz sucelje eth0 ip route del default dev eth0 #dodavanje defaultne rute preko poslužitelja ip route add default via 192.168.111.129 dev eth0 #brisanje rute prema racunalima koje predstavljaju Internet ip route del 192.168.111.0/24 dev eth0 #postavljanje SP-a setkey naredbom pomocu definirane konfiguracijske datoteke setkey -f /etc/racoon/setkey.conf #pokretanje racoon-a uz opcije definirane u konfiguracijskoj datoteci racoon -f /etc/racoon/racoon.conf #pauziranje izvodenja skripte na 5 sekundi dok se izvrši inicijalizacija racoon-a sleep 5 #pokušaj ping-anja poslužitelja koji nece uspjeti, ali ce se inicirati uspostava veze s poslužiteljem ping 192.168.111.129 #poruka korisniku da je veza pokrenuta echo “Veza je pokrenuta”
5. Praktični dio – Roadwarrior scenarij – roadwarrior klijent
Prekidanje veze
VPNoff.sh
#brisanje SPD-a setkey -FP #brisanje SAD-a setkey -F #brisanje defaultne rute preko poslužitelja ip route del default via 192.168.111.129 dev eth0 #dodavanje rute prema vanjskoj mreži ip route add 192.168.111.0/24 dev eth0 #dodavanje defaultne rute kroz sucelje eth0 ip route add default dev eth0 #odsjecak naredbi kojima se iz popisa procesa izdvaja racoon i njegov PID, te se naredbom kill gasi racoon get_proc=`ps -e -o pid,command | grep "racoon"` echo $get_proc > get_it get_pid=`gawk -F" " '{ print $1 }' get_it` kill -9 $get_pid echo “Veza je prekinuta”
5. Praktični dio – Roadwarrior scenarij – klijenti u lokalnoj mreži
Postavke mreže
setupnet.sh
ip route add default via 192.168.112.202 dev eth0
5. Praktični dio – Roadwarrior scenarij – pokretanje i promet 1. 2. 3.
Poslužitelj – sigurnosna stijena Poslužitelj – racoon RW klijent – VPNon Promet na vanjskoj mreži - kriptiran Promet na unutarnjoj mreži nekriptiran
# ping 192.168.112.131 PING 192.168.112.131 (192.168.112.131) 56(84) bytes of data. 64 bytes from 192.168.112.131: icmp_seq=1 ttl=63 time=164 ms 64 bytes from 192.168.112.131: icmp_seq=2 ttl=63 time=8.75 ms 64 bytes from 192.168.112.131: icmp_seq=3 ttl=63 time=5.86 ms 64 bytes from 192.168.112.131: icmp_seq=4 ttl=63 time=37.7 ms 64 bytes from 192.168.112.131: icmp_seq=5 ttl=63 time=16.5 ms 64 bytes from 192.168.112.131: icmp_seq=6 ttl=63 time=6.10 ms --- 192.168.112.131 ping statistics --6 packets transmitted, 6 received, 0% packet loss, time 5011ms rtt min/avg/max/mdev = 5.860/39.901/164.394/56.744 ms #
5. Praktični dio – Roadwarrior scenarij – vanjska mreža Redni broj
Vrijeme
Izvor
Odredište
Protokol
Informacije
3
0.003305
192.168.111.203
192.168.111.129
ISAKMP
Aggressive
4
0.193417
192.168.111.129
192.168.111.203
ISAKMP
Aggressive
5
0.300384
192.168.111.203
192.168.111.129
ISAKMP
Aggressive
6
0.334459
192.168.111.203
192.168.111.129
ISAKMP
Informational
7
0.347664
192.168.111.129
192.168.111.203
ISAKMP
Informational
8
1.249242
192.168.111.203
192.168.111.129
ISAKMP
Quick Mode
9
1.279074
192.168.111.129
192.168.111.203
ISAKMP
Quick Mode
10
1.284894
192.168.111.203
192.168.111.129
ISAKMP
Quick Mode
13
7.318190
192.168.111.203
192.168.111.129
ESP
ESP(SPI=0x0fe064a2)
14
7.416702
192.168.111.129
192.168.111.203
ESP
ESP(SPI=0x08c58844)
18
8.040118
192.168.111.203
192.168.111.129
ESP
ESP(SPI=0x0fe064a2)
19
8.042255
192.168.111.129
192.168.111.203
ESP
ESP(SPI=0x08c58844)
20
8.691666
192.168.111.203
192.168.111.129
ESP
ESP(SPI=0x0fe064a2)
21
8.695968
192.168.111.129
192.168.111.203
ESP
ESP(SPI=0x08c58844)
22
9.465685
192.168.111.203
192.168.111.129
ESP
ESP(SPI=0x0fe064a2)
23
9.491472
192.168.111.129
192.168.111.203
ESP
ESP(SPI=0x08c58844)
24
10.204612
192.168.111.203
192.168.111.129
ESP
ESP(SPI=0x0fe064a2)
25
10.210559
192.168.111.129
192.168.111.203
ESP
ESP(SPI=0x08c58844)
5. Praktični dio – Roadwarrior scenarij – unutarnja mreža # tcpdump -i eth1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes 13:00:15.417886 arp who-has 192.168.112.131 tell 192.168.112.202 13:00:15.429863 arp reply 192.168.112.131 is-at 00:0c:29:f3:6e:46 (oui Unknown) 13:00:15.430142 IP 192.168.111.203 > 192.168.112.131: ICMP echo request, id 50699, seq 1, length 64 13:00:15.441822 IP 192.168.112.131 > 192.168.111.203: ICMP echo reply, id 50699, seq 1, length 64 13:00:16.192897 IP 192.168.111.203 > 192.168.112.131: ICMP echo request, id 50699, seq 2, length 64 13:00:16.193762 IP 192.168.112.131 > 192.168.111.203: ICMP echo reply, id 50699, seq 2, length 64 13:00:16.815024 IP 192.168.111.203 > 192.168.112.131: ICMP echo request, id 50699, seq 3, length 64 13:00:16.825920 IP 192.168.112.131 > 192.168.111.203: ICMP echo reply, id 50699, seq 3, length 64 13:00:17.578064 IP 192.168.111.203 > 192.168.112.131: ICMP echo request, id 50699, seq 4, length 64 13:00:17.597785 IP 192.168.112.131 > 192.168.111.203: ICMP echo reply, id 50699, seq 4, length 64 13:00:18.322711 IP 192.168.111.203 > 192.168.112.131: ICMP echo request, id 50699, seq 5, length 64 13:00:18.329912 IP 192.168.112.131 > 192.168.111.203: ICMP echo reply, id 50699, seq 5, length 64 13:00:19.015756 IP 192.168.111.203 > 192.168.112.131: ICMP echo request, id 50699, seq 6, length 64 13:00:19.025994 IP 192.168.112.131 > 192.168.111.203: ICMP echo reply, id 50699, seq 6, length 64 13:00:19.406277 arp who-has 192.168.112.202 tell 192.168.112.131 13:00:19.406438 arp reply 192.168.112.202 is-at 00:0c:29:84:08:01 (oui Unknown) 13:00:38.851279 arp who-has 192.168.112.254 tell 192.168.112.131 17 packets captured 37 packets received by filter 0 packets dropped by kernel
5. Praktični dio – Roadwarrior scenarij – Windows klijent
ShrewSoft VPN Client
5. Praktični dio – Roadwarrior scenarij – Windows klijent
Virtualno sučelje ipconfig route print route delete route add
Zaključak
Područje koje obuhvaća sigurnosna stijena, kao samo dio računalne sigurnosti, je vrlo široko i često isprepleteno s ostalim tehnologijama koje pružaju sigurnost računala i računalne mreže. Stoga je ovaj seminarski rad samo uvod u neke od mogućnosti zaštite i osnovne principe. U daljnjem radu na temi, potrebno je dublje istražiti ovdje iznesenu tematiku, kao i pokazati neke od načina konkretnog ostvarenja sigurnosne stijene, te moguće vrste napada na mrežu i sigurnosnu stijenu kao njen obrambeni bedem. Također, zbog spomenutog ispreplitanja, te razvoja tehnologije u smjeru obuhvaćanja naprednih funkcija koje pružaju drugi mehanizmi i njihovog uklapanja u koncept sigurnosne stijene, potrebno je posvetiti dodatnu pažnju i drugim metodama zaštite. Prije svega se misli na sustave detekcije upada (IDS), duboku inspekciju paketa (DPI) i mogućnosti automatske reakcije sigurnosne stijene na detektirane događaje (prekidanje veza, dodavanje novih pravila filtriranja, ...). Praktični dio rada predstavio je jednu od mogućnosti ostvarenja roadwarrior VPN scenarija na Linux-u kao jedne od dodatnih mogućnosti koje pruža sigurnosna stijena. U tekstu su već opisani problemi ovog ostvarenja, kao i načini na koje su neki od njih riješeni. Postoje i druge mogućnosti ostvarenja, kao što je već spomenuti FreeS/WAN, ali potrebno je napomenuti da se nedavno pojavila i nova verzija IPsec-tools-a koja ispravlja neke od problema automatske konfiguracije racoon roadwarrior klijenta. Stoga bi daljnji rad na ovoj temi svakako trebao zahvatiti i nove mogućnosti koje se javljaju razvojem korištenog softvera. Također, potrebno je obratiti pažnju i na interoperabilnost sa Windows klijentima, kao i klijentima drugih operacijskih sustava, koja u ovom radu nije dovoljno istražena. “The strength of a wall depends on the courage of those who defend it.” – Džingis Kan, mongolski vladar i vojskovođa
Literatura
I. Dubrawsky, Firewall Evolution – Deep packet inspection, dostupno na Internet adresi http://www.securityfocus.com/infocus/1716, (21/12/2005) Check Point Firewall-1 Datasheet, dostupno na Internet adresi http://www.checkpoint.com/products/downloads/firewall-1_datasheet.pdf, (11/12/2005) Cisco Systems, Cisco PIX, dostupno na Internet adresi http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/index.html, (11/12/2005) Wikipedia VPN, dostupno na Internet adresi http://en.wikipedia.org/wiki/VPN, (9/12/2005) Wikipedia SSL, dostupno na Internet adresi http://en.wikipedia.org/wiki/Secure_Sockets_Layer, (9/12/2005) Wikipedia DPI, dostupno na Internet adresi http://en.wikipedia.org/wiki/Deep_packet_inspection, (9/12/2005) Wikipedia Sigurnosna stijena, dostupno na Internet adresi http://en.wikipedia.org/wiki/Firewall_%28networking%29, (9/12/2005) HoneyWall CDROM, dostupno na Internet adresi http://www.honeynet.org/tools/cdrom/, (21/12/2005) SANS IDS FAQ, dostupno na Internet adresi http://www.sans.org/resources/idfaq/index.php, (11/12/2005) HoneyNet Project, dostupno na Internet adresi http://project.honeynet.org/, (11/12/2005) NETFILTER/iptables, dostupno na Internet adresi http://www.netfilter.org/projects/iptables/index.html , (11/12/2005) Packet Filtering HOWTO, dostupno na Internet adresi http://www.netfilter.org/documentation/HOWTO//packet-filtering-HOWTO.html, (11/12/2005)
Literatura
NAT HOWTO, dostupno na Internet adresi http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO.html, (11/12/2005) The SANS Top 20 Internet Security Vulnerabilities, dostupno na Internet adresi http://www.sans.org/top20/, (12/12/2005) Gerhard Zaugg, Swiss Federal Institute of Technology, Firewall Testing, dostupno na Internet adresi http://www.infsec.ethz.ch/people/dsenn/DA_GerryZaugg_05.pdf, (12/12/2005) Dr. Thomas W. Shinder, Cherie Amon, Robert J. Shimonski, Debra Littlejohn Shinder: BEST DAMN FIREWALL BOOK PERIOD, dostupno na Internet adresi http://www.syngress.com, 2003, ISBN: 1931836-90-6 Elizabeth D. Zwicky, Simon Cooper, D. Brent Chapman : Building Internet Firewalls SE, dostupno na Internet adresi http://www.oreilly.com, 2000, ISBN: 1-56592-871-7 Charlie Scott, Paul Wolfe, Mike Erwin : Virtual Private Networks SE, dostupno na Internet adresi http://www.oreilly.com, 1999, ISBN: 1-56592-529-7 Ralf Spenneberg, IPsec HOWTO, dostupno na Internet adresi http://www.ipsec-howto.org, (15/5/2006) Shrew Soft Inc. , ShrewSoft VPN Client, dostupno na Internet adresi http://www.shrew.net/, (10/6/2006) IPsec-tools, dostupno na Internet adresi http://ipsec-tools.sourceforge.net/, (15/5/2006) Setkey manual, dostupno na Internet adresi http://netbsd.gw.com/cgi-bin/man-cgi?setkey++NetBSD-current, (15/5/2006) Racoon manual, dostupno na Internet adresi http://netbsd.gw.com/cgi-bin/man-cgi?racoon++NetBSD-current, (15/5/2006) Racoon.conf manual, dostupno na Internet adresi http://netbsd.gw.com/cgi-bin/man-cgi?racoon.conf+5+NetBSD-current, (15/5/2006) Racoonctl manual, dostupno na Internet adresi http://netbsd.gw.com/cgi-bin/man-cgi?racoonctl++NetBSD-current, (15/5/2006)