SecLab 01 v2.00
SecLab
01
SitetoSit
e VPN
Cilj vežbe Cilj vežbe je upoznavanje sa IPSec, SSH i Telent protokolima. U vežbi će se konfigurisati jednostavna mreža sa dinamičkim protokolom za rutiranje – RIP. Nakon oga će se konfigurisati VPN (Virtual Private Network) na 2 krajnja rutera u mreži. Ruteri koji se tkoriste u ovom scenariju mogu biti Cisco 3640. Prikazaće se kako izgleda neenkriptovana komunikacija kada se koristi Telnet protokol za daljinski ristup računaru. Zatim će se prikazati kako izgleda enkriptovana komunikacija na aplikacionom psloju kada se koristi SSH protokol za daljinski pristup računaru. Na kraju, pokazaće se kako se uspostavlja enkripcija na mrežnom sloju kada se enkriptuje ceo aobraćaj na višim slojevima, a ne samo specifičan saobraćaj za jednu aplikaciju. To će se izvršiti uz spomoć IPsec protokola.
o znanje RIP protokola i protokola dinamičkog rutiranja. Za razumevanje vežbe potrebno je osnovn
Kreiranje projekta i osnovna podešavanja Potrebno je iskonfigurisati mrežu kao na slici. Za to je potrebno postaviti 3 rutera.
Konfiguracija osnovne funkcionalne mreže i RIP protokola K orak 1.1.
Would you like to enter the initial configuration dialog?
Potrebno je iskonfigurisati ruter US, sledećim komandama:
[yes/no]: no
Router>enable # Neke privilegovane EXEC komande se koriste za akcije koje utiču na sistem. Preporučuje se podešavanje lozinke za takve komande da bi se sprečila neautorizovana upotreba. Postoje dva tipa takvih komandi enable (neenkriptovana) i enable secret (enkriptovana. Router#configure terminal # komanda se koristi u Global configuration komandnom modu za konfigurisanje rutera Enter configuration commands, one per line. End with CNTL/Z. Router(config)#no logging console
SecLab 01 v2.00
Router(config)#interface s0/0 # komanda se koristi u Interfejs configuration komandnom modu za konfigurisanje interfejsa. U ovom slučaju se konfiguriše serijski interfejs s0/0 Router(config-if)#ip address 50.0.0.1 255.255.255.0 # dodela IP adrese Router(config-if)#no shutdown # komanda služi da se omogući aktivira interface koji se konfiguriše Router(config-if)#interface loop 1 # konfigurisanje loopback interfejsa. Koji za ovu vežbu simulira mreže koje se nalaze iza rutera US Router(config-if)#ip address 10.1.1.1 255.255.255.0 # dodela IP adrese Router(config-if)#router rip # aktiviranje RIP protokola Router(config-router)#version 2 # podešavanje verzije RIP protokola na 2 Router(config-router)#network 10.1.1.0 # oglašavanje mreže 10.1.1.0 Router(config-router)#network 50.0.0.0 Router(config-router)#no auto-summary # Router(config-router)#exit # izlaz iz komandnog moda za konfiguraciju Router(config)#exit Router#copy running-config startup-config # snimanje trenutne konfiguracije Destination filename [startup-config]? Building configuration... [R
OK] outer#
Korak 1.2. Zatim je potrebno iskonfigurisati ruter ISP. Router>enable Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#no logging console Router(config)#interface s0/0 Router(config-if)#ip address 50.0.0.2 255.255.255.0 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#interface s0/1 Router(config-if)#ip address 192.168.1.2 255.255.255.0 Router(config-if)#no shutdown Router(config)#router rip Router(config-router)#version 2 Router(config-router)#network 50.0.0.0 Router(config-router)#network 192.168.1.0 Router(config-router)#no auto-summary Router(config-router)#exit Router(config)#exit Router#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK] Router#
Korak 1.3.
I na kraju ruter Pakistan: Router> Router>enable Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#no logging console Router(config)#interface s0/0 Router(config-if)#ip address 192.168.1.1 255.255.255.0 Router(config-if)#no shutdown Router(config-if)#interface loop 1 Router(config-if)#ip address 172.16.0.1 255.255.255.0 Router(config-if)#router rip Router(config-router)#version 2 Router(config-router)#network 192.168.1.0 Router(config-router)#network 172.16.0.0 Router(config-router)#no auto-summary Router(config-router)#exit Router(config)#exit Router#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK]
SecLab 01 v2.00
Korak 1.4. Provera konekcije sa prvim ruterom (US) se vrši komandom: Router#ping 50.0.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 50.0.0.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 20/40/68 ms Router# Konfiguracija Telnet servisa Telnet je osnovi protokola koji se koristi na Internetu i u lokalnim TCP/IP mrežama za udaljeni ristup računarima. Omogućava dvosmernu komunikaciju baziranu na tekstu. Telnet je razvijen p1969. U početku je denisan dokumentom RFC 15, a proširen RFC 854. Omogućava pristup udaljenom računaru i njegovom komandnom interfejsu. Problem je što Telnet oristi neenkriptovanu komunikaciju (koristi se običan tekst), što otvara mogućnost otkrivanja klozinki i drugih važnih informacija.
edostatak Telnet‐a će se pokazati u sledećem primeru. N Korak 2.1.
rvo je na ruteru Pakistan, potrebno omogućiti Telnet pristup. P Router> enable Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# line vty 0 4 # ova i sledeće dve naredbe podešavaju telnet server i korisničko ime za logovanje Router(config-line)# login % Login disabled on line 130, until 'password' is set % Login disabled on line 131, until 'password' is set % Login disabled on line 132, until 'password' is set % Login disabled on line 133, until 'password' is set % Login disabled on line 134, until 'password' is set Router(config-line)# password proba #podešavanje lozinke za logovanje preko telnet servisa Router(config)#enable password proba Router(config-line)# exit +
Korak 2.2. Da bi se mogla izvršiti analiza saobraćaja potrebno je pokrenuti WireShark.
Korak 2.3. Zatim se na ruteru US pokreće telnet klijent za pristup na udaljeni ruter Pakistan. Pored naredbe telnet navodi se i IP adresa udaljenog rutera. Router#telnet 172.16.0.1 Trying 172.16.0.1 ... Open User Access Verification Password: # Na ovom mestu se unosi password Router>enable Password: # Na ovom mestu se unosi enable password Router#exit [Connection to 172.16.0.1 closed by foreign host] Router#exit
SecLab 01 v2.00
Korak 2.4. ada je potrebno pregledati pakete koji su poslati preko mreže. Da bi se to postiglo potrebno je Spokrenuti WireShark. Sada je potrebno selektovati telnet pakete koji su upućeni ruteru Pakistan. To se vrši desnim klikom na bilo koji paket prikazan u WireSharku koji u Destination polju ima vrednost IP adrese rutera na koji je izvršeno logovanje (Pakistan ima IP adresu 172.16.0.1) i u polju Protocol ima vrednost TELNET. Desni klik miša je potrebno izvršiti na IP adresi 172.16.0.1 u vrsti gde se nalazi i vrednost TELNET i odabrati opciju menija Apply as Filter > Selected.
Dalje je potrebno dodati još kriterijuma u filter za prikaz paketa. To se vrši desnim klikom miša, kao što je prikazano na slici, i odabirom opcije Apply as Filter > ... and Selected.
Sada se u polju filter pojavlju sledeći prikaz: (ip.dst==172.16.0.1) && (telnet) kao što je prikazano na slici.
SecLab 01 v2.00
Sada se u programu WireShark vrši prikaz samo TELNET paketa upućenih na adresu 172.16.0.1. Da bi se video njihov sadržaj, potrebno je kliknuti na svaki paket posebno na + ispred polja Telent u donjem delu prozora. U svakom paketu se prenosi po jedan karakter.
Da bi se video niz podataka koji su sadržani u nizu paketa, potrebno je aktivirati opciju Follow TCP Stream klika desnim tasterom miša.
Rezultat te akcije će biti prikaz sličan kao na slici. Na ekranu se vidi da je komunikacija između ačunara neenkriptovana i da se sadržaj paketa jasno može videti. r
SecLab 01 v2.00
Konfiguracija SSH ser visa Secure Shell (SSH) je kriptografski mrežni protokol za sigurni prenos podataka i pristup udaljenom računaru preko nesigurne javne mreže. Na računaru kome se pristupa potrebno je da ostoji SSH server, a na računaru sa koga se pristupa potrebno je da postoji SSH klijent. Postoje pdve glavne verzije ovog protokola: SSH1 i SSH2. izajniran je da zameni Telnet i druge nesigurne protokole kao što su Berkeley rsh i rexec. SSH D
koristi kriptografiju sa javnim ključem za autentifikaciju udaljenog računara i korisnika. Prva verzija protokola SSH‐1 nastala je 1995. god., a druga verzija SSH‐2 2006. god. Ta verzija protokola nije kompatibilna sa SSH‐1. Posle promovisanja 2.1 verzije protokola, dokumentom RFC 4253 specificirana je verzija koja podržava i verziju 2.0 i ranije verzije protokola na istom serveru. o je verzija 1.99 i ne predstavlja pravu verziju protokola već metod za održavanje kompatibilnosti a ranijim verzijama. Ts Korak 3.1. Prvo je potrebno restartovati ruter Pakistan da bi se resetovala Telnet konfiguracija. Za to se oristi naredba reload u globalnom konfiguracionom modu. Prilikom restarta sitema biće onuđeno da se izmenjena konfiguracija sačuva, ali je potrebno odabrati opciju no. kp Pakistan#reload System configuration has been modified. Save? [yes/no]: no Proceed with reload? [confirm]
akon restarta sistema, potrebno konfigurisati i startovati SSH server na ruteru Pakistan N Router> Router> enable Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# hostname Pakistan # dodela imena ruteru (hostu) Pakistan(config)# ip domain-name pakistan.com # dodela imena domena kome pripada ruter. Pravi Internet domen za ovaj host ne postoji, tj. nije dodeljen, ali se za potrebe konfigurisanja SSH mora dodeliti ovaj „privremeni“ domain-name Pakistan(config)# logging console # aktiviranje prikaza sistemskih logova da bi se video izveštaj o generisanom ključu Pakistan(config)# crypto key generate rsa general-keys modulus 1024 # generisanje sertifikata upotrebom RSA algoritma dužine 1024 bita. Naredba crypto ukazuje da se radi o kriptografskim komandama
SecLab 01 v2.00
The name for the keys will be: Pakistan.pakistan.com % The key modulus size is 1024 bits % Generating 1024 bit RSA keys, keys will be non-exportable...[OK] Pakistan(config)# *Mar 1 00:40:46.107: %SSH-5-ENABLED: SSH 1.99 has been enabled Pakistan(config)# no logging console # isključenje prikaza sistemskih logova Pakistan(config)# username admin priv 15 secret proba # kreiranje korisnika admin sa administratorskim privilegijama (priv 15) i enkriptovanom lozinkom sa md5 hash algoritmom (secret) Pakistan(config)# aaa new-model # aktiviranje prikaza Pakistan(config)# enable secret proba # aktiviranje prikaza Pakistan(config)# line vty 0 4 # aktiviranje prikaza Pakistan(config-line)# transport input ssh # Ova naredba dozvoljava samo SSH pristup. Da bi se dozvolio samo Telnet pristup koristi se telnet umesto ssh, a za sve protokole koristi se all umesto ssh Pakistan(config-line)# Korak 3.2. Posle konfiguracije rutera Pakistan potrebno je pokrenuti analizu saobraćaja kao i u koraku 2.3. Korak 3.3.
a rutera US daljinski pristup na ruter Pakistan (adresa 172.16.0.1) vrši se komandom: S s sh -l admin 172.16.0.1
Korak 3.4. Sada je potrebno pregledati pakete koji su poslati preko mreže kao u koraku 2.4. Za razliku od toga koraka filtriraju se i analiziraju samo SSHv2 paketi (potrebno je obratiti pažnju kod filtriranja aketa). Ukoliko su sve akcije dobro izvršene dobiće se prikaz enkriptovane komuniakcije između va rutera. Kao što se vidi na slici sva korisnikova komunikacija je skrivena. pd
Konfiguracija VPN i IPsec protokola Internet Protocol Security (IPsec) je proširenje IP protokola koje služi da obezbedi sigurnu IP komunikaciju uz pomoć autentifikacije i enkripcije svih paketa na nivou mrežnog sloja OSI modela Internet sloj TCP/IP modela). IPsec obuhvata protokole za uspostavljanje obostrane autentifikacije zmeđu agenata na početku sesije i razmenu kriptografskih ključeva u toku sesije. (i
SecLab 01 v2.00
Za razliku od drugih sigurnosnih protokola kao što su Secure Sockets Layer (SSL), Transport Layer Security (TLS) i Secure Shell (SSH) i koji rade na višim slojevima TCP/IP modela, IPsec radi a Internet sloju TCP/IP modela. Tako SSH ili SSL štite samo saobraćaj na nivou jedne aplikacije, ndok IPsec štiti celokupnu komunikaciju.
Psec je otvoreni standard i koristi sledeće protokole za razne funkcije: I
Authentication Headers (AH) Encapsulating Security Payloads (ESP) Security Associations (SA) Internet Security Association and Key Management Protocol (ISAKMP)
a bi se izvršila konfiguracija IPsec virtuelne privatne mreže između dva rutera potrebno je izvršiti ledeće kor ke. Ds a
Korak 4.1. onovo se mogu restartovati svi ruteri u scenariju. Dateljnije objašnjenje sigurnosnih naredbi se
and Reference Release 12.3. Pnalazi u Cisco IOS Security Comm
onfiguracija VPN‐a na ruteru US: K Router> Router>enable Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#crypto isakmp policy 7 # podešava identifikator Diffie-Hellman grupe Router(config-isakmp)#authentication pre-share # pre-share metod autentifikacije je dobar za male mreže Router(config-isakmp)#encryption aes 128 # podešava identifikator Advanced Encryption Standard sa dužinom ključa 128 bita Router(config-isakmp)#group 2 Router(config-isakmp)#hash sha # podešava hash algoritam za omogućavanje integriteta podataka. Osigurava da paketi stižu sa naznačenog mesta i da nisu modifikovani u toku transporta Router(config-isakmp)#lifetime 100 Router(config-isakmp)#exit Router(config)#crypto isakmp key 0 vpnkey address 192.168.1.1 no-xauth # podešava ključ za autentifikaciju. 0 znači da sledi neenkriptovana lozinka. vpnkey je ključ. address služi za unos adrese udaljenog rutera. no-xauth se koristi da spreči rutere u produženoj autentifikaciji. Router(config)#crypto ipsec transform-set vpntrans esp-aes 128 esp-sha-hmac # definiše transform set. Vpntrans je ime transform seta. esp-aes 128 je tip transformacije - ESP sa 128-bit Advanced Encryption Standard (AES) algoritmom enkripcije Router(cfg-crypto-trans)#exit Router(config)#ip access-list extended vpn-acl # definiše ime access liste Router(config-ext-nacl)#permit ip 50.0.0.0 0.0.0.255 172.16.0.0 0.0.255.255 Router(config-ext-nacl)#exit Router(config)#crypto map vpn-map 10 ipsec-isakmp # kreira i modifikuje kripto mapu za sesiju % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured. Router(config-crypto-map)#set peer 192.168.1.1 # podešava adresu rutera na drugoj strani veze (peer) Router(config-crypto-map)#match address vpn-acl # određuje extended access listu koja je definisana komadom ip access-list extended za crypto map Router(config-crypto-map)#set transform-set vpntrans # podešava koji se transform set koristi za crypto map. Router(config-crypto-map)#exit Router(config)# Router(config)#interface s0/0 Router(config-if)#crypto map vpn-map Router(config-if)#exit Router(config)#exit Router#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK]
Korak 4.2.
SecLab 01 v2.00
Konfiguracija VPN‐a na ruteru Pakistan: Router> Router>enable Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#crypto isakmp policy 7 Router(config-isakmp)#authentication pre-share Router(config-isakmp)#encryption aes 128 Router(config-isakmp)#group 2 Router(config-isakmp)#lifetime 100 Router(config)#crypto isakmp key 0 vpnkey address 50.0.0.1 no-xauth Router(config)#crypto ipsec transform-set vpntrans esp-aes esp-sha-hmac Router(cfg-crypto-trans)#exit Router(config)#ip access-list extended vpn-acl Router(config-ext-nacl)#permit ip 172.16.0.0 0.0.255.255 50.0.0.0 0.0.0.255 Router(config-ext-nacl)#exit Router(config)#crypto map vpn-map 10 ipsec-isakmp % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured. Router(config-crypto-map)#set peer 50.0.0.1 Router(config-crypto-map)#set transform-set vpntrans Router(config-crypto-map)#match address vpn-acl Router(config-crypto-map)#interface s0/0 Router(config-if)#crypto map vpn-map Router(config-if)#
Provera rada
Korak 5.1.
Uspostavljanje VPN tunela između dva rutera se vrši pokretanjem inicijalne komunikacije uz pomoć programa ping sa ruterom 172.16.0.1. Prvi izgubljeni paket se dešava zbog uspostavljana tunela. Router#ping 172.16.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.0.1, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 36/54/72 ms Router#
Korak 5.2. Provera konfiguracije na ruteru US: Router#show crypto isakmp sa dst src state conn-id slot status 192.168.1.1 50.0.0.1 QM_IDLE 1 0 ACTIVE
Korak 5.3. Provera konfiguracije na ruteru US: Router#show crypto ipsec sa interface: Serial0/0 Crypto map tag: vpn-map, local addr 50.0.0.1 protected vrf: (none) local ident (addr/mask/prot/port): (50.0.0.0/255.255.255.0/0/0) remote ident (addr/mask/prot/port): (172.16.0.0/255.255.0.0/0/0) current_peer 192.168.1.1 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4 #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 1, #recv errors 0
SecLab 01 v2.00
local crypto endpt.: 50.0.0.1, remote crypto endpt.: 192.168.1.1 path mtu 1500, ip mtu 1500, ip mtu idb Serial0/0 current outbound spi: 0x7967A8A8(2036836520) inbound esp sas: spi: 0x286E5D21(678321441) transform: esp-aes esp-sha-hmac , in use settings ={Tunnel, } conn id: 2001, flow_id: SW:1, crypto map: vpn-map sa timing: remaining key lifetime (k/sec): (4404240/3540) IV size: 16 bytes replay detection support: Y Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0x7967A8A8(2036836520) transform: esp-aes esp-sha-hmac , in use settings ={Tunnel, } conn id: 2002, flow_id: SW:2, crypto map: vpn-map sa timing: remaining key lifetime (k/sec): (4404240/3536) IV size: 16 bytes replay detection support: Y Status: ACTIVE outbound ah sas: outbound pcp sas: Router#
Korak 5.4. Uz pomoć programskog paketa WireShark može se videti da sadržaj paketa kod Telnet pristupa više nije nezaštićen. Takođe, u listi paketa u koloni protokola se više ne vide Telnet nego samo ESP paketi.
Zadatak 1.1.
zvšiti konfiguraciju jednostavne IPsec virtualne privatne mreže (VPN) za scenario prikazan na slici. I
SecLab 01 v2.00
U ovom scenariju koristiti:
m primeru), ‐ DES enkripciju umesto AES,
u prethodno kljuczavpn,
‐ odabrati md5 hash algoritam (ne sha kao i nazvati gasformacije,
‐ podesiti ključ za identifikacijun
‐ transform‐set nazvati settra access‐listu nazvati acl‐lista,‐‐ crypto map nazvati mapica, P adrese interfejsa su date na slici. Na sva tri rutera (SiteA, SiteB i Internet) podesiti RIP dinamičko Irutiranje. Napomena: kod podešavanja DES enkripcije i drugih komandi koje su nepoznate može se upotrebiti ? da bi se prikazale sve moguće opcije u nastavku naredbe i njihovo značenje, kao što je prikazano u sledećem primeru: Router(config-isakmp)#encryption ? 3des Three key triple DES aes AES - Advanced Encryption Standard. des DES - Data Encryption Standard (56 bit keys). Rou <
ili
ter(config-isakmp)#encryption des ? cr>
Router(config-isakmp)#hash ? md5 Message Digest 5 sha Secure Hash Standard
Rešenje 1.1. Konfiguracija rutera SiteA Router# Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#crypto isakmp policy 7 Router(config-isakmp)#authentication pre-share Router(config-isakmp)#encryption des Router(config-isakmp)#group 2 Router(config-isakmp)#hash md5 Router(config-isakmp)#lifetime 100 Router(config)#crypto isakmp key 0 kljuczavpn address 147.91.100.1 no-xauth Router(config)#crypto ipsec transform-set settransformacije esp-des Router(cfg-crypto-trans)#exit Router(config)#ip access-list extended vpn-lista Router(config-ext-nacl)#permit ip 212.100.1.0 0.0.0.255 10.0.0.0 0.0.0.255
SecLab 01 v2.00
Router(config-ext-nacl)#exit Router(config)#crypto map mapica 10 ipsec-isakmp % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured. Router(config-crypto-map)#set peer 147.91.100.1 Router(config-crypto-map)#match address vpn-lista Router(config-crypto-map)#set transform-set settransformacije Router(config-crypto-map)#exit Router(config)#interface s0/0 Router(config-if)#crypto map mapica Router(config-if)#exit Router(config)#exit Router#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK] Router#
Konfiguracija rutera SiteB Router> Router>enable Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#crypto isakmp policy 7 Router(config-isakmp)#authentication pre-share Router(config-isakmp)#encryption des Router(config-isakmp)#hash md5 Router(config-isakmp)#group 2 Router(config-isakmp)#lifetime 100 Router(config)#crypto isakmp key 0 kljuczavpn address 212.100.1.1 no-xauth Router(config)#crypto ipsec transform-set settransformacije esp-des Router(cfg-crypto-trans)#exit Router(config)#ip access-list extended vpn-lista Router(config-ext-nacl)#permit ip 10.0.0.0 0.0.0.255 212.100.1.0 0.0.0.255 Router(config-ext-nacl)#exit Router(config)#crypto map mapica 10 ipsec-isakmp % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured. Router(config-crypto-map)#set peer 212.100.1.1 Router(config-crypto-map)#set transform-set settransformacije Router(config-crypto-map)#match address vpn-lista Router(config-crypto-map)#interface s0/0 Router(config-if)#crypto map mapica Router(config-if)#exit