69
1 Virtual Private Networks • Présentation des VPN • Scénarios VPN • Choix de technologies VPN • VPN termes clés • IPSec

Virtual Private Networks

Embed Size (px)

DESCRIPTION

Virtual Private Networks. • Présentation des VPN • Scénarios VPN • Choix de technologies VPN • VPN termes clés • IPSec. Présentation des VPN. Un VPN transporte du trafic privé sur un réseau public en utilisant du cryptage et des tunnels pour obtenir : - PowerPoint PPT Presentation

Citation preview

Page 1: Virtual Private Networks

1

Virtual Private Networks

• Présentation des VPN• Scénarios VPN• Choix de technologies VPN• VPN termes clés• IPSec

Page 2: Virtual Private Networks

2

Présentation des VPN

Un VPN transporte du trafic privé sur un réseau public en utilisant du cryptage et des tunnels pour obtenir :• la confidentialité des données (cryptage) :

l'émetteur doit crypter les paquets avant de les transmettre dans le réseau. Par ce moyen, si la communication est interceptée les données ne pourront pas être lues

• l'intégrité des données : le récepteur peut vérifier si les données n'ont pas été altérées lors de leur passage dans le réseau

• l'authentification des utilisateurs : le récepteur peut authentifier la source du paquet, garantissant et certifiant la source de l'information

Page 3: Virtual Private Networks

3

Présentation des VPN

• Un réseau privé virtuel (VPN) est défini comme une connectivité réseau déployée sur une infrastructure partagée avec les mêmes politiques de sécurité que sur un réseau privé

• Un VPN peut être entre deux systèmes d'extrémité ou entre deux ou plusieurs réseaux

• Un VPN est construit en utilisant des tunnels et du cryptage• Un VPN peut être construit au niveau de différentes couches

du modèle TCP/IP• Un VPN est une infrastructure WAN alternative aux réseaux

privés qui utilisent des ligneslouées ou des réseaux d'entreprise utilisant Fame Relay ou ATM

Page 4: Virtual Private Networks

4

Présentation des VPN

Internet

Site Central

Site distant

FrameRelay

FrameRelay

• Coût élevé• Peu flexible• Gestion WAN• Topologies complexes

• Faible coût • Plus flexible• Gestion simplifiée• Topologie tunnel

RéseauFrame Relay

RéseauFrame Relay

Internet

Site Central

Site distantFrameRelay

FrameRelay

TunnelVPN

VPNConventionnel

Page 5: Virtual Private Networks

5

Présentation des VPN

• Caractère virtuel :– C’est la technique du tunneling qui permet d’étendre de façon

« virtuelle » le réseau privé à travers un réseau public

• Caractère privé :– C’est le cryptage qui confère son caractère privé aux données

puisqu’elles ne peuvent être décodées que par les interlocuteurs d’extrémité

Réseau Privé : cryptage

Réseau Virtuel : tunneling

Page 6: Virtual Private Networks

6

Présentation des VPN

• Exemples de protocoles de tunneling :

– GRE (Generic Routing Encapsulation)– L2TP (Layer 2 Tunneling Protocol) – IPSec

Page 7: Virtual Private Networks

7

Présentation des VPN

Cryptage Décryptage

MessageCrypté

Tunnel

Infos Infos

• Un tunnel est une connexion point à point virtuelle :• connexion point à point au travers d'un réseau IP en mode non-connecté

• Un tunnel transporte un protocole à l'intérieur d'un autre : • encapsulation d’IP dans IP par exemple !

• Le cryptage transforme les informations en texte chiffré• Le décryptage restaure les informations à partir du texte chiffré

Page 8: Virtual Private Networks

8

Scénarios VPN

Interconnexion de plusieurs sites avec routage

PC à Firewall / Routeur à Firewall

PC à Routeur/Concentrateur VPNInterconnexion de deux sites

Page 9: Virtual Private Networks

9

Scénarios VPN

• Baser le réseau uniquement sur des connexionx fixes n’est plus envisageable

• Le VPN est assez souple pour autoriser l’accès au réseau facilement et dans de bonnes conditions de sécurité

ServiceDistant

OpérateurB

OpérateurA

Entreprise

DMZAAA

Partenaire

Fournisseur

Agence

AgenceRégionale

Utilisateur Mobileou Télétravailleur

Serveurs WebServeur DNSRelais Mail SMTP

Page 10: Virtual Private Networks

10

Scénarios VPN

• Deux types de VPN :– accès distant (remote access ou VPDN Virtual Private Dial-up

Network) : utilisateurs mobiles, télétravailleurs, utilisateurs du réseau ayant le moyen de travailler depuis leur domicile

Il faut dans ce cas identifier l’utilisateur, voire sa machine

– interconnexion de sites (LAN to LAN VPN ou site to site VPN) : • Intranet VPN : bureaux distants, succursales, pour les data et aussi la

voix sur IP (encore confidentiel)• Extranet VPN : clients, fournisseurs, partenaires de l’entreprise, …

Dans ce cas, ce sont les éléments d’interconnexion qui doivent s’identifier les uns aux autres

• Le dénominateur commun est l’accès aux ressources du réseau privé, au-delà des serveurs publics, à travers un réseau publique

Qui crée des VPN ?

Page 11: Virtual Private Networks

11

Scénarios VPN

• Les administrateurs réseaux des entreprises :– ils créent des VPN LAN to LAN aussi bien que des VPN d’accès distant,

pour les besoins des personnels et des partenaires de l’entreprise

• Les opérateurs téléphoniques et les fournisseurs d’accès à Internet :– ils créent des VPN LAN to LAN « clefs en main » qu’ils proposent aux

entreprises

– ces offres de VPN s’accompagnent souvent de services comme :• l’accès à Internet• l’hébergement de serveurs• le filtrage de paquets• la fonction FireWall• l’antivirus• la détection d’intrusions

Page 12: Virtual Private Networks

12

Scénarios VPN

• Exemple de VPN d’accès distant :– Connexion sur l’équipement frontal de l’entreprise :

• routeur• pare-feu• concentrateur VPN

– Les clients distants peuvent être : • petit routeur• clients VPN

client VPN

Page 13: Virtual Private Networks

13

Scénarios VPN

• Exemple de VPN d’interconnexion :– Connexion entre les deux équipements frontaux

• routeurs et/ou firewall• concentrateur VPN

– Les clients et serveurs ignorent le VPN

ou ou

ouou

Page 14: Virtual Private Networks

14

Choix de la technologie

• Plusieurs techniques existent pour sécuriser des échanges entre sites

• Les premières techniques apparues sont de niveau applicatif, et correspondent donc à des applications particulières :– SSH : telnet sécurisé (authentifié et crypté)

– S/MIME : SMTP sécurisé

Couche Application

CryptageCoucheLiaison

CryptageCoucheLiaison

Couche Transport

SSHS/MIME

ApplicationCouches (5-7)

Réseau/TransportCouches (3-4)

Physique/LiaisonCouches (1-2)

SSL

Page 15: Virtual Private Networks

15

Choix de la technologie

• L’inconvénient des techniques de niveau applicatif est qu’elles sont spécifiques à l'application et doivent être implémentées à chaque nouvelle application

Couche Application

CryptageCoucheLiaison

CryptageCoucheLiaison

Couche Transport

SSHS/MIME

ApplicationCouches (5-7)

Réseau/TransportCouches (3-4)

Physique/LiaisonCouches (1-2)

SSL

Page 16: Virtual Private Networks

16

Choix de la technologie

• Le protocole SSL (Secure Socket Layer) fournit du cryptage, de l'authentification et de l'intégrité aux applications basées sur TCP

• SSL est communément utilisé par les sites de e-commerce mais manque de flexibilité, n'est pas facile à implémenter et dépend de l'application

Couche Application

CryptageCoucheLiaison

CryptageCoucheLiaison

Couche Transport

SSHS/MIME

ApplicationCouches (5-7)

Réseau/TransportCouches (3-4)

Physique/LiaisonCouches (1-2)

SSL

Page 17: Virtual Private Networks

17

Choix de la technologie

• La protection au niveau de la couche liaison coûte cher car elle doit être réalisée pour chaque intermédiaire (niveau liaison)

• Elle n'exclut pas l'intrusion au moyen de stations intermédiaires ou sur les routeurs

• Elle est très souvent propriétaire

Couche Application

CryptageCoucheLiaison

CryptageCoucheLiaison

Couche Transport

SSHS/MIME

ApplicationCouches (5-7)

Réseau/TransportCouches (3-4)

Physique/LiaisonCouches (1-2)

SSL

Page 18: Virtual Private Networks

18

Choix de la technologie

• Il existe plusieurs techniques « de niveau 3 », les plus utilisées sont L2TP (et encore un peu PPTP), GRE et IPsec

Couche Réseau

ApplicationCouches (5-7)

Réseau/TransportCouches (3-4)

Physique/LiaisonCouches (1-2)

IPSec

GRE

L2FL2TPPPTP

Protocoles VPN Description Standard

L2TP Layer 2 tunneling Protocol RFC 2661

GRE Generic Routing Encapsulation

RFC 1701 et 2784

IPSec Unternet Protocol Security RFC 2401

Page 19: Virtual Private Networks

19

Choix de la technologie

• Avant L2TP (Août 1999), Cisco utilisait L2F (Layer 2 Forwarding) qui est un protocole de tunneling propriétaire– L2TP est compatible avec L2F

– L2F n'est pas compatible avec L2TP

• L2TP est une cominaison de Cisco L2F et Microsoft PPTP– Microsoft supporte PPTP dans les anciennes versions de Windows

et PPTP/L2TP dans Windows NT/2000 et supérieur

Couche Réseau

ApplicationCouches (5-7)

Réseau/TransportCouches (3-4)

Physique/LiaisonCouches (1-2)

IPSec

GRE

L2FL2TPPPTP

Page 20: Virtual Private Networks

20

Choix de la technologie

L2F (cisco)

PPTP (microsoft)

L2TP IPsec

• L2F n’est plus utilisé• PPTP et L2TP sont encore utilisés pour faire des VPDN, mais

ils sont de moins en moins répandus

Page 21: Virtual Private Networks

21

• 10.10 émet un paquet à destination de 20.20

• A le reçoit, mais il ne peut l’envoyer vers B avec une @IP destination privée

• Pourtant, si ce paquet pouvait être livré tel quel à B, il pourrait continuer à voyager dans le réseau 20, comment faire ?

• Il faudrait faire en sorte que A crypte la paquet et l’envoie à B à travers une liaison point à point (comme si A et B étaient reliés directement l’un avec l’autre)

• C’est ce que font les protocole PPTP (Point to Point Tunneling Protocol) et L2TP (Layer 2 Tuneling Protocol) en encapsulant le paquet dans une trame PPP, puis en ré-encapsulant l’ensemble dans un paquet IP (via GRE pour PPTP ou UDP pour L2TP) à destination de B (!)

Choix de la technologie

198.168.10.0/24 198.168.20.0/24

198.168.10.10 198.168.20.20A B

Page 22: Virtual Private Networks

22

Choix de la technologie : PPTP192.168.10.0/24 192.168.20.0/24

192.168.10.10 192.168.20.20A B

192.168.10.10 192.168.20.20

192.168.10.10 192.168.20.20PPPGRE

DATA

DATA

crypté

############ ###############GRE ######195.150.23.44

195.150.23.44 193.25.238.17

193.25.238.17

Protocole PPTPRouteur A

• PPTP encapsule une trame PPP dans un paquet IP, via le protocole GRE (Generic Routing Encapsulation), c’est le canal de données

• GRE est utile car IP n’est pas fait pour encapsuler PPP

• PPTP utilise une deuxième connexion pour le contrôle (tcp/1723)

• PPTP permet d’établir des connexions PPP à travers un réseau IP comme Internet, qui n’est pas du tout fait pour cela

• L’authentification se fait par CHAP, le chiffrement par MPPE

Page 23: Virtual Private Networks

23

Choix de la technologie : L2TP

192.168.10.0/24 192.168.20.0/24

192.168.10.10 192.168.20.20A B

192.168.10.10 192.168.20.20

192.168.10.10 192.168.20.20PPPUDP

DATA

DATA

crypté

############ ###############UDP ######195.150.23.44

195.150.23.44 193.25.238.17

193.25.238.17

Protocole PPTPRouteur A

• L2TP Layer 2 Tunneling Protocol

• Encapsule le paquet IP dans une trame PPP et ré-encapsule l’ensemble dans UDP et IP

• UDP accepte d’encapsuler PPP

• IP encapsule naturellement UDP

Page 24: Virtual Private Networks

24

Choix de la technologie : IPsec

• IPSec est un bon choix pour sécuriser les VPNs d'entreprise• IPSEc est un ensemble de protocoles qui fournissent

l'authentification la confidentialité et l'intégrité des données entre les deux extrémités

• IPSec fournit ces services de sécurité en utilisant IKE (Internet Key Exchange) ou ISAKMP (Internet Security Association Key Management Protocol) pour :– négocier certains algorithmes par exemple de cryptage ou

d’échange de clefs– confronter les paramètres de sécurité (SA pour Securit

Association) de part et d’autre• IPSec ne permet pas le transport de paquets multicast

Page 25: Virtual Private Networks

25

VPN : termes clés

• Tunnel : technique d’encapsulation utilisée pour créer des liaison point à point « virtuelles »

• Exemple IP dans IP

TunnelInfos Infos

Page 26: Virtual Private Networks

26

VPN : termes clés

• Cryptage : – Symétrique

– Asymétrique

– Plus ou moins complexe

– Plus ou moins coûteux en calculs

Cryptage

SymétriqueClé secrète:DES, 3DES,AES

AsymétriqueClé publique:RSA

Page 27: Virtual Private Networks

27

VPN : termes clés

• Cryptage symétrique ou cryptage à clé secrète• Utilisé pour de grands volumes de données car beaucoup

moins gourmand en ressources CPU que les algorithmes asymétriques

• Durant l'échange, les clés peuvent changer plusieurs fois• L’important ici est de bien protéger la clé

Cryptage Décryptage

MessageCryptéInfos Infos

Clé secrètepartagée Clé secrète

partagée

Page 28: Virtual Private Networks

28

VPN : termes clés

• Il a de nombreuses technologies de cryptage disponibles pour fournir de la confidentialité

• DES (Data Encryption Standard) crypte les paquets avec une clé d'une longueur de 56 bits.

• A sa création dans les années 1970, DES paraissait inviolable• Aujourd'hui, le cryptage DES peut être décodé assez facilement

DES ?

Page 29: Virtual Private Networks

29

VPN : termes clés

• 3DES utilise une clé d'une longueur de 168 bits et exécute trois opérations DES en séquence

• 3DES est 256 fois plus fiable que DES• AES (Advanced Encryption Standard) utilise des clés de

longueur 128, 192 ou 256 bits pour crypter des blocs de 128, 192 ou 256 bits (les 9 combinaisons de tailles de clés et de tailles de blocs sont possibles)

3DES ? AES ?

Page 30: Virtual Private Networks

30

VPN : termes clés

• Dans le cas du cryptage asymétrique, un message codé avec la clé publique ne peut être décodé qu’avec la clé privée

• Les mécanismes utilisés pour générer les paires de clés sont complexes et permettent de garantir l'unicité de la paire clé publique/clé privée

• Les algorithmes de crytage à clé publique sont souvent utilisés pour : – l’authentification– le transport de clés

• Les algorithmes les plus connus sont : RSA (Rivest, Shamir, Adleman) et El Gamal

Cryptage Décryptage

MessageCryptéInfos Infos

Clé publiquedu receveur

Clé privéedu receveur

• La clé privée est connue uniquement par le récepteur• La clé publique est diffusée à qui la demande

Page 31: Virtual Private Networks

31

VPN : termes clés

• Hachage : technique utilisée pour garantir l’intégrité des données

• Utilise une clé secrète• Largement utilisé pour transporter des messages qui sont en

fait des clés

Local Distant

Payer à JC Puce50 € et 22 cents

Clé secrètepartagée Clé secrète

partagée

Payer à JC Puce50 € et 22 cents

Payer à JC Puce50 € et 22 cents

Message delongueur variable Message reçu

4ehlDx67NM0p94ehlDx67NM0p9

4ehlDx67NM0p9

Message + Hash

Fonctionde Hachage Fonction

de Hachage

Page 32: Virtual Private Networks

32

VPN : termes clés

• Les deux algorithmes de hachage les plus communs sont :– HMAC-MD5 - utilise une clé secrète de 128 bits

• A la sortie l'algorithme donne une valeur "hash" de 128 bits• La valeur "hash" est ajouté en fin de message et le tout est transmis

vers l'autre extrémité

– HMAC- SHA1 - Utilise une clé secrète de 160 bits• A la sortie l'algorithme donne une valeur "hash" de 160 bits• La valeur "hash" est ajouté en fin de message et le tout est transmis

vers l'autre extrémité

• HMAC-SHA1 est considéré comme étant plus robuste que HMAC-MD5

Page 33: Virtual Private Networks

33

VPN : termes clés

• Gestion des clés : quand on monte un tunnel VPN, on utilise plusieurs clés

• Ces clés doivent être créées, changées, transmises, etc…• Il faudra choisir une stratégie de gestion des clés

Gestion de clés

Gestion Manuelle Echange de clés secètesDiffie-Hellman

Echange de clés publiquesAutorité de Certificats

Page 34: Virtual Private Networks

34

VPN : termes clés

• L'algorithme Diffie-Hellman est un moyen pour deux firewalls, A et B, de calculer une clé secrète partagée sans jamais la transmettre

• Cette clé secrète peut être établie même si le canal de communication n'est pas sécurisé

• Cette clé sera utilisée pour crypter les données avec l'algorithme choisi par A et B

Routeur A Routeur B

Réalise un échange authentifié de clés

YA

YB

YA= gXA mod p YB= gXB mod p

Valeur privée XA

Valeur publique YA

Valeur privée XB

Valeur publique YB

YBXA mod p = k YA

XB mod p = k

Page 35: Virtual Private Networks

35

VPN : termes clés

• p et g sont choisis par A et B tels que n > g > 1• p est choisi très grand : 1024 bits par exemple• p et g peuvent être échangés sur un lien non sécurisé (on

accepte qu’un éventuel pirate entande p et g)

• A choisit XA aléatoire et B choisit XB aléatoire

Routeur A Routeur B

p et g en accord avec BXA aléatoire

p et g en accord avec AXB aléatoire

échange de p et g

Page 36: Virtual Private Networks

36

VPN : termes clés

• A calcule YA et B calcule YB

• YA et YB sont échangés sur le canal sécurisé

• le pirate peut intercepter YA et YB, il ne pourra recalculer XA et XB

• A calcule k et B calcule k’• En fait k = k’ = K, servira de clé privée• K ne peut être recalculée à partir de ce que le pirate a pu entendre

(c’est-à-dire p, g, YA et YB )

Routeur A Routeur B

YA

YB

YA= gXA mod p YB= gXB mod p

YBXA mod p = k YA

XB mod p = k’

p et g en accord avec BXA aléatoire

p et g en accord avec AXB aléatoire

En fait k = k’

Page 37: Virtual Private Networks

37

VPN : termes clés

• Les outils sont maintenant expliqués :– Tunnel– Cryptage– Hachage– Gestion des clés

• Ils vont être utilisés par les différents protocoles qui participent à la création d’un VPN

• Les deux firewalls qui cherchent à monter un VPN doivent utiliser la même combinaison de cet ensemble d’outils

Page 38: Virtual Private Networks

38

IPSec

IPsec

SPD

SAD

Administrateur

IKE

demande la création d’une SA

négocie, modifie, supprime

alerte

configure

consulte

consulte

pointe vers

Security Assocition Database

Security Policy Database

Internet Key Exchange

Page 39: Virtual Private Networks

39

IPsec, AH et ESP en mode tunnel • Les routeurs ont accès à une base de

données SPD qui contient la définition des flux devant être sécurisés (access list)

• Ils exploitent par ailleurs une base de données SAD qui contient plusieurs jeux de paramétrage d’IPsec

• Un paramétrage d’IPsec est appelé SA (Security Association) et correspond à un certain niveau de sécurité

• Le SA qui doit être appliqué est choisi pour chaque paquet en utilisant le SPI (Security Parameter Index) récupéré dans la SPD et qui sera joint dans l’en-tête AH

• Le module IKE permet une bonne gestion des clefs (diffusion, renouvellement)

IPsec

SPD

SAD

Administrateur

IKE

demande la création d’une SA

négocie, modifie, supprime

alerte

configure

consulte

consultepointe vers

Security Assocition Database

Security Policy Database

Internet Key Exchange

Page 40: Virtual Private Networks

40

IPSec : protocoles

• Authenticaton Header (AH)• Encapsulation Payload (ESP)• Security Association (SA)• Internet Key Exchange (IKE)• Internet Security Association Key Management Protocol

(ISAKMP)

Page 41: Virtual Private Networks

41

IPSec : AH

• AH (Authentication Header) - Protocole de sécurité qui fournit l'authentification, l'intégrité des données

• AH est dans la charge utile du paquet

En-têt

eIP

En-têt

eIP

Sec

Char

ge U

tile

IP

sécu

risé

e

En-têteIP

En-têteIPSec

Charge utile IPsécurisé

En-têteIP

Charge utile IP

En-têteIP

Charge utile IP

Sytèmeavec IPsec

Internetou Réseau Privé

En-t

ête

IPEn-t

ête

IPSec

Charg

e U

tile

IP

sécu

risé

e

Sequence Number

Données authentifiées(Variable)

Security Parameters Index (SPI)

Next Header PayloadLength RESERVED

Page 42: Virtual Private Networks

42

IPSec : ESP

• ESP (Encapsulation Security payload) - Protocole de sécurité qui fournit la confidentialité (entre autres)

• ESP encapsule les données à protéger

En-têteIP original

TCP DonnéesIPv4

(a) Paquet IP original

En-têteIP original

TCP DonnéesEn-tête

ESPQueue

ESPAuthESP

(b) Mode Transport

Authentifié

Crypté

IPv4

En-têteIP original

TCP DonnéesEn-tête

ESPQueue

ESPAuthESP

NouveauEn-tête IP

(c) Mode Tunnel

Authentifié

Crypté

IPv4

Page 43: Virtual Private Networks

43

IPsec, AH et ESP en mode transport

• En mode transport, les en-tête IP d’origine sont conservés• Il est utilisé pour sécuriser la communication entre deux postes

ayant des adresses publiques • Ce n’est donc pas ce mode qui sera utilisé pour réaliser un VPN,

puisque nous souhaitons adresser des machines privées• On peut utiliser cette technique pour sécuriser la communication

entre une machine publique sur Internet (l’administrateur depuis son domicile par exemple) et un serveur publique (pour du paramétrage à distance par exemple), mais pour ce cas, il existe d’autres techniques comme SSH (Secure Shell)

Page 44: Virtual Private Networks

44

IPsec, AH et ESP en mode transport

ESP DATAAHEn-tête IP ESP

crypté (ESP)

authentifié (AH)

Utilisation de AH et de ESP en mode transport

En-tête IP DATAIP

IPsec

• AH et ESP peuvent, dans ce mode, être vus comme un protocole intermédiaire entre TCP et IP• L’en-tête IP doit porter des adresses publiques pour voyager à travers Internet

Page 45: Virtual Private Networks

45

IPsec, AH et ESP en mode transport

Serveur avec adresse publique

Poste avec adresse publique

• IPsec permet de sécuriser les échanges entre un poste publique et un serveur publique• Ce cas particulier correspond en fait à une application particulière (donner des ordres au

système du serveur) et doit donc être sécurisé au niveau application• Dans ce cas on utilisera plutôt SSH qui sécurise au niveau application, en fournissant un

interpréteur de commandes sécurisé

Internet

Page 46: Virtual Private Networks

46

IPsec, AH et ESP en mode tunnel

• En mode tunnel, les en-tête d’origine sont cryptés, et un autre en-tête IP sera ajouté (on encapsule de l’IP dans de l’IP)

• Il est utilisé pour sécuriser la communication entre deux équipements d’interconnexion (entre des routeurs ou des firewalls)

• C’est le mode qui sera utilisé pour réaliser un VPN, puisque nous souhaitons adresser des machines privées

• C’est la technique la plus répandue pour faire du LAN to LAN VPN

Page 47: Virtual Private Networks

47

IPsec, AH et ESP en mode tunnel

ESP En-tête IP (ancienne) DATAAHEn-tête IP (nouvelle) ESP

crypté (ESP)

authentifié (AH)

Utilisation de AH et de ESP en mode tunnel

• ESP crypte le paquet d’origine, en-tête IP compris• AH assure l’authentification et l’intégrité de l’ensemble• L’en-tête IP initiale peut contenir des adresses privées puisqu’elle n’est pas utilisée par les

routeurs d’Internet• L’en-tête IP ajouté portera les @ IP des routeurs (ou firewalls) d’interconnexion, qui sont

forcément publiques

En-tête IP (ancienne) DATAIP

IPsec

Page 48: Virtual Private Networks

48

IPsec, AH et ESP en mode tunnel

Réseau privé Serveurs privésInternet

• IPsec sécurise les échanges entre les routeurs d’interconnexion• Il encapsule des paquets portant des @IP privées dans des paquets portant des @IP publiques• Le passage à travers Internet est complètement transparent pour les deux réseaux privés• Les routeurs deviennent alors le lieu d’application de la politique des échanges sécurisés,

puisque seule certaines communications seront cryptées

Page 49: Virtual Private Networks

49

IPSec : SA

• SA (Security Association) : c’est l’ensemble de principes (politiques) et de clés utilisés pour protéger l'information

• Plusieurs SA sont utiles pour « monter » un tunnel IPSec– il faut une SA pour IKE (tunnel de service, on dit aussi SA ISAKMP)– il faut une SA pour IPSec (tunnel de données)

• Les SAs ISAKMP sont bidirectionnelles

• Les SAs IPSec sont unidirectionnelles

• Les équipements VPN stockent leurs SAs dans une base de données locale appelée la SA Database (SAD)

Page 50: Virtual Private Networks

50

IPSec : SA IKE

• Exemple de SA IKE (on dit aussi SA ISAKMP)

Transform 15DESMD5

pre-shareDH1

lifetime

Transform 10DESMD5

pre-shareDH1

lifetime

IKE Policy Sets

Transform 203DESSHA

pre-shareDH1

lifetime

Host A Host BRouter A Router B

10.0.1.3 10.0.2.3Negotiate IKE Proposals

Page 51: Virtual Private Networks

51

IPSec : exemple de SA IPSec

• Exemple de SA IPSec : pour le trafic entre A et B, utilisez ESP 3DES avec les clés K1,K2 et K3 pour le cryptage de la charge utile, SHA-1 avec la clé K4 pour l'authentification

Transform set 55ESP

3DESSHA

TunnelLifetime

Transform set 30ESP

3DESSHA

TunnelLifetime

IPSec Transform Sets

Transform set 40ESPDESMD5

TunnelLifetime

Host A Host BRouter A Router B

10.0.1.3 10.0.2.3Negotiate transform sets

Page 52: Virtual Private Networks

52

IPSec : IKE

• IKE est un protocole utile pour négocier une partie de la politique de sécurité (Security Association : SA) qui servira pour l’échange des données

• IKE est orienté gestion des clés• IKE est issu des anciens protocoles de gestion de clés SKEME

et Oakley• IKE fonctionne dans le cadre de ISAKMP• IKE n’est pas le seul protocole de gestion de clés disponible,

mais il est le seul utilisé en pratique pour IPSec

IPSec

IKE IKE

IPSec

Routeur A Routeur B

Tunnel IKE

Page 53: Virtual Private Networks

53

IPSec : ISAKMP

A B

A vers BESP/DES/SHA-1Keys K1,K2,...lifetime=3600s

B vers AESP/DES/SHA-1keys K6,K7,...lifetime=3600s

SADB SADB

Accèsclient

Accèsclient

A vers BESP/DES/SHA-1Keys K1,K2,...lifetime=3600s

B vers AESP/DES/SHA-1keys K6,K7,...lifetime=3600s

BackboneOpérateur

• La négociation des SAs ne concerne pas que la gestion des clés• ISAKMP est le protocole « cadre » qui va permettre à IKE de

fonctionner, mais il sert aussi à négocier les autres paramètres des SAs

• ISAKMP sert à négocier les SAs, mais n’impose rien quant aux paramètres qui composent ces SAs

• ISAKMP définit les procédures et les formats de paquets pour créer, gérer, détruire des SAs

• ISAKMP permet aussi d’authentifier les partenaires d’une SA

Page 54: Virtual Private Networks

54

IPSec : ISAKMP

• On parle de tunnel ISAKMP• ISAKMP est le tunnel de service du tunnel IPSec : il fonctionne

donc avec cryptage et a donc lui aussi une SA• Il doit obligatoirement fonctionner et permettre la négociation

de la politique de sécurité du tunnel de données pour que IPSec fonctionne

A B

A vers BESP/DES/SHA-1Keys K1,K2,...lifetime=3600s

B vers AESP/DES/SHA-1keys K6,K7,...lifetime=3600s

SADB SADB

Accèsclient

Accèsclient

A vers BESP/DES/SHA-1Keys K1,K2,...lifetime=3600s

B vers AESP/DES/SHA-1keys K6,K7,...lifetime=3600s

BackboneOpérateur

Page 55: Virtual Private Networks

55

IPSec : les 5 étapes

• On distigue 5 étapes lors de l’utilisation d’un tunnel VPN

Host A Host B

Routeur A Routeur B

1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1

3. Les routeurs négocient une session IKE Phase 2

4. Les information sont échangées via le Tunnel IPSec

5. Le tunnel IPSec est libéré.

IKE SA IKE SAIKE Phase 1

IKE SA IKE SAIKE Phase 2

Page 56: Virtual Private Networks

56

IPSec : les 5 étapes

• Etape 1 : A reconnaît des informations à transmettre vers le B par le VPN

• le trafic est dit "intéressant" quand l'équipement VPN reconnaît que les données doivent être protégées : définition d’une ACL

Host A Host B

Routeur A Routeur B

1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1

3. Les routeurs négocient une session IKE Phase 2

4. Les information sont échangées via le Tunnel IPSec

5. Le tunnel IPSec est libéré.

IKE SA IKE SAIKE Phase 1

IKE SA IKE SAIKE Phase 2

Page 57: Virtual Private Networks

57

IPSec : les 5 étapes

• Etape 2 : – IKE Phase 1 authentifie les extrémités IPSec et négocie la SA IKE (ou

SA ISAKMP)

– Ceci crée un canal sécurisé pour négocier les SAs IPSec en Phase 2

Host A Host B

Routeur A Routeur B

1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1

3. Les routeurs négocient une session IKE Phase 2

4. Les information sont échangées via le Tunnel IPSec

5. Le tunnel IPSec est libéré.

IKE SA IKE SAIKE Phase 1

IKE SA IKE SAIKE Phase 2

Page 58: Virtual Private Networks

58

IKE : les modes

IKE phase 1 : Main Mode ou Aggressive Mode

Négociation de la SA ISAKMP

IKE phase 2 : Quick Mode

Négociation de la SA IPSec

Page 59: Virtual Private Networks

59

IKE phase 1

• IKE essentiellement comprend 3 modes :

– Main Mode

– Aggressive Mode

– Quick Mode

– Le « aggressive mode » est presque identique au « main mode » : il utilise 3 messages au lieu de 6

– Par défaut, les routeurs utilisent le Main Mode

Phase 1 de ISAKMP

Phase 2 de ISAKMP

Page 60: Virtual Private Networks

60

IKE phase 1

• Le Main Mode est composé de trois étapes :

– négociation d’une SA ISAKMP

– établissement d’un secret partagé par Diffie Hellman

– échanges des identités (en crypté)

Page 61: Virtual Private Networks

61

Les 3 étapes du Main Mode d’IKE phase 1

• Le Main Mode sert à la négociation :– de la méthode d’authentification (signature numérique,

authentification par chiffrement à clé publique ou secret partagé)

– de l’algorithme de chiffrement

– de la fonction de hachage

– du groupe mathématique relatif à Diffie Hellman

– Cet ensemble constitue la SA ISAKMP

• Le Main Mode utilise Diffie Hellman pour l’établissement d’un secret partagé qui permet de créer des clés pour :– l’algorithme de chiffrement de la SA ISAKMP

– l’algorithme de hachage de la SA ISAKMP

– Une fois cette étape franchie, le tunnel ISAKMP est crypté

• Enfin le Main Mode permet aux deux firewalls d’échanger leurs identités pour réaliser l’authentification

Page 62: Virtual Private Networks

62

Les 3 étapes du Main Mode d’IKE phase 1

• La négociation se fait de la façon suivante : – l’initiateur propose plusieurs combinaisons d’algorithmes

– le partenaire IKE en choisit une

3DESSHARSA signatureDH groupe 2

choix 1

DESMD5Pre-sharedDH groupe 1

choix 2

Propositions

Négociation des paramètres IKE

3DESSHARSA signatureDH groupe 2

choix 1

Sélection

Page 63: Virtual Private Networks

63

IKE phase 2

• Une fois la SA ISAKMP mise en place grâce à la phase 1, le Quick Mode est utilisé pour négocier les SAs IPSec

• La négociation doit aboutir à l’obtention de deux jeux de SAs

De A vers B :SA1

De A vers B :SA1

De B vers A :SA2

De B vers A :SA2

A B

Page 64: Virtual Private Networks

64

IPSec : les 5 étapes

• Etape 3 : – IKE phase 2 négocie les SAs IPSec en cherchant une correspondance

entre les SAs IPSec des extrémités

Host A Host B

Routeur A Routeur B

1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1

3. Les routeurs négocient une session IKE Phase 2

4. Les information sont échangées via le Tunnel IPSec

5. Le tunnel IPSec est libéré.

IKE SA IKE SAIKE Phase 1

IKE SA IKE SAIKE Phase 2

Page 65: Virtual Private Networks

65

IPSec : les 5 étapes

• Etape 4 : – Le transfert de données est effectué entre les extrémités IPSec sur la

base des paramètres IPSec et des clés stockées dans les SAs négociées en étape 3

Host A Host B

Routeur A Routeur B

1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1

3. Les routeurs négocient une session IKE Phase 2

4. Les information sont échangées via le Tunnel IPSec

5. Le tunnel IPSec est libéré.

IKE SA IKE SAIKE Phase 1

IKE SA IKE SAIKE Phase 2

Page 66: Virtual Private Networks

66

IPSec : les 5 étapes

• Etape 5 : – La libération du tunnel IPSec survient quand la session qui a motivé le

montage du VPN se termine ou sur « time out »

Host A Host B

Routeur A Routeur B

1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1

3. Les routeurs négocient une session IKE Phase 2

4. Les information sont échangées via le Tunnel IPSec

5. Le tunnel IPSec est libéré.

IKE SA IKE SAIKE Phase 1

IKE SA IKE SAIKE Phase 2

Page 67: Virtual Private Networks

67

IPSec : les 5 étapes

Cryptage?

SA IPSec?

SA IKE?

Authentificationavec CA?

Transmettresur interface

Cryptage dupaquet et

transmission

Négocie les SAsIPSec avec SAISAKMP

Négocie les SAsISAKMP avec l'extrémité

Récupère la clé publique du CARécupère le certificat pour sa propreclé publique.

access-list 1XX permit

crypto ipsectransform-setcrypto map name

crypto isakmp policycrypto isakmp identitycrypto key generatecrypto key public-chain

crypto ca identitycrypto ca authenticatecrypto ca enrollcrypto ca crl request

IOSLe trafic est choisiavec les listes d'accès

IPSec

ISAKMP

Certificate Authorities CA :Authentification des clés publiques

Non

Non

Non

Non

Oui

Oui

Oui

Oui

Clés

Page 68: Virtual Private Networks

68

Mise en oeuvre

VPN 1

Table des VPNs(appliquée à une interface)

VPN 2

ACL 1

ACL 2

Une entrée dans la table par VPN

Appliqué à une interface : 1 map par interface

SA ISAKMP 1

SA ISAKMP 2

SA IPSec 1

SA IPSec 2

Page 69: Virtual Private Networks

69

Critique d’IPSec

• Les performances sur le lien IPSec sont réduites à cause du chiffrement

• IPSec ne supporte pas le multicast : AH et ESP l’autorisent, mais IKE ne prévoit pas de négocier des SAs entre plus de deux firewalls

• La complexité de IKE conduit à des incompatibilités entre les différents constructeurs

• Le trafic est suspendu pendant le renouvellement des SAs

• La gestion des messages ICMP n’est pas triviale : si un message ICMP vient d’un équipement par lequel transite le tunnel, il ne peut remonter que jusqu’au firewall d’origine. Il faut alors que ce firewall sache prévenir la vraie source des données pour lui faire comprendre que le VPN est indisponible

• Il ne doit pas y avoir de NAT au dessus de VPN (le NAT en dessous de VPN est courant, voire obligatoire sur un firewall)