You are on page 1of 39

Virtual Private Network

Ramzi Ouafi Assistant Technologue ESPRIT e-mail : ouafiramzi@gmail.com

Quest ce quun VPN


Abrviation de langlais Virtual Private Network ou encore Rseau Priv Virtuel (RPV) en franais Les VPNs permettent de crer un chemin virtuel scuris entre une source et une destination grce un principe de tunnel (tunnelling) dont chaque extrmit est identifie, les donnes transitent aprs avoir t chiffres. De manire succincte, les proprits gnrales des tunnels destins aux VPNs :
Les donnes transitant sont chiffres (confidentialit) et protges (intgrit) Les 2 extrmits sont authentifies Les adresses sources et destinations sont chiffres, avec IPSec (IP dans IPSec). Ils peuvent prsenter, suivant le protocole, des qualits anti-rejeux ou empcher les attaques type man-in-the-middle.

Utilisation cible
Relier deux rseaux privs travers un rseau public . Permettre des accs distants aux utilisateurs nomades ESPRIT 2008 Ramzi Ouafi

Fonctionnalits des VPN


Le VPN d'accs

Le VPN intranet

ESPRIT 2008 Ramzi Ouafi

Objectifs et services communs des VPNs


Objectifs des VPNs : mise en oeuvre les fonctionnalits suivantes : Authentification d'utilisateur. Seuls les utilisateurs autoriss doivent pouvoir s'identifier sur le rseau virtuel. De plus, un historique des connexions et des actions effectues sur le rseau doit tre conserv. Gestion d'adresses. Chaque client sur le rseau doit avoir une adresse prive. Cette adresse prive doit rester confidentielle. Un nouveau client doit pouvoir se connecter facilement au rseau et recevoir une adresse. Cryptage des donnes. Lors de leurs transports sur le rseau public les donnes doivent tre protges par un cryptage efficace. Gestion de cls. Les cls de cryptage pour le client et le serveur doivent pouvoir tre gnres et rgnres. Prise en charge multiprotocole. La solution VPN doit supporter les protocoles les plus utiliss sur les rseaux publics en particulier IP
ESPRIT 2008 Ramzi Ouafi

Intranet VPN : chiffrement

ESPRIT 2008 Ramzi Ouafi

Comment ?
Le VPN fait appel deux moyens:
Lencapsulation La cryptage

Utilisation de la techniques de chiffrement symtrique et asymtrique Pour lauthentification des parties Pour la confidentialit et intgrit de donnes Travail au niveau des couches 2 et 3 pour simuler une connexion rseau et rendre le VPN transparent aux services qui lutilisent

,L2F

ESPRIT 2008 Ramzi Ouafi

Les principaux protocoles VPN


Les principaux protocoles de tunneling VPN sont les suivants :
PPTP (Point-to-Point Tunneling Protocol) est un protocole de niveau 2 dvelopp par Microsoft, 3Com, Ascend, US Robotics et ECI Telematics. L2F (Layer Two Forwarding) est un protocole de niveau 2 dvelopp par Cisco, Northern Telecom et Shiva. Il est dsormais quasi-obsolte L2TP (Layer Two Tunneling Protocol) est l'aboutissement des travaux de l'IETF (RFC 2661) pour faire converger les fonctionnalits de PPTP et L2F. Il s'agit ainsi d'un protocole de niveau 2 s'appuyant sur PPP. IPSec est un protocole de niveau 3, issu des travaux de l'IETF, permettant de transporter des donnes chiffres pour les rseaux IP.

ESPRIT 2008 Ramzi Ouafi

Implmentations des VPNs


Le VPN est avant tout un concept : il ne dcrit pas l'implmentation effective de ces caractristiques. C'est pourquoi il existe plusieurs produits diffrents sur le march dont certains sont devenus standard, et mme considrs comme des normes. Plusieurs implmentations possibles
VPN SSL, IPsec, etc

Une initiative fdre: le Consortium VPN gre linteroprabilit des solutions existantes
http://www.vpnc.org

Solutions logicelles
Microsoft, Linux FreeS/WAN, openvpn

Solution compltes intgrant le matriel et le logiciel


Cisco, Nokia/CheckPoint, Fortiguard

ESPRIT 2008 Ramzi Ouafi

VPN niveau 3 : IPSEC


IPSec (Internet Protocol Security) RFC 2401 est un protocole de la couche 3 de lOSI: Est un ensemble de mcanismes destins protger le trafic au niveau dIP (IPv4 ou IPv6).
Optionnel dans IPv4, IPsec est obligatoire pour toute implmentation de IPv6.

Dvelopp par le groupe de travail lIETF (Internet Engineering Task Force), RFC 2401 : Security Architecture for the Internet Protocol. Les services IPSec sont fournis au niveau de la couche IP, offrant donc une protection pour IP et tous les protocoles de niveau suprieur. Au niveau couches protocolaires, IPSEC se place entre IP et TCP/UDP Avantages par rapport aux solutions existantes : interoprabilit, cryptage au niveau 3 (niv 2 : dpendance par rapport au rseau, niv 7: dpendance par rapport lapplication) Fait appel plusieurs notions la fois:
Echange des clefs Cryptage Authentification Type du tunnel. ESPRIT 2008 Ramzi Ouafi

Les services offerts par IPSec


Comme tout type de VPN, IPSec offre les proprits basiques des tunnels de chiffrement. Particularits de lIPSec par rapport aux autres types de VPN Authentification mutuelles des extrmits : Remarque : IPSec est un protocole de niveau 3 et qu'il ne fournit donc qu'une authentification de niveau gal, c'est--dire une authentification des machines mettant en uvre le protocole plutt que des personnes utilisant rellement la machine. Confidentialit des donnes changes : IPSec permet si on le dsire de chiffrer le contenu de chaque paquet IP pour viter que quiconque ne le lise. Authenticit des donnes : IPSec permet de s'assurer, pour chaque paquet chang, qu'il a bien t mis par la bonne machine et qu'il est bien destination de la seconde machine. Intgrit des donnes changes : IPSec permet de s'assurer qu'aucun paquet n'a subit de modification quelconque (attaque dite active) durant son trajet. Protection contre les coutes et analyses de trafic : IPSec permet de chiffrer les adresses IP relles de la source et de la destination, ainsi que tout l'entte IP correspondant. C'est le mode de tunneling, qui empche tout attaquant l'coute d'infrer des informations sur les identits relles des extrmits du tunnel, sur les protocoles utiliss au-dessus d'IPSec, sur l'application utilisant le tunnel (timing-attacks et autres)... Protection contre le rejeu : IPSec permet de se prmunir contre les attaques consistant capturer un ou plusieurs paquets dans le but de les envoyer nouveau (sans pour autant les avoir dchiffrs) pour bnficier des mme avantages que l'envoyeur initial.

ESPRIT 2008 Ramzi Ouafi

10

Les diffrents modes IPSec


IPSec supporte deux modes: Le mode transport: Le mode transport permet de protger principalement les protocoles de niveaux suprieurs: ne modifie pas l'en-tte initial; il s'intercale entre le protocole rseau (IP) et le protocole de transport (TCP, UDP...) Le mode tunnel: permet d'encapsuler des datagrammes IP dans des datagrammes IP: Il y a donc une entte IP encapsule dans les donnes IPSec et une entte IP relle pour le transport sur le rseau public Le mode transport : En mode transport, la session IPSec est tablie entre deux hosts. Avantages: la session est scurise de bout en bout Inconvnients: ncessit dune implmentation de IPSec sur tous les hosts; autant de sessions IPSec que de couples de hosts En mode tunnel, la session IPSec est tablie entre deux passerelles IPSec, ou un host et une passerelle Avantages: lensemble des communications traversant les passerelles VPN peuvent tre scurises; pas de modification des hosts On a le contrle total sur l'entte IP produite par IPSec pour encapsuler ses donnes et son entte IPSec Inconvnients: ncessite des passerelles VPN Latence : application des services cryptographiques sur tout le paquet IP

ESPRIT 2008 Ramzi Ouafi

11

Mode de protection IPSEC

ESPRIT 2008 Ramzi Ouafi

12

Les composants dIPSec


Le protocole IPSec est bas sur quatre modules : Le type du protocole : IP Authentification Header (AH) gre: Encapsulating Security Payload (ESP) Security Association (SA) dfinit l'change des cls et des paramtres de scurit. La SAD (Security Association Database) stocke les SA afin de savoir comment traiter les paquets arrivant ou partant. La SPD (Security Policy Database) est la base de configuration de IPSec..
ESPRIT 2008 Ramzi Ouafi

13

IPSec/AH
lAuthentication Header (AH) Le principe de AH est dadjoindre au datagramme IP classique un champ supplmentaire permettant au rcepteur de vrifier lauthenticit des donnes incluses dans le datagramme (hash sign) LAH gre L'intgrit : on s'assure que les champs invariants pendant la transmission, dans Lentte IP qui prcde l'entte AH et les donnes L'authentification pour s'assurer que l'metteur est bien celui qu'il dit tre La protection contre le rejeu : un paquet intercept par un pirate ne peut pas tre renvoy Il ne gre pas la confidentialit : les donnes sont signes mais pas crypte.

Il supporte les deux modes transport / tunnel


ESPRIT 2008 Ramzi Ouafi

14

IPSec/AH mode transport

FIG. Authentification Header


ESPRIT 2008 Ramzi Ouafi

IPSec/AH mode Tunnel

ESPRIT 2008 Ramzi Ouafi

16

IPSec/ESP
lEncapsulating Security Payload (ESP). Le principe de ESP est de gnrer, partir dun datagramme IP classique, un nouveau datagramme dans lequel les donnes et ventuellement len-tte originale sont chiffrs. code d authentification de message (hash sign) et chiffrement des donnes En mode transport, il assure Confidentialit : les donnes du datagramme IP encapsul sont cryptes Authentification : on s'assure que les paquets viennent bien de l'hte avec lequel on communique (qui doit connatre la cl associe la communication ESP pour s'authentifier) L'unicit optionnelle contre le rejeu des paquets L'intgrit des donnes transmises En mode tunnel, c'est l'ensemble du datagramme IP encapsul dans ESP qui est crypt et subit les vrifications de

ESPRIT 2008 Ramzi Ouafi

17

IPSec/ESP

ESPRIT 2008 Ramzi Ouafi

18

IPSec/ESP

FIG. Encapsulating Security Payload

ESPRIT 2008 Ramzi Ouafi

19

IPsec Services
Algorithmes cryptographiques : AH et ESP sont utilisables avec de nombreux algorithmes cryptographiques : les RFCs n'imposent pas d'algorithme particulier. Chaque produit comportant IPsec sera donc livr avec un ensemble d'algorithmes, parmi lesquels l'utilisateur ou l'administrateur du rseau pourront choisir. Chiffrement : NULL, CAST-128 (clef de 40 128 bits), Blowfish (40-448 bits), RC5(40-2040 bits), DES (56 bits), DES triple (168 bits).... Authenticit : HMAC-MD5, HMAC-SHA-1

ESPRIT 2008 Ramzi Ouafi

20

Security Association
Afin de grer ces paramtres, IPsec a recours la notion dassociation de scurit (Security Association, SA). Une association de scurit IPsec est une connexion simplexe qui fournit des services de scurit au trafic quelle transporte. La Security Assocation (SA) dfinit l'change des cls et des paramtres de scurit. Il existe une SA par sens de communication. Les paramtres de scurit sont les suivants : Protocole AH et/ou ESP Mode tunnel ou transport Les algo de scurit utiliser pour crypter, vrifier l'intgrit Les cls utilises De fait, chaque association est identifie de manire unique laide dun triplet compos de : Ladresse de destination des paquets. Lidentifiant dun protocole de scurit (AH ou ESP). Un index des paramtres de scurit (Security Parameter Index, SPI). Un SPI est un bloc de 32 bits inscrit en clair dans len-tte de chaque paquet chang ; il est choisi par le rcepteur. ESPRIT 2008 Ramzi Ouafi

21

SAD / SPD
La SAD : Security Association Database: Pour grer les associations de scurit actives, on utilise une base de donnes des associations de scurit (Security Association Database, SAD). Elle stocke les SA afin de savoir comment traiter les paquets arrivant ou partant Chaque SA est identifie par les 3 paramtres cits ci-dessus La SPD (Security Policy Database): Elle est la base de configuration de IPSec. Cest une liste ordonne d'entres contenant des critres de contrle d'accs similaire aux rgles dun pare-feu Il y a 2 SPDs par interfaces, une pour le trafic entrant, l'autre pour le trafic sortant Les traitements possible par une SPD sont : DROP (jette), BYPASS (laisse passer) IPSec PROCESS (traitement avec IPSec). Ce dernier cas prcise en outre les paramtres propres IPSec tel que l'algorithme, etc...

ESPRIT 2008 Ramzi Ouafi

22

ISAKMP
Une SA peut tre configure manuellement dans le cas dune situation simple, mais la rgle gnrale est dutiliser un protocole spcifique qui permet la ngociation dynamique des SA et notamment lchange des clefs de session. Le protocole de ngociation des SA dvelopp pour IPsec sappelle protocole de gestion des clefs et des associations de scurit pour Internet (Internet Security Association and Key Management Protocol, ISAKMP).Il comporte trois aspects principaux : Il dfinit une faon de procder, en deux tapes appeles phase 1 et phase 2 : Dans la premire, un certain nombre de paramtres de scurit propres ISAKMP sont mis en place, afin d'tablir entre les deux tiers un canal protg ; Dans un second temps, Ce canal est utilis pour ngocier les associations de scurit pour les mcanismes de scurit que l'on souhaite utiliser (AH et ESP par exemple). Il dfinit des formats de messages, par l'intermdiaire de blocs ayant chacun un rle prcis et permettant de former des messages clairs. Il prsente un certain nombre d'changes types, composs de tels messages, qui permettant des ngociations prsentant des proprits diffrentes : protection ou non de l'identit,

ESPRIT 2008 Ramzi Ouafi

23

IKE (Internet Key Exchange)


IKE utilise ISAKMP pour construire un protocole pratique. Avant l change des donnes scuris par AH ou ESP, les deux peers utilisent le protocole IKE (500/UDP) pour :
ngocier les algorithmes utiliss et la longueur des cls gnrer la cl asymtrique de chiffrement par Diffie-Hellman spcifier la dure de vie des cls spcifier la dure de vie de la SA (Security Association ~ tunnel) principale

Il comprend quatre modes :


Le mode principal (Main mode): Le mode agressif (Aggressive Mode) Le mode rapide (Quick Mode) Le mode nouveau groupe (New Groupe Mode) Main Mode et Aggressive Mode sont utiliss durant la phase 1, Quick Mode est un change de phase 2. New Group Mode se mettre d'accord sur un nouveau groupe pour de futurs changes Diffie-Hellman une fois qu'une SA ISAKMP est tablie

IKE n est pas obligatoire (manual IPSEC) mais fortement conseill


ESPRIT 2008 Ramzi Ouafi

24

IKE (Internet Key Exchange)


Phase 1 : Main Mode et Aggressive Mode
Les attributs suivants sont utiliss par Ike et ngocis durant la phase 1 :
un algorithme de chiffrement, une fonction de hachage, une mthode d'authentification (PSK ou RSA) et un groupe pour Diffie-Hellman. (Si la mthode dauthentification est PSK)

Phase 2 : Quick Mode


Les messages changs durant la phase 2 sont protgs en authenticit et en confidentialit grce aux lments ngocis durant la phase 1. Quick Mode est utilis pour la ngociation de SA pour des protocoles de scurit donns comme Ipsec. Chaque ngociation aboutit en fait deux SA, une dans chaque sens de la communication.: AH ou ESP. Adresse destination

ESPRIT 2008 Ramzi Ouafi

25

IKE (Internet Key Exchange)

ESPRIT 2008 Ramzi Ouafi

26

O tourne IPsec

2 modes :
mode transport (de host host seulement) : seul le champ data est chiffr mode tunnel : tout le paquet IP dorigine est chiffr, ajout dune entte IP de tunnel

ESPRIT 2008 Ramzi Ouafi

27

IPSEC : configuration
Ladministrateur du rseau dfinit, par le biais de politiques de scurit configures dans chaque lment IPSEC du VPN, comment le trafic va tre scuris (notion de SA selectors , SPD ). Politiques = ensemble de rgles qui : permettent, pour chaque paquet IP, de dcider s'il se verra apporter des services de scurit, sera autoris passer outre ou sera rejet. indiquent IKE quelles associations de scurit il doit ngocier, et, en particulier, quels tunnels scuriss il doit tablir. Configuration des quipements IPsec = configuration manuelle des politiques de scurit sur chaque quipement (sur CISCO, quivalent des access-lists) Des systmes de gestion centralise et dynamique de ces politiques (policy servers) sont en cours dlaboration.

ESPRIT 2008 Ramzi Ouafi

28

Exemple de configuration cisco

ESPRIT 2008 Ramzi Ouafi

29

Exemple de configuration cisco


Lexemple de cette configuration sur le firewall 1
Using Pre-Shared Keys, (on peut avoir recours une CA vois le dernier slite)

Step 1 : Define a host name: hostname NewYork Step 2 : Configure an ISAKMP policy: isakmp enable outside isakmp policy 9 authentication pre-share isakmp policy 9 encrypt 3des Step 3 :Configure a pre-shared key and associate with the peer: crypto isakmp key cisco1234 address 209.165.200.229 Step 4 Configure the supported IPSec transforms: crypto ipsec transform-set strong esp-3des esp-sha-hmac

ESPRIT 2008 Ramzi Ouafi

30

Exemple de configuration cisco


Step 5 Create an access list: access-list 90 permit ip 192.168.12.0 255.255.255.0 10.0.0.0 255.0.0.0 Step 6 Exclude traffic between the intranets from NAT: nat 0 access-list 90
This excludes traffic matching access list 90 from NAT. The nat 0 command is always processed before

any other nat commands. Step 7 Enable NAT for all other traffic:
nat (inside) 1 0 0

Step 8 Assign a pool of global addresses for NAT and PAT: global (outside) 1 209.165.201.9-209.165.201.30 global (outside) 1 209.165.201.7
The pool of registered addresses are only used for connections to the public Internet.

Ces tapes ne sont pas obligatoire : elles permettent dfinir du NAT puisque on traverse un rseau publique.
ESPRIT 2008 Ramzi Ouafi

31

Exemple de configuration cisco


Step 9 Define a crypto map (spcifie la politique IPSec: Quel trafic scuriser, o doit tre envoy le trafic scuriser, les adresses locales (ACL) utilises par la trafic IPsec ):
crypto crypto crypto crypto map toSanJose 20 ipsec-isakmp map toSanJose 20 match address 90 map toSanJose 20 set transform-set strong map toSanJose 20 set peer 209.165.200.229

Step 10 Apply the crypto map to the outside interface: crypto map toSanJose interface outside Step 11 Specify that IPSec traffic be implicitly trusted (permitted): sysopt connection permit-ipsec

La mme configuration doit se faire pour lautre PIX.


ESPRIT 2008 Ramzi Ouafi

32

IPsec: utilisation des certificats

ESPRIT 2008 Ramzi Ouafi

33

Evolution du standard IPSec


IPSec est en constante volution afin d'intgrer entre autres les derniers standards cryptographiques (AES...). Voici une liste non-exhaustive des tendances actuelles : Numros de squence tendus (64 bits): cela est rendu ncessaire par l'utilisation d'algorithmes beaucoup plus performants et des dbits gigantesques (Gbit/s). Amlioration des slecteurs de SPD. Nouveaux protocoles d'changes de cls supports (IKEv2, Sigma, JFK...) Simplification du design et amlioration de la robustesse du protocole Support d'AES en mode CBC. Nouveaux modes d'intgrit seule. D'autre part, de nombreux groupes ( l'IETF par exemple) travaillent actuellement sur des problmes lis IPSec afin d'amliorer sont intgration dans tous les environnements : IPSec et NAT. Langages standards de police de scurit et ngociations inter-domaines Protocoles de dcouverte des passerelles de scurit

ESPRIT 2008 Ramzi Ouafi

34

Les protocoles niveau 2

Il existe sur le march trois principaux protocoles : PPTP (Point to Point Tunnelling Protocol) de Microsoft L2F (Layer Two Forwarding) de Cisco L2TP (Layer Two Tunnelling Protocol) de lIETF.

ESPRIT 2008 Ramzi Ouafi

35

Point to Point Tunnelling Protocol (PPTP)


La technologie rseau PPTP est une extension du protocole d'accs distant Point-to-Point Protocol. Une bauche de ce document a t soumise l'IETF en juin 1996 par les compagnies du forum PPTP, qui inclut Microsoft Corporation, Ascend Communications, 3Com/Primary Access, ECI Telematics et US Robotics. Le protocole PPTP est inclus dans les systmes d'exploitation Windows NT Server version 4.0. Gnralement il y a 3 ordinateurs impliqus dans tout dploiement de PPTP : un client PPTP un serveur d'accs rseau un serveur PPTP

Cest un protocole de niveau 2 qui encapsule des trames PPP dans des datagrammes IP afin de les transfrer sur un rseau IP. PPTP permet le cryptage des donnes PPP encapsules mais aussi leur compression.

ESPRIT 2008 Ramzi Ouafi

36

Point to Point Tunnelling Protocol (PPTP)


PPTP est un protocole de niveau 2 qui permet le cryptage des donnes ainsi que leur compression. L'authentification se fait grce au protocole MS-CHAP de Microsoft : Dj crack (version 1). Microsoft a corrig ces dfaillances et propose aujourd'hui une version 2 de MsChap plus sre La partie chiffrement des donnes s'effectue grce au protocole MPPE (Microsoft Point-to-Point Encryption)

ESPRIT 2008 Ramzi Ouafi

37

Point to Point Tunnelling Protocol (PPTP)


Le schma suivant montre comment un paquet PPTP est assembl avant dtre transmis par un client distant vers un rseau cible.

L'en-tte de dlivrance IP fournit les informations ncessaires pour que le datagramme passe par l'Internet. Le GRE (Generic Routing Encapsulation) : est un protocole dvelopp par Cisco. (RFC 2784). L'en-tte GRE est utilis pour encapsuler la trame PPP dans le datagramme IP. Notez que le paquet PPP est juste un bloc incomprhensible car il est crypt. Mme si le datagramme IP tait intercept, il serait presque impossible de dcrypter les donnes ESPRIT 2008 Ramzi Ouafi

38

L2TP (Layer Two Tunnelling Protocol)


L2TP est un protocole rseau qui encapsule des trames PPP pour les envoyer sur des rseaux IP, X25, relais de trames ou ATM. Lorsquil est configur pour transporter les donnes sur IP, L2TP peut tre utilis pour faire du tunnelling sur Internet. Mais L2TP peut aussi tre directement mis en uvre sur des supports WAN (relais de trames) sans utiliser la couche de transport IP. On utilise souvent ce protocole pour crer des VPN sur Internet. Dans ce cas, L2TP transporte des trames PPP dans des paquets IP. Il se sert dune srie de messages L2TP pour assurer la maintenance du tunnel et dUDP pour envoyer les trames PPP dans du L2TP

ESPRIT 2008 Ramzi Ouafi

39