Cuprins
• Introducere• Tipuri de VPN-uri• Componentele VPN• Caracteristicile Secure VPN-urilor• VPN Tunneling• Integritatea datelor in VPN• IPsec• Studiu de caz
Introducere
• VPN• Permite organizatiilor sa creeze retele private
peste Internet• Asigura confidentialitatea si securitatea• Traficul este criptat• Foloseste conexiuni virtuale care sunt rutate prin
Internet• Scalabilitate• Cost redus
Tipuri de VPN-uri• Site-to-site VPN
– Conecteaza locatii dispersate– Hosturile transmit si receptioneaza trafic TCP/IP
printr-un VPN gateway
`
`
Internet
• Site-to-site VPN– VPN gateway
• Incapsuleaza si cripteaza traficul de iesire si il trimite printr-un VPN tunnel prin Internet la un peer VPN gateway aflat la locatia destinatie
• La receptie elimina headerele, decripteaza continutul si transmite pachetul hostului destinatie din reteaua sa privata
`
`
Internet
• Remote access VPN– Fiecare host are un VPN client software– Cand un host incearca sa transmita trafic, VPN
client software incapsuleaza si cripteaza respectivul trafic inainte de a-l transmite prin Internet la VPN gateway-ul de la granita retelei destinatie
– La receptie, VPN gateway-ul prelucreaza datele in acelasi mod ca si in cazul site-to-site VPN
`
Internet
Componentele VPN
• Retea cu servere si statii
• Conexiune la Internet
• VPN gateway-uri (rutere, firewall-uri, concentratoareVPN, ASA-uri) care actioneaza ca si puncte de capat pentru stabilirea, managementul si controlul conexiunilor VPN
• Software pentru crearea si managementul VPN tunnel-urilor
• VPN-urile securizeaza datele prin incapsularea si/sau criptarea datelor– Incapsularea (tunneling) transmite datele
transparent din retea in retea printr-o infrastructura de retea partajata
– Criptarea codifica datele intr-un format diferit folosind o cheie secreta
– Decriptarea decodifica datele criptate in formatul necriptat original
Caracteristicile Secure VPN-urilor
• Confidentialitatea datelor: protejarea datelor impotriva interceptarii acestora de catre surse neautentificate sau neautorizate. Realizata prin incapsulare si criptare.
• Integritatea datelor: garanteaza faptul ca asupra datelor nu au fost manipulate sau modificate pe ruta dintre sursa si destinatie. Realizata prin hash.
• Autentificare: asigura faptul ca mesajele vin de la o sursa autentica si merg la o destinatie autentica. Identificarea utilizatorilor se poate realiza prin parole, certificate digitale, smart card-uri sau date biometrice.
• Protectie Anti-Replay: detecteaza si rejecteaza pachetele rejucate (replayed) si ajuta la prevenirea falsificarii (spoofing). Verifica fiecare pachet sa fie unic si nu duplicat. Compara numarul de secventa a pachetelor receptionate cu o fereastra glisanta de la destinatie sau security gateway. Pachetele cu un numar de secventa care este inaintea ferestrei glisante sunt considerate intarziate sau duplicate si sunt eliminate.
VPN Tunneling
• Incapsuleaza un pachet intr-un alt pachet si transmite noul pachet peste o retea
• Carrier protocol: protocolul peste care circula informatia (Frame Relay, ATM, MPLS)
• Encapsulating protocol: protocolul care este infasurat peste datele originale (GRE, IPSec, L2F, PPTP, L2TP).
• Passenger protocol: protocolul peste care au fost transportate (IPX, AppleTalk, IPv4, IPv6).
Integritatea datelor in VPN
• Criptarea datelor face imposibila citirea acestora pentru receptorii neautorizati
• Pentru ca sa functioneze criptarea, atat transmitatorul cat si receptorul trebuie sa cunoasca regulile folosite la transformarea mesajului original in forma sa codata
• Regulile de criptare VPN includ un algoritm si o cheie• Un algoritm este o functie matematica care combina
un mesaj, text, digiti, or toate trei cu o cheie• Gradul de securitate furnizat de un algoritm de
criptare depinde de lungimea cheii
• Criptarea simetrica– Symmetric key encryption sau secret key encryption
– Necesita o shared secret key pentru a efectua criptarea si decriptarea
– Fiecare din cele doua calculatoare trebuie sa cunoasca cheia pentru a decodifica informatia
– Fiecare calculator cripteaza informatia inainte de a o trimite peste retea celuilalt calculator
– Necesita cunoasterea calculatoarelor care comunica astfel incat aceeasi cheie sa fie configurata pe fiecare calculator
– Exemple: Data Encryption Standard (DES), Triple DES (3DES), Advanced Encryption Standard (AES)
• Criptarea asimetrica– Foloseste chei diferite pentru criptare si decriptare– Public key encryption este o varianta de criptare
asimetrica care foloseste o combinatie de o cheie privata si o cheie publica
– Receptorul da o cheie publica oricarui transmitator cu care doreste sa comunice
– Transmitatorul foloseste o cheie privata combinata cu cheia publica a receptorului pentru a cripta mesajul
– Transmitatorul trebuie sa ofere cheia publica proprie receptorului
– Pentru a decripta mesajul receptorul receptorul va folosi cheia publica a transmitatorului cu propria cheie privata
– Exemplu: Rivest, Shamir, and Adleman (RSA)
• Hash sau message digest– Hash-urile contribuie la integritatea datelor si
autentificare asigurand ca persoanele neautorizate nu manipuleaza mesajele transmise
– Este un numar generat dintr-un sir de text
– Transmitatorul original genereaza un hash al mesajului si il trimite impreuna cu mesajul
– Receptorul decripteaza mesajul si hash-ul, produce un alt hash din mesajul receptionat si compara cele doua hash-uri.
– Daca sunt identice receptorul poate fi suficient de sigur asupra faptului ca integritatea mesajului nu a fost afectata
• VPN-urile folosesc un cod de autentificare a mesajelor pentru a verifica integritatea si autenticitatea unui mesaj, fara a folosi vreun mecanism suplimentar - hashed message authentication code (HMAC)
• HMAC are doi parametri: un mesaj de intrare si o cheie secreta cunoscuta doar transmitatorului si receptorilor destinati
• Algoritmi HMAC– Message Digest 5 (MD5)– Secure Hash Algorithm 1 (SHA-1)
• Dispozitivul de la capatul tunelului VPN trebuie sa fie autentificat inainte de a fi considerata securizata calea de comunicatie
• Sunt doua metode de autentificare:– Pre-shared key (PSK)– RSA signature
Introducere
• Suita de protocoale pentru securizarea comunicatiilor IP
• Framework de standarde deschise• Lucreaza la nivel retea• Protejeaza tot traficul la nivel aplicatie• Header de nivel 3 plaintext, nu ridica
probleme la rutare• Functioneaza peste toate protocoalele de
nivel 2
• Format din 5 blocuri:1. Protocolul IPsec: Encapsulating Security Payload (ESP)
sau Authentication Header (AH)
2. Confidentialitate: DES, 3DES, AES sau Software-Optimized Encryption Algorithm (SEAL)
3. Integritate: MD5 sau SHA4. Modul in care este stabilita shared secret key: pre-
shared (PSK) sau digitally signed folosind RSA5. Grupul algoritmului DH: DH1, DH2, DH5 sau DH7
ESP+AHESPAH
DES 3DES AES SEAL
Protocolul IPsec
Confidentialitate
Integritate
Autentificare
Diffie-Hellman
MD5 SHA
PSK RSA
DH1 DH2 DH5 DH7
• Permite alegerea algoritmilor folositi pentru implementarea seviciilor de securitate
• Nu este legat de algoritmi specifici, permite implementarea altor algoritmi
• Poate securiza o cale intre:– doua gateway-uri– doua host-uri– un gateway si un host
ESP+AHESPAH
DES 3DES AES SEAL
Protocolul IPsec
Confidentialitate
Integritate
Autentificare
Diffie-Hellman
MD5 SHA
PSK RSA
DH1 DH2 DH5 DH7
• Functii de securitate furnizate:– Confidentialitate – prin criptare– Integritate – prin algoritmi hash– Autentificare – foloseste Internet Key Exchange
(IKE) pentru autentificare. IKE foloseste username si password, one-time password, biometrics, pre-shared keys (PSKs) si certificate digitale
– Schimb securizat de chei – prin algoritmul DH
ESP+AHESPAH
DES 3DES AES SEAL
Protocolul IPsec
Confidentialitate
Integritate
Autentificare
Diffie-Hellman
MD5 SHA
PSK RSA
DH1 DH2 DH5 DH7
Protocoale de securitate
• Protocoalele framework-ului IPsec sunt Authentication Header (AH) si Encapsulating Security Payload (ESP)
• AH– Asigura autentificare si integritate– Nu asigura confidentialitate, datele nu sunt criptate
• ESP– Asigura autentificare si integritate– Asigura confidentialitate, datele sunt criptate
• ESP si AH pot fi aplicate in mod transport sau mod tunnel
• Modul transport– Securitatea este asigurata de la nivelul transport
pana la nivelul aplicatie– Headerul IP ramane plaintext si este folosit pentru
rutarea pachetului
Header IP Date
Header ESP Date Trailer ESP Autentificare ESPHeader IP
Header IP Date Trailer ESP Autentificare ESPHeader ESPHeader IP nou
Criptat
Criptat
Autentificat
Autentificat
Dateoriginale
Dateoriginale
Modtransport
Modtransport
ModtunnelMod
tunnel
• Modul tunnel– Securitatea este asigurata pentru intregul pachet
IP– Pachetul IP este incapsulat intr-un alt pachet IP
(IP-in-IP encryption)– Noul header IP este folosit pentru rutarea
pachetului
Header IP Date
Header ESP Date Trailer ESP Autentificare ESPHeader IP
Header IP Date Trailer ESP Autentificare ESPHeader ESPHeader IP nou
Criptat
Criptat
Autentificat
Autentificat
Dateoriginale
Dateoriginale
Modtransport
Modtransport
ModtunnelMod
tunnel
• IPsec VPN negociaza parametrii schimbului cheilor, stabileste o cheie shared, autentifica perechea si negociaza parametrii criptarii
• Parametrii negociati intre doua dispozitive sunt cunoscuti ca security association (SA)
• IPsec foloseste protocolul Internet Key Exchange (IKE) pentru a stabili procesul de schimb al cheilor
• IKE foloseste protocolul UDP, portul 500• IKE combina Internet Security Association and
Key Management Protocol (ISAKMP) si metodele de schimb al cheilor Oakley si Skeme
Internet Key Exchange
• ISAKMP defineste formatul mesajului, mecanica protocolului de schimb al cheilor si procesul de negociere pentru a construi un SA pentru IPsec
• ISAKMP nu defineste modul in care cheile sunt administrate sau partajate
• Oakley si Skeme au definite cinci grupuri de chei• Pentru a stabili un canal de comunicatie securizat
IKE executa doua faze– Faza 1 – Negocierea initiala a SA-urilor. Negocierea
seturilor de politici IKE, autentificarea perechilor si setarea unui canal securizat intre perechi
– Faza 2 – SA-urile sunt negociate de ISAKMP
2. Activarea politicilor IKE pe R1 si R3
• Definirea parametrilor din politica IKE• IKE foloseste acesti parametri in timpul negocierii pentru a
stabili perechi ISAKMP intre doua puncte IPsec
R1(config)# crypto isakmp enableR1(config)# crypto isakmp policy 10
R3(config)# crypto isakmp enableR3(config)# crypto isakmp policy 10
3. Configurarea parametrilor politicilor ISAKMP pe R1 si R3
R1(config)# crypto isakmp policy 10R1(config-isakmp)# authentication pre-shareR1(config-isakmp)# encryption aes 256R1(config-isakmp)# hash shaR1(config-isakmp)# group 5R1(config-isakmp)# lifetime 3600
R3(config)# crypto isakmp policy 10R3(config-isakmp)# authentication pre-shareR3(config-isakmp)# encryption aes 256R3(config-isakmp)# hash shaR3(config-isakmp)# group 5R3(config-isakmp)# lifetime 3600
4. Configurarea cheilor pre-shared
R1(config)# crypto isakmp key cisco123 address 10.10.2.1
R3(config)# crypto isakmp key cisco123 address 10.10.1.1
• Cheia trebuie configurata daca authentication pre-share a fost configurata in ISAKMP policy
4. Configurarea IPsec transform set si life times
R1(config)# crypto ipsec transform-set 50 esp-aes 256 esp-sha-hmacR1(config)# crypto ipsec security-association lifetime seconds 1800
R3(config)# crypto ipsec transform-set 50 esp-aes 256 esp-sha-hmacR3(config)# crypto ipsec security-association lifetime seconds 1800
• Un set de transformari este o combinatie de transformari IPsec individuale (transformare AH, transformare ESP, mod IPsec – tunnel sau transport)
5. Definirea traficului interesant
R1(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
R3(config)# access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
• Identifica traficul care va fi protejat
6. Crearea si aplicarea crypto map
R1(config)# crypto map CMAP 10 ipsec-isakmpR1(config-crypto-map)# match address 101R1(config-crypto-map)# set peer 10.10.2.1R1(config-crypto-map)# set pfs group5R1(config-crypto-map)# set transform-set 50R1(config-crypto-map)# set security-association lifetime seconds 900R1(config-crypto-map)# exitR1(config)# interface fastEthernet 0/1R1(config-if)# crypto map CMAP
R3(config)# crypto map CMAP 10 ipsec-isakmpR3(config-crypto-map)# match address 101R3(config-crypto-map)# set peer 10.10.2.1R3(config-crypto-map)# set pfs group5R3(config-crypto-map)# set transform-set 50R3(config-crypto-map)# set security-association lifetime seconds 900R3(config-crypto-map)# exitR3(config)# interface fastEthernet 0/1R3(config-if)# crypto map CMAP
• Intrarile crypto map combina parametri de configurare ai IPsec SA-urilor
• Crypto map se aplica interfetei de iesire a VPN-ului