Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
Tunelare și VPN
Proiectarea Rețelelor
Cuprins
Scopul și tipurile de VPN-uri
IPsec Algoritmii din IPsec Configurarea IPsec site-to-site
2
3
Tipuri de VPN-uri
Ce este un VPN? Un VPN este o rețea privată end-to-end peste o rețea
publică (de exemplu, peste Internet)
Un VPN nu garantează neapărat confidențialitatea traficului Sunt folosite metode criptografice Un VPN devine un tunel care cară date criptate Poate asigura și autentificarea sursei datelor
IPsec este un framework de securitate pentru VPN-uri Definește o serie de protocoale ce garantează
confidențialitate, integritate și autenticitate
4
Unde putem implementa un VPN?
Firewall
CSA
Birou regional cu ruter cu servicii VPN
Birou cu ruter DSL
Angajat mobil cu client VPN
Partener de afacericu ruter
Rețeauacompaniei
WAN
Internet
Virtual: Informația într-o rețea privată este transportată peste o rețea publică
Privată: Traficul poate fi criptat pentru a asigura confidențialitate.
5
Beneficii VPN Principalul avantaj al unui VPN:
Oferă o conexiune sigură și izolată fără să fie necesară o conexiune fizică
Securitate: VPN-urile folosesc protocoale sigure de criptare și autentificare
Scalabilitate: VPN-urile folosesc infrastructura existentă în Internet Adăugarea de utilizatori și rețele este ușoară
Compatibilitate: VPN-urile pot traversa medii și rețele diferite: LAN, WLAN, WAN, 4G, etc.
Costuri reduse: VPN-urile nu au nevoie de legături fizice dedicate și pot funcționa fără hardware specializat
6
VPN de Nivel 3 Un VPN este un tunel care interconectează două puncte
peste o rețea publică Pentru a duce datele la destinație, un antet trebuie adăugat la
toate pachetele ce trec prin tunel Acest antet oferă toate beneficiile unui VPN Acest antet conține și informațiile de adresare ce permit
pachetelor să ajungă la destinație
VPN-urile pot fi implementate la nivelurile 2, 3 și 5 Vom discuta despre VPN-uri de Nivel 3 (antetul de tunel va conține informații de nivel 3)
7
VPN de Nivel 3
Tipuri de VPN de nivel 3: GRE, IPsec, MPLS Protecția datelor într-un VPN este oferită de framework-ul IPsec Dispozitive de criptare și servicii VPN-aware trebuie instalate la
ambele capete ale VPN-ului Dispozitivele intermediare nu vor ști ce tip de trafic transportă
8
Topologii VPN Există două tipuri de topologii VPN: VPN-uri Remote-access
Utilizatorii remote trebuie să aibă conexiune la Internet Parametrii VPN-ului sunt negociați dinamic Utilizatorul stabilește tunelul VPN prin ISP Tunelul este stabilit doar când este nevoie de el
VPN-uri Site-to-site Configurat între două dispozitive VPN Mereu pornită Oferă interconectivitate între multiple rețele pe ambele părți Fiecare capăt de tunel joacă rolul unui gateway pentru rețelele sale
9
VPN Site-to-site
Conectează rețele întregi Conexiune mereu pornită Dispozitivele VPN joacă rol de gateway
10
Tuneluri GRE
11
Încapsulare GRE GRE (Generic Routing Encapsulation): RFC 1702 și 2784 Este un protocol de tunelare de nivel 3 OSI Inițial dezvoltat de Cisco, acum standardizat
Poate încapsula multiple tipuri de pachete într-un tunel IP Adaugă un antet între antetul de nivel 3 al tunelului și payload Acest antet identifică protocolul încapsulat
12
Antetul de tunel GRE Tunelurile GRE nu au stare
Capetele nu rețin informații despre stare sau disponibilitatea celuilalt capăt
Nu oferă mecanisme puternice de autentificare și confidențialitate
13
Configurare tunel GRE
Capetele tunelului sunt interfețe virtuale Tunelul este atașat unei interfețe fizice locale și se conectează la o interfață la
distanță Tunelul trebuie să fie un subnet separat Precizarea modului de tunelare este opțională - GRE este modul implicit pentru
orice tunel14
Depanare GRE Un tunel GRE poate să nu funcționeze din mai multe motive.
Verificați că: Destinația tunelului este o adresă IP la care se poate ajunge (trebuie să
fie prezentă în tabela de rutare) Tunelul trebuie să aibă sursa și destinația valide Traficul tunelului GRE să nu fie blocat de vreun ACL Modul tunelului să fie același la ambele capete
15
Trafic GRE
GRE poate transporta trafic non-IP peste o rețea IP
Spre deosebire de IPsec, GRE poate căra trafic multicast și broadcast
Ce tipuri de protocoale folosesc multicast și broadcast?
GRE poate transporta informații aparținând protocoalelor de rutare
GRE nu poate cripta date fără IPsec
16
17
Framework-ul IPsec
Ce este IPsec? IPsec este un standard IETF (RFC 2401-2412) Definește metode prin care se pot implementa VPN-uri
folosind protocolul IP Este un framework de standarde deschise ce descriu cum se
pot stabili canale de comunicație sigură
Se bazează pe algoritmi existenți pentru a oferi: Criptare Autentificare Integritate Schimb de chei
Funcționează peste orice conexiune de nivel 218
Topologie IPsec
IPsec funcționează la nivel rețea, unde protejează și autentifică pachete IP IPsec oferă doar framework-ul, administratorul alege ce algoritmi vor fi
folosiți (în funcție de nevoile de securitate)
19
Componente IPsec Protocolul IPsec folosit
Opțiunile sunt: AH (Authentication Header) și ESP (Encapsulating Security Payload)
Algoritmi ce oferă confidențialitate (criptare): Exemple: DES, 3DES, AES, SEAL
Algoritmi ce oferă integritate: Exemple : MD5, SHA, și versiunile lor
Algoritmi ce definesc metoda de autentificare: Opțiunile includ: pre-shared keys (PSK) sau semnături digitale
folosind RSA
Mecanismul prin care se stabilește o cheie partajată sigură: Grupuri DH (Diffie-Hellman)
20
Confidențialitate IPsec
21
Confidențialitate IPsec
DES Criptare cu chei simetrice, procesare rapidă, chei pe 56 biți
3DES Criptare cu chei simetrice, trei chei independente pe 56 biți
AES Securitate mai bună decât DES și mai rapid decât 3DES. Criptare cu chei
simetrice folosind chei pe 128, 192 sau 256 de biți SEAL (Software Optimized Encryption Algorithm)
Cifru pe fluxuri (stream cipher) cu chei simetrice pe 160 biți
22
Integritate IPsec Verificările de integritate sunt necesare în VPN-uri IPsec Date private sunt transportate peste rețele publice Datele pot fi interceptate și modificate fără ca emițătorul sau
receptorul să observe
HMAC este un algoritm ce verifică integritatea pachetelor folosind hash-uri Emițătorul procesează mesajul și o cheie secretă partajată
printr-un algorithm de hash și adaugă hash-ul obținut la mesaj Receptorul recalculează hash-ul folosind aceeași cheie secretă
și același algoritm, după care compară hash-urile
23
Integritate IPsec
HMAC-Message Digest 5 (HMAC-MD5) Folosește o cheie secretă pe 128 biți pentru a calcula un hash
pe 128 biți
HMAC-Secure Hash Algorithm 1 (HMAC-SHA1) Folosește o cheie pe 160 biți pentru un hash pe 160 biți
24
Autentificare IPsec
Emițătorul și receptorul trebuie să se autentifice pentru a verifica securitatea canalului de comunicație
Două metode de autentificare: Pre-shared keys (PSK)
Trebuie configurate manual pe ambele echipamente Ușor de configurat, dar nu scalează
Semnături RSA Autentificarea se face prin schimb de certificate digitale Pentru a valida certificatele, sunt folosite perechi de chei publice/private
25
Schimb de chei IPsec Algoritmii de criptare (DES, 3DES, AES, etc.) au nevoie de o
cheie secretă comună pentru a face criptarea și decriptarea Algoritmii de integritate (HMAC) au nevoie de chei secrete
pentru a verifica integritatea Cum pot două dispozitive să stabilească o cheie sigură?
Protocolul DH (Diffie-Hellman) de stabilire de chei Permite emițătorului și receptorului să stabilească o cheie
comună sigură peste un canal nesigur
Diferitele protocoale DH se numesc grupuri
26
Schimb de chei IPsec
Există patru grupuri DH Un grup precizează lungimea numerelor prime folosite în algoritmi
Grupurile DH 1, 2 and 5 au chei de 768 biți, 1024 biți and 1536 biți, respectiv Criptarea AES poate folosi grupurile DH 2 și 5 Grupul 7 folosește Criptografie pe Curbe Eliptice (ECC), care reduce timpul necesar pentru
generarea cheilor
În timpul stabilirii tunelului VPN, dispozitivele negociază ce grup DH va fi folosit și restul algoritmilor
27
Protocoalele de securitate IPsec
28
Authentication Header (AH)
Antetul IP și payload-ul sunt hashed1
Hash-ul este folosit pentru a construi antetul AH; antetul este pus înaintea pachetului IP.
2
3Pachetul încapsulat este trimis către celălalt ruter.
Ruterul destinație calculează hash-ul antetului IP și payload-ului și compară rezultatul cu hash-ul din antetul AH.
4
29
Protocoale AH
Hash-urile calculate de AH nu includ câmpuri din antetul IP ce variază în tranzit (TTL) NAT creează probleme deoarece AH nu se așteaptă ca antetul IP să se schimbe
AH nu poate oferi criptare; doar autentificare și integritate
Integritate
Autentificare
Schimb de chei
Opțiuni
30
Encapsulating Security Payload (ESP) ESP oferă confidențialitate prin criptarea payload-ului Folosește o varietate de algoritmi de criptare cu chei
simetrice Alegerea implicită este DES
ESP poate oferi integritate și autentificare Folosește aceleași protocoale și metode ca AH.
Opțional, ESP poate proteja împotriva replay attacks Protecție împotriva duplicării pachetelor de către atacatori Folosit de obicei în ESP, dar disponibil și în AH Cum? Pe lângă antet și cheia secretă, în algoritmul de hash
intră și un număr de secvență
31
Protocoale ESP
Integritate
Autentificare
Schimb de chei
Confidențialitate
Opțiuni
32
Încapsularea IPsec
Datele sunt protejate: întregul pachet IP poate fi criptat Datele sunt autentificate: Întregul pachet IP și antetul ESP sunt hashed Adresele din noul antet IP sunt folosite pentru rutarea pachetului Criptarea este realizată înainte de autentificare
33
Încapsularea IPsec: Mod transport ESP și AH pot fi aplicate pe pachetele IP în două moduri
diferite: mod transport și mod tunel
“Transport” deoarece securitatea este oferită doar la nivel transport în stiva OSI (și deasupra)
Antetul IP original nu este afectat (neautentificat, necriptat) Poate fi folosit cu GRE (GRE ascunde antetul IP original)
Dar poate fi folosit și când este dorit un overhead mai mic
Mod transport:
34
Încapsularea IPsec: Mod tunel
Oferă securitate pentru întregul pachet IP original Cunoscut și drept criptare „IP-in-IP” Poate fi folosit pentru a extinde LAN-uri peste Internet
Adresele IP încapsulate pot fi private
Pachetul este rutat către destinație folosind doar antetul IP exterior Dispozitivul VPN receptor decapsulează pachetul, verifică integritatea și
rutează mai departe pachetul folosind antetul IP interior
35
SA (Asocieri de Securitate) VPN-urile negociază parametrii de securitate Parametrii finali se numesc o asociere de securitate (Security
Association, SA) Intrările SA sunt menținute într-o SADB (bază de date) și conțin:
Parametrii pentru criptarea IPsec Parametrii pentru schimbul de chei
DH este folosit pentru a crea cheile partajate pentru criptare Dar protocolul IKE face schimbul de chei efectiv
Chiar dacă perechi de chei publice/private sunt folosite pentru autentificare, criptarea se face pe bază de chei simetrice Deoarece sunt mult mai rapide
36
Internet Key Exchange (IKE) Pentru a nu transmite cheile direct peste rețea, IKE schimbă o serie de
mesaje prin care emițătorul și receptorul calculează cheile Schimbul nu permite unui atacator să deducă cheia
IKE este definit în RFC 2409 și folosește UDP port 500 Protocol hibrid, ce combină:
Internet Security Association and Key Management Protocol (ISAKMP) Metodele de schimb de chei Oakley și Skeme
ISAKMP definește formatul mesajului și procesul de negociere pentru a stabili SA-urile pentru criptare IPsec
IKE este util doar dacă parametrii nu sunt configurați manual
37
Fazele IKE Protocolul IKE execută două faze pentru a stabili un canal
sigur: Faza 1
Negocierea inițială a SA-urilor. Autentifică emițătorul și receptorul și negociază seturile de politice IKE (parametrii tunelului). Este stabilit un canal sigur
Faza 2 Canalul sigur stabilit în faza 1 este folosit de ISAKMP pentru a
negocia un al doilea set de SA-uri, pentru criptarea traficului. După această fază, emițătorul și receptorul sunt autentificați și cunosc aceeași cheie secretă
După ce ambele faze sunt finalizate, emițătorul și receptorul pot transfera date criptate
38
IKE faza 1 – Primul schimb Emițătorul și receptorul negociază algoritmii folosiți pentru a securiza comunicația
IKE Algoritmii sunt grupați în seturi de politici IKE, ce sunt anunțate la începutul
comunicației Schimbul este început de emițător, care trimite propunerile inițiale Dacă receptorul acceptă politica propusă, atunci aceasta va fi folosită Mai multe seturi de politici IKE pot fi definite, în cazul în care inițiatorul se
conectează la mai mulți receptori
39
IKE faza 1 – Al doilea schimb Al doilea schimb creează și schimbă cheile publice de DH Grupul DH este cunoscut din politicile alese anterior în
primul schimb Aceasta asigură că ambii participanți folosesc același algoritm
de generare a cheii, și obțin în final aceeași cheie secretă
Cheia este calculată de ambii participanți fără a fi trimisă peste canal
Toate celelalte negocieri vor fi criptate cu nou-calculata cheie secretă
40
IKE faza 1 – Al treilea schimb Ultimul schimb din prima fază autentifică participanții Autentificarea se poate face prin:
pre-shared key (PSK) semnături RSA
Ambii participanți îl autentifică pe celălalt După al treilea schimb, un SA IKE bidirecțional este stabilit
Cele trei schimburi din faza 1 se numesc “main mode” și folosesc 6 pachete (3 pentru fiecare participant) Există un alt mod numit “aggressive mode” în care doar 3 pachete
sunt trimise
41
IKE faza 2 Scopul fazei 2 este să negocieze parametrii IPsec ce vor fi
folosiți pentru a securiza tunelul IPsec
Faza 2 are un singur mod, „Quick mode”
Faza 2 se execută doar după finalizarea procesului IKE din faza 1
Faza 2 negociază un alt set de SA-uri Aceste SA-uri sunt unidirecționale Un schimb de chei separat este necesar pentru fiecare direcție
42
IKE faza 2
IKE faza 2 implementează următoarele funcții: Negociază parametrii de securitate IPsec (cunoscuți sub
numele de Transform Sets) Stabilește SA-uri IPsec Regenerează periodic SA-uri IPsec pentru a spori securitatea Opțional, reface schimbul de chei DH
43
44
VPN-uri IPsec site-to-site
Comportamentul unui tunel VPN
45
1. 10.0.1.3 trimite trafic interesant către 10.0.2.3
2. R1 și R2 negociază o sesiune de IKE faza 1
3. R1 și R2 negociază o sesiune de IKE faza 2
4. Informația este transportată prin tunelul IPsec
5. Tunelul IPsec este închis
IKE SA IKE SA
IPsec SA IPsec SA
Tunel IPsec
VPN-uri IPsec Site-to-Site Un VPN este un canal logic între două puncte Un VPN site-to-site este o conexiune virtuală „rețea-la-
rețea” Nu toate VPN-urile oferă autentificare sau criptare Dacă avem nevoie de astfel de funcții, putem folosi VPN-uri
IPsec
Un VPN IPsec site-to-site este un canal virtual sigur și permanent între două locații, fiecare având una sau mai multe rețele
46
Configurare IPsec
Pasul 1: Verificăm că ACL-urile sunt compatibile cu IPsec
Pasul 2: Creăm politica ISAKMP (IKE)
Pasul 3: Configurăm transform set-ul
Pasul 4: Creăm un crypto ACL
Pasul 5: Creăm și aplicăm un crypto map
47
1. Configurare ACL Verificăm că nu există ACL-uri care să blocheze trafic IPsec
sau IKE AH este protocolul IP numărul 51 ESP este protocolul IP numărul 50 IKE folosește UDP portul 500
Aveți grijă la diferența dintre număr de protocol și port!
48
1. Exemplu Configurare ACL
R1(config)# access-list 102 permit ahp host 172.30.2.2 host 172.30.1.2
R1(config)# access-list 102 permit esp host 172.30.2.2 host 172.30.1.2
R1(config)# access-list 102 permit udp host 172.30.2.2 host 172.30.1.2 eq isakmp
R1(config)#
R1(config)# interface Serial0/0/0
R1(config-if)# ip address 172.30.1.2 255.255.255.0
R1(config-if)# ip access-group 102 in
!
R1(config)# exit
R1# show access-lists
access-list 102 permit ahp host 172.30.2.2 host 172.30.1.2
access-list 102 permit esp host 172.30.2.2 host 172.30.1.2
access-list 102 permit udp host 172.30.2.2 host 172.30.1.2 eq isakmp
49
2. Configurare Politici IKE
Acești parametri sunt folosiți în timpul negocierii Scopul negocierii este să stabilească o asociere ISAKMP între cele două capete
IPsec Multiple politici ISAKMP pot fi configurate, fiecare cu un număr de prioritate unic
(de la 1 la 10000). Politicile mai sigure ar trebui să aibă numere de prioritate mai mici
SA-ul va fi construit folosind setul comun de politici cu numărul de prioritate cel mai mic Dacă nu sunt precizați explicit unii algoritmi, se iau algoritmii impliciți
De exemplu, dacă nu este precizat un algorithm de hash, se folosește SHA
50
2. Configurare Politici IKE
Întrăm în modul de configurare politici ISAKMP:R1(config)#crypto isakmp policy 110
Setăm parametrii ISAKMP:R1(config-isakmp)#authentication pre-shareR1(config-isakmp)#encryption desR1(config-isakmp)#group 1R1(config-isakmp)#hash md5R1(config-isakmp)#lifetime 86400
Numerele de politici au relevanță locală (110) Numerele de politici nu trebuie să se potrivească, doar conținutul lor
Toți parametrii trebuie să fie aceeași pentru a se potrivi (cu excepția duratei de viață a cheii, unde este folosită valoarea mai mică)
51
2. Parametri Politici IKE
52
2. Negocierea Politicilor
În acest exemplu, politicile 100 și 200 pot fi negociate, însă 300 nu Un participant trimite toate politicile configurate către celălalt capăt Celălalt capăt încearcă să găsească o potrivire completă cu propriile politici
53
2. Configurare IKE: PSK Dacă a fost precizată (și negociată) opțiunea de pre-
shared keys în politica IKE, atunci cheile trebuie configurate manual
Aceeași cheie trebuie configurată pe ambii participanți pentru a crea un SA.
Chei diferite pot fi configurate între perechi diferite de participanți
De exemplu:R1(config)#crypto isakmp key cisco123 address 172.30.2.2[similar config for R2, using R1’s IP address]
54
3. Configurare transform set Un transform set este un set de perechi protocol-algoritm ce va
proteja fluxul de date din tunelul IPsec Fiecare pereche protocol-algoritm este o „transformare” Un transform set poate avea până la 4 transformări:
O metodă de autentificare AH O metodă de criptare ESP O metodă de autentificare ESP O metodă de compresie
În timpul negocierii, participanții caută un transform set care se potrivește la ambele capete
Dacă ISAKMP nu este folosit pentru a stabili SA-uri, un singur transform set (nenegociat) va fi folosit
55
3. Exemple de transformări Transformări autentificare AH: ah-md5-hmac; ah-sha-hmac
Transformări criptare ESP: esp-aes; esp-aes 192; esp-aes 256 esp-des; esp-3des esp-seal; esp-null
Transformări autentificare ESP: esp-md5-hmac esp-sha-hmac
Transformare de compresie IP: comp-lzs
56
3. Exemple transform set
R(config)#crypto ipsec transform-set RED ah-md5-hmac esp-3des esp-md5-hmac comp-lzs
Folosește AH cu autentificare HMAC (cu MD5)
Folosește ESP cu autentificare HMAC (cu MD5) și criptare 3DES
Folosește criptare pe antetul de IP cu algoritmul LZS
R(config)#crypto ipsec transform-set YELLOW ah-md5-hmac esp-aes
Folosește AH cu autentificare HMAC (cu MD5) Folosește ESP cu criptare AES
R(config)#crypto ipsec transform-set BLUE esp-aes esp-sha-hmac
Folosește ESP cu autentificare HMAC (cu SHA) și criptare AES
57
4. Configurare Crypto ACL Un Crypto ACL este un ACL ce selectează ce trafic să fie
protejat
Pe un crypto ACL spre ieșire (outbound): O intrare de tipul permit spune că traficul trebuie să fie criptat O intrare de tipul deny spune că traficul trebuie să treacă nemodificat Traficul nu este aruncat de intrările de tip deny
Pe un crypto ACL spre intrare (inbound) : O intrare de tipul permit trebuie să selecteze traficul criptat ce intră în
dispozitiv O intrare de tipul deny trebuie să selecteze restul traficului ACL-urile de acest tip sunt folosite pentru a arunca traficul ce ar fi
trebui să fie protejat de IPsec
58
4. Configurare Crypto ACL
ACL Outbound: indică pachetele ce trebuie să fie protejate ACL Inbound: aruncă traficul ce ar fi trebuit protejat Crypto ACL-urile trebuie să fie ACL-uri extinse
59
4. Configurare Crypto ACL
Aplicat pe R1 S0/0/0, trafic outbound:R1(config)# access-list 110 permit tcp 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
Aplicat pe R2 S0/0/0, trafic outbound:R2(config)# access-list 101 permit tcp 10.0.2.0 0.0.0.255 10.0.1.0 0.0.0.255
60
5. Configurare crypto map Un crypto map este o „sumă” a tuturor configurațiilor discutate
până acum Combină următoarele aspecte:
Crypto ACL-ul care selectează traficul de protejat SA-urile folosite pentru a stabili tunelul Cine este celălalt capăt al tunelului Ce adresă locală să fie folosită pentru Ipsec (opțional) Ce transform set să fie folosit pentru protejarea datelor
Un crypto map are nume și numere de secvență: Mai multe crypto maps cu același nume și numere de secvență diferite
formează un crypto map set
Un singur crypto map poate fi aplicat pe o interfață
61
5. Configurare crypto map
Pentru redundanță, putem avea mai multe destinații62
5. Configurare crypto mapR1(config)# crypto map MYMAP 10 ipsec-isakmp
Numele crypto map și numărul de secvențăR1(config-crypto-map)# match address 110
Crypto ACL-ul ce va fi folosit pentru a selecta traficul criptatR1(config-crypto-map)# set peer 172.30.2.2 default
Destinația principalăR1(config-crypto-map)# set peer 172.30.3.2
(Opțional) O destinație secundarăR1(config-crypto-map)# set pfs group1
Selectăm DH grupul 1 pentru schimbul de cheiR1(config-crypto-map)# set transform-set mine
Alegem un transform set deja configurat pentru a fi folosit în tunelul IPsec
R1(config-crypto-map)# set security-association lifetime seconds 86400
Alegem durata de viață a SA-ului
63
Aplicarea Crypto map
R1(config)# interface serial0/0/0R1(config-if)# crypto map MYMAP
Aplicăm crypto map-ul pe interfața de ieșire Activăm politica de IPsec
64
Verificare IPsec
65
Show command Description
show crypto map Afișează crypto map-urile configurate.
show crypto isakmp policy Afișează politicile IKE configurate.
show crypto ipsec sa Afișează tunelurile IPsec stabilite.
show crypto ipsec transform-set Afișează transform set-urile configurate.
debug crypto isakmp Debug pe evenimente IKE.
debug crypto ipsec Debug pe evenimente IPsec.
Sumar
66
• Tipuri de VPN-uri: site-to-site și remote access
• Tuneluri GRE
• Algoritmii folosiți în VPN-uri IPsec
• Configurarea unui VPN IPsec site-to-site