Vous êtes sur la page 1sur 35

Rapportd' expos

Prsentation sur les VPN

tudiants :
Denis de REYNAL Jehan-Guillaume de RORTHAIS Sun Seng TAN

Informatique et Rseaux 3me anne Fvrier 2004

UFRIngnieurs2000

13/02/2004

Rapport VPN

Table des matires IIntroductionauxVPNs................................................................................ 5


ALesrseauxprivs....................................................................................................5 BRseauprivvirtuel................................................................................................. 5 CCasd' utilisation........................................................................................................6 DPrsentationdestermes............................................................................................6

IILesalternatives:TunnelsetVPNditlgers........................................7
ATunnelsetVPNLgers............................................................................................7 BForwardingdeportavecSSHetSSL......................................................................8
1Portforwarding............................................................................................................................8 2PortforwardingetSSH...............................................................................................................9 3PortforwardingetSSL................................................................................................................9

CEncapsulationdeprotocoles.................................................................................. 0 1
1Ipsurip......................................................................................................................................10 2IPsurGRE(GenericRoutingEncapsulation)...........................................................................10

DCombinerlesdeuxsolutions..................................................................................11 EVPNsousMsWindows......................................................................................... 1 1 FAutressolutions......................................................................................................11

IIIIPSec:Prsentationglobale....................................................................12
APrsentation............................................................................................................12
1Gnralits.................................................................................................................................12 2Aspectstechnique......................................................................................................................12

BDtailsduprotocole...............................................................................................13
2/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
1GestiondesfluxIPSec.............................................................................................................. 3 1 a)SecurityPolicy.......................................................................................................................13 b)SecurityAssociation..............................................................................................................13 c)BasesdedonnesSPDetSAD..............................................................................................14 2Modesd' IPSec..........................................................................................................................14 a)ModeTransport.....................................................................................................................14 b)ModeTunnel.........................................................................................................................15 3Dtailsdesprotocolesajouts................................................................................................... 5 1 a)EntteAH.............................................................................................................................15 b)ChampsESP..........................................................................................................................16

IVGestiondesclefsIPSec...........................................................................18
ALesdiffrentstypesdeclefs.................................................................................. 8 1 BPKIPublicKeyInfrastructure............................................................................18 CEchangedeclefsetauthentification......................................................................18
1Lesmcanismesdescurisationdeschanges..........................................................................18 2AlgorithmedeDiffieHellman..................................................................................................19

DISAKMPetIKE.....................................................................................................19
1ISAKMP....................................................................................................................................20 2IKE............................................................................................................................................20 a)Phase1...................................................................................................................................20 Mainmode............................................................................................................................21 Agressivemode.....................................................................................................................23 b)Phase2 :QuickMode...........................................................................................................24 c)SynthsedelangociationIKE.............................................................................................26

VConclusion................................................................................................26

3/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

4/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

I - Introduction aux VPNs


Indniablement, internet est rentr dans nos meurs. A travers, ce rseau informatique, tout un monde parallle s'est dvelopp : des sites marchands ont fleuris, les services pour les particuliers comme les guides d'itinraire pour nos voyages nous simplifient bien la vie. Enfin on en vient a changer des donnes travers des programmes d'change de fichiers et chater entre internautes. Nous retiendrons de tout a qu'Internet est un vritable outil de communication. A la fois high tech et dmod par sa technique, internet

n'a pas su voluer dans l'utilisation de ses protocoles, la plupart des protocoles utiliss ont plusieurs annes d'existence et certains n'ont pas t cre dans une optique ou le rseau prendrait une tel envergure. Les mots le rseau, la scurit, elle, peu volu. de passe traversent ainsi les rseaux en clair, et l o transitent des applications de plus en plus critiques sur

Quand on parle de scurit, c'est en faisant rfrence aux pirates, virus, vers, cheval de Troie, etc ... Ils profitent de failles des protocoles, du systme, mais surtout du faite que le rseau n'tait pas dvelopp dans une optique scurit . Internet dans ce contexte l n'a pas la vocation d'tre une zone scurise. La plupart des donnes y circule nue. On alors recours des algorithmes de cryptage, pour garder nos donnes confidentielles.

A - Les rseaux privs


Couramment utiliss dans les entreprises, les rseaux privs entreposent souvent des donnes mmes protocoles que ceux utiliss dans l'Internet. On appelle alors ces rseaux privs intranet . Y sont

confidentielles l'intrieur de l'entreprise. De plus en plus, pour des raisons d'interoprabilit, on y utilise les stocks des serveurs propres l'entreprise : portails, serveurs de partage de donnes, etc ... Pour garantir cette confidentialit, le rseau priv est coup logiquement du rseau internet. En gnral, les machines se L'utilisateur au sein d'un rseau priv pourra accder au rseau internet. trouvant l'extrieur du rseau priv ne peut accder celui-ci. L'inverse n'tant pas forcment vrai.

B - Rseau priv virtuel


Le but d'un rseau priv virtuel (Virtual Private Network ou VPN) est de fournir aux utilisateurs et

5/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
administrateurs du systme d'information des conditions d'exploitation, d'utilisation et de scurit travers un rseau public identiques celles disponibles sur un rseau prive . En d'autre terme, on veut regrouper des spars, et toute en gardant l'aspect scuris qui tait assur par de la coupure logique au rseau internet. rseaux privs, spar par un rseau public (internet) en donnant l'illusion pour l'utilisateur qu'ils ne sont pas

C - Cas d'utilisation
On peut trouver plusieurs cas d'utilisation d'un VPN dont :

Le Tltravail. Il existe des entreprises sans locaux, ou les employs travaillent chez eux. Quand ce type

de travail est possible, pourquoi dpenser plus pour des locaux, des problmes de transport, etc ... ? Le alors videment disposer d'une connexion internet qui lui permet de travailler distance, et d'utiliser les diffrents services du rseau, et mme exploiter des outils de travail collaboratif.

VPN apporte la possibilit pour tous ses employs de travailler sur un mme rseau priv virtuel. Il doit

Connexion de sites distants. Pour en entreprise possdant plusieurs sites, il est parfois avantageux de les

relier. Une premire solution serait d'utiliser une LS. Mais cette solution un coup, et le VPN ne cote pas plus que 2 connexion d'accs internet.

Les nouvelles normes de communication telles que le Wifi ont vu le jour. Cette dernire par exemple, est de plus en plus utilise, dans les bibliothques, entreprises ou universits, les rseaux sont accessibles partout. Mais posent des problmes videntes de scurits : le mur de scurit physique que l'on avait travers l'utilisation de cble n'existe plus. Il est alors simple d'intercepter les flux rseaux qui sont transports dans spcifi dans la norme 802.11b, mais n'est pas assez robuste (WEP). C'est pour cette raison que pour des rseaux sensibles , on recours aux techniques utilises par les VPN. Ainsi, il est possible, de manire scurise, d'utiliser le rseau sans fil.

les ondes radio. Le rseau priv ne conserve alors plus la confidentialit qu'elle avait. Certes un cryptage est

D - Prsentation des termes


Le VPN est ne reprsente donc qu'un concept, derrire lui, plusieurs implmentations ont vu le jour, selon l'utilisation que l'on veut en faire, le niveau de scurit, la taille du rseau, etc ...

6/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Plusieurs moyens techniques peuvent tre utiliss et coupls pour mettre en oeuvre des VPN : le chiffrement, l'authentification, le contrle d'intgrit et les tunnels.

Chiffrement. Utilis pour que les donnes traversant le rseau ne puisse pas tre lu par une autre personne. On utilise pour cela notre baguage mathmatique et surtout arithmtique. Les deux principaux mme cl pour chiffrer et pour dchiffrer. L'inconvnient, est clair : chaque partie de la communication devra avoir la mme cl, et la communiquer la partie adverse sans que les autres puisses le rcuprer. Plusieurs algorithmes de cryptage peuvent tre utiliss : DES, AES, RC4/5. Le cryptage asymtrique n'a pas cette inconvnient la : deux cls sont utilises : une cl publique et une cl prive. La cl public est doit rcuprer sa cl publique et seul lui pourra la dcrypter avec sa cl priv. Bien sur le cryptage et le acronyme des chercheurs qui ont publis cette mthode : Rivest, Shamir et Adleman. disponible par tout le monde. Elle sert a crypter des donnes. Si on veut communiquer avec un autre, on dcryptage se font de manire prcise suivant la mthode utilis. La plus connue est la mthode RSA, Le chiffrement est utilis dans le contexte du VPN pour garantir la confidentialit des donnes circulant sur le rseau publique. En effet, le rseau priv n'est que virtuellement coup du rseau publique. Authentification : On veut garantir qu'a chaque instant de la communication, on parle au bon interlocuteur. Dans le cadre du VPN, on parle des deux passerelles qui sont spar par internet. Contrle d'intgrit : il garantit que les donnes transmit entre les interlocuteur n'ont pas t modifi. Tunnel : le tunnel consiste tablir un canal entre 2 points sans ce soucier des problmatique d'interconnexion (de faon transparente). Nous verrons plus en dtail cet aspect important du VPN. type de cryptage utiliss sont : le chiffrement asymtrique et symtrique. Le chiffrage symtrique utilis la

Finalement il n'y a pas qu'une seule faon de dployer un VPN : Dans la plupart des cas, le protocole IPSec

est utilis. Mais il n'est pas le seul. Les spcifications de votre VPN dpendra aussi de l'utilisation que vous allez en faire. C'est pourquoi nous allons dans les chapitres venir, voir un aperu des diffrents solutions existantes en parcourant quelques exemples de tunnel et VPN dit lgers , et enfin nous tudierons plus en dtail le protocole IPSec et son dploiement dans un environnement GNU/Linux.

7/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

II - Les alternatives : Tunnels et VPN dit lgers


A - Tunnels et VPN Lgers
Le tunnel est une composante indispensable des VPN ; la problmatique est la suivante : on veut relier deux rseaux privs qui sont spars par un rseau publique (internet) de faon transparente pour l'utilisateur. rseau qui se trouve, en fait, de l'autre cot d'Internet. La solution technique utilise, dans la plupart des cas, pour mettre en oeuvre des tunnels est l'encapsulation de protocole. Technique dj utilise par nos l'encapsulation masquera le rseau internet (au lieu du rseau priv du provider). Une autre technique utilis, est le forwarding de port. Le concept du tunnel ne sous entend rien concernant le chiffrement ; l'essentiel est de garantir la transparence de la communication entre les 2 rseaux qui ne sont pas directement interconnects. fournisseur d'accs internet, elle sera utilis dans pas mal de VPN, mais la diffrence de nos FAI, L'utilisateur utilisera ainsi des interfaces rseaux virtuel et aura l'illusion de discuter directement avec le

Illustration1:TunnelinterconnectantlerseausousrseauAausousrseauBtraverslerseauInternet. L'informatique pour les informaticiens ? Srement pas ! L'informatique doit tre un moyen simple pour n'importe qui d'exploiter les machines. Paralllement, les VPN que l'on cre doivent tre la mesure des

8/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
utilisateurs, personne ne veut passer des nuits configurer sa passerelle pour mettre en place un simple VPN critiques , une politique de scurit dure est elle forcment exige ?

pour une petite infrastructure. De plus, le VPN n'est pas toujours utilis pour transfr des donnes

On parle de VPN Lgers, car certains moyens techniques n'offrent pas pas toutes les composantes du VPN : scurit, transparences quand on ne dispose pas de moyens techniques, matriel ou financier de dvelopper?

Finalement pour mettre en place ces alternatives (nous parlons bien d'alternatives IPSec qui est le plus utilis pour dployer des VPN) plusieurs solutions existent selon vos besoins.

B - Forwarding de port avec SSH et SSL


1 - Port forwarding
Le principe est est de faire transiter n'importe quel type de donne IP travers un canal scuris. Considrons 2 passerelles : elles seront configurer de manire ce que les connections sur un port du premier sont redirig sur un port d'une machine situ dans le rseau derrire la deuxime passerelle.

Illustration2:Exempledeforwardingdeport.

9/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Sur ce schma, le client SSH de l'hte 10.1.1.7 "forward" les requte qu'il reoit sur 127.0.0.1:9999 vers le serveur SSH de l'hte 10.1.1.7 qui lui mme forwardera les paquets reus vers 127.0.0.1:123.

2 - Port forwarding et SSH


SSH est un outils permettant travers des mcanisme d'authentification, de chiffrement et de compression d'accder un shell distant, de transfrer des fichiers (scp) et de faire du fowarding de port. passerelles et du serveur sur la deuxime passerelle. tablira le tunnel par la commande suivante : C'est cette dernire fonctionnalit qui nous intresse, pour cela nous disposons d'un client ssh sur une des Sur le serveur, on rajoutera la ligne GatewayPorts yes au fichier /etc/ssh/sshd_config et sur le client on

# ssh -g -L <portSurLeClientSSSH>:<ipDuServeurDistant>:<portDaccsAuServeurDistant> <ipDuServeurSSH>

Si on veut par exemple pourvoir accder un serveur web situ sur un serveur du rseau adverse :

# ssh -g -L 80:192.168.1.2:80 sunix.homelinux.net

192.168.1.2 tant l'adresse du serveur dans le rseau priv adverse, sunix.homelinux.net tant le la passerelle adverse ou se trouve le serveur ssh. serveur web. Ainsi, partir d'un client web dans notre rseau, on rentrera l'adresse de notre passerelle pour accder au

3 - Port forwarding et SSL


Netscape en 1994, cre le protocole SSL afin de scuriser les transmissions entre les navigateurs web. Nous pouvons exploiter ce protocole aujourd'hui pour faire du port forwarding, travers un wrapper nomm stunnel : http://www.stunnel.org/. On peut ainsi effectuer le mme genre de tunnel grce cette outil.

L'avantage de ces solutions est qu'elles prsentent tous les composants d'un vritable VPN : authentification,

chiffrement des donnes, tunnel. Nanmoins, elles ont t conu pour faire transiter des paquets IP. Le deuxime type de solution pour raliser nos tunnel s'appuie sur l'encapsulation de protocole; ces solutions peuvent tre utilis sur n'importe quel protocole (du moins en thorie).

10/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

C - Encapsulation de protocoles
Les protocoles rseaux permettent de transporter des donnes travers les rseaux. Et pourquoi se donnes ne serait pas d'autre paquet rseau qui transporte eux mme l'information ? Pourquoi faire ? On se trouve dans la problmatique ou on veut crer des tunnels, et on veut donner l'illusion l'utilisateur qu'il discute directement avec le rseau adverse alors qu'en fait il passe par internet. L'ide de l'encapsulation : l'utilisateur va envoyer des informations travers une interface rseau virtuel, ces paquets seront encapsuls et transporter travers un autre rseau puis dcapsul sur le rseau adverse derrire une autre interface virtuelle. Voici quelques exemple de solution utilisant l'encapsulation de protocole :

1 - Ip sur ip
Les tunnels IP sur IP encapsule les paquets IP sur des paquets IP. Ce type de tunnel peut servir relier deux rseaux non connect mais relier internet. L'intrt, comme dans plupart des tunnels, est de crer une interface rseau virtuel qui accdera virtuellement et directement au rseau adverse. Les paquets utiliss dans cette interface virtuel sera encapsul. Son Linux, le module ipip permet de mettre en oeuvre ce mcanisme, cette exemple de script de dmarrage permet de mettre en oeuvre un tel rseau : http://www.xs4all.nl/~yskes/howto/linux_ipip_tunnel.htm

2 - IP sur GRE (Generic Routing Encapsulation)


GRE est un protocole dvelopp par Cisco. Le protocole intgre la notion d'encapsulation de protocole. Il 2784. http://www.routage.org/gre.html GRE l'avantage de pouvoir interconnecter des rseaux ip ou non travers un rseau ip comme internet, on peut notamment faire du tunneling de paquet ipv6 ou multicast sur de l'IP. Il est supporter par un grand nombre de d'appareils, de routeurs, et d'OS. Avec Linux, le module ip_gre permet permet de mettre en place ce genre de tunnel. On peut mettre en place ce type de tunnel sous Linux l'aide du module ip_gre et des outils iproute2 qui servent d'interface avec ip_gre. permet ainsi de supporter plusieurs types de protocoles pour les transporter sur de l'IP. Il est dfini par la RFC

11/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN D - Combiner les deux solutions


PPPD est un dmon qui permet d'injecter du trafic au niveau 3 de la couche ISO et les faire transiter travers un tunnel. On peut galement spcifier au dmon, les programmes sur lequel le tunnel va transiter. Grce (authentification, certificat, etc ...). HOWTO/ cette fonctionnalit, il est alors possible d'utiliser ssh ou stunnel et bnficier de leurs avantage PPP over SSH, tait l'une des premire solution VPN mise en place : http://www.tldp.org/HOWTO/VPNPour la mettre en oeuvre, on utilise le dmon PPPD coupl avec SSH. PPP over SSL fonctionne de la mme faon, mais avec stunnel.

E - VPN sous Ms Windows.


Par dfaut dans tous les Windows, est disponible la solution PPTP (Point to Point Tunneling Protocol) qui permet de dployer des VPN. PPTP encapsule du PPP sur du GRE. Il est gnralement coupl avec MSCHAP pour l'authentification. Une analyse ralis par Bruce Schneier et Mudge, dmontre les failles de cette solution. La solution t rvis depuis une autre tude redmontr que des failles persistait. Pour en savoir plus : http://www.schneier.com

F - Autres solutions
Bien d'autres solutions existent, comme CIPS, ou TUN/TAP. Nanmoins nous n'en parlerons pas plus dans cette article. Nous avons vu que les VPN peuvent tre dployer par des moyens assez divers. Nanmoins les VPN robustes bases sur la version 4 et intgr dans la version 6 du protocole. Voyons IPSec de plus prs.

majoritairement utilis pour travers le rseau internet qui repose sur IP. IPSec, propose des solutions

12/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

III - IPSec : Prsentation globale


A - Prsentation
1 - Gnralits
IPSec (Internet Protocol Security) a t conu pour scuriser les communications rseau partir de la couche 3 du modle OSI. Il a t conus de manire tre support par Ipv4 et a t intgr dans le protocole Ipv6.

IPSec n'est pas un remplaant d'IP mais un complment. Ainsi, il intgre des notions essentielle de scurit au datagramme IP qui en assureront l'authenticit1, l'authentification2 et le cryptage3. Pour cela, il fait largement usage de cl de sessions (voir 4.1.Types de clefs) Sa position dans les couche basse du modle OSI lui permet donc de scuriser tous type d'applications et protocoles rseaux base sur IP sans distinction.

IPSec est trs largement utilis pour le dploiement de rseau VPN travers Internet petite et grande chelle.

2 - Aspects technique
IPSec est bas sur 2 mcanismes diffrents assurant les rles de scurisation des donnes : AH (Authentification header) et ESP (Encapsuling Security Payload).

IPSec est largement configurable. Ainsi, chacun des deux mcanismes AH et ESP peuvent tre utiliss seuls ou combins avec le second afin de dfinir le niveau de scurit voulu. De plus, il est possible d'indiquer les algorithmes de hachage ou d'encrytion voulu lors d'une communication. automatique des cls). Voir : 4. La gestion des clefs Les cls de session sont de type symtrique (dfinition manuelles des cls) ou asymtrique (gnration

1 L'a uthenticitdesdonnespermetd'as surerquelesdonnesreuessontstrictementidentiquescellesmise. 2 L'a uthentificationpermetd'a ssurerquel'm etteurdesdonnesestbienceluiqu'il prtendtre. 3 Lecryptagepermetd'as surerquelesdonnestransmiseneserontniluenicopierparunetiercepersonnedurantleur acheminement.

13/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

L'authentification et l'authenticit des donnes sont assure par un mcanisme de hachage des donnes traite. si les deux partie de la communication trouve la mme signature, c'est qu'ils utilisent bien les mme cls de sessions qui ont permis de gnrer cette mme signature des deux cot.

Notons que tous ces choix influencerons sur les performances des transferts.

B - Dtails du protocole
Le mcanisme interne d'IPSec est complexe. Le fait que ce protocole soit hautement configurable introduit des notions de gestion et configuration inconnues du monde IP.

1 - Gestion des flux IPSec


Les flux IPSec sont gr unidirectionnellement. Ainsi, une communication bidirectionnelle entre deux machine utilisant IPSec sera dfinie par diverse processus pour chacun des sens de communication. Les procds dtaill ci-dessous respectent tout deux cette lois.

a) Security Policy
Une SP dfini ce qui doit tre trait sur un flux. Comment nous voulons transformer un paquet. Il y sera indiqu pour un flux donn :

Les adresses IP de l'metteur et du rcepteur (unicast, mulitcast ou broadcast); Par quel protocole il devra tre trait (AH ou ESP) ; Le mode IPSec utiliser (tunnel ou transport) ;. Le sens de la liaison (entrante ou sortante) ;

Notons qu'une SP ne dfini qu'un protocole de traitement la fois. Pour utiliser AH ET ESP sur une communication, deux SP devront tre cre.

b) Security Association
Une SA dfini comment sera trait le paquet en fonction de sa SP associe. Elle ne sont que la "ralisation" des SP. Elle possde l'ensemble des proprits de la liaison. Ainsi, elle sera reprsente par une structure de donne contenant les informations suivantes :

14/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Un compteur permettant de gnrer les numros de squence des enttes AH et ESP ; Un flag (drapeau) permettant d'avertir qu'en cas de dpassement du compteur prcdemment dcrit, on

doit interrompre la communication ;


Une fentre d'anti rptition dans laquelle doit tomber le prochain numros de squence ; Information sur l'AH : algorithme d'authentification, clefs, dure de bie, etc ; Information sur l'ESP : algorithme d'authentification et de chiffrement, clefs, etc ; Mode IPSec : tunnel ou transport ; Dure de vie de la SA ; MTU.

Nous dtaillerons les modes d'IPSec dans le prochain chapitre. Une SA est identifie un seul et unique flux unidirectionnel grce trois champs :

L'adresse IP de destination (unicast, multicast ou broadcast); Le protocole utilis, AH ou ESP ; Le SPI (Security Parameter Index).

Comme nous pouvons le voir, une SA ne sera associe qu'a un seul des protocole AH ou ESP. si nous voulons protger un flux avec ces deux protocoles, deux SA devront tre cr. LE SPI est un indice (ou ID) sur 32 bits attribu au SA lors de sa cration. Nous verrons plus loin que sa gnration dpendra du mode de gestion des cls de sessions. Il sert distinguer les diffrentes SA qui aboutissent une mme destination et utilisant le mme protocole.

c) Bases de donnes SPD et SAD


Tout systme implmentant IPSec possde donc 2 bases de donne distinctes dans laquelle ils stockent leurs SP (ici, SPDatabase) et leurs SA (ici, SADatabase).

La SPD dfini donc le traitement de chaque type de trafic entrant ou sortant, en fonction des metteurs / rcepteurs, selon trois type :

15/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
DISCARD, dans ce cas celui-ci sera tout simplement jet. Il n'est pas autoris sortir de la passerelle ni

la traverser ni tre dlivr une quelconque application.

BYPASS IPSEC laisse passer le trafic sans traitement IPSec. APPLY IPSEC signifie que des services IPSec sont appliquer ce trafic.

Pour chaque trafic soumis des services IPSec, la base SPD possde une rfrence vers la SA correspondante dans la base SAD. Si cette entrs n'est pas dfinie, dans le cas d'une gestion dynamique des cls, celle-ci sera alors cre en accord avec la configuration dfinie par l'administrateur.

2 - Modes d' IPSec


Il existe deux modes d'utilisation d'IPSec : le mode transport et le mode tunnel. La gnration des datagrammes sera diffrente selon le mode utilis.

a) Mode Transport
Ce mode est utilis pour crer une communication entre deux htes qui supportent IPSec. Une SA est tablie cette entte et l'entte du protocole transport. Ce mode est souvent utiliser pour scuriser une connexion Point-To-Point. entre les deux htes. Les enttes IP ne sont pas modifies et les protocoles AH et ESP sont intgrs entre

b) Mode Tunnel
Ce mode est utiliser pour encapsuler les datagrammes IP dans IPSec. La SA est applique sur un tunnel IP. Ainsi, les enttes IP originales ne sont pas modifie et un entte propre IPSec est cre. Ce mode est souvent utilis pour crer des tunnels entre rseaux LAN distant. Effectivement, il permet de relier deux passerelle tant capable d'utiliser IPSec sans perturber le trafic IP des machines du rseau qui ne sont donc pas forcment prte utiliser le protocole IPSec.

3 - Dtails des protocoles ajouts


Nous verrons que certains champs sont prsent dans les deux protocoles AH et ESP. En cas d'utilisation des deux protocoles pour un mme flux de donne, il n'y aura cependant pas redondance d'information. Effectivement, il faut garder l'esprit que AH et ESP seront gr sparment par des SA diffrents. AH et ESP sont deux protocoles utilisant des cls des sessions utiles leurs traitement sur le datagramme IP.

16/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
a) En-tte AH
AH permet une scurisation du maximum de donnes du datagramme IP en assurant l'intgrit des donnes et leur authentification. Toutes les donnes ne pourront tre scurise pour une raison simple : certain champs dans les enttes sont variables et donc de nature non prdictible. Ces champs pourront donc pas tre considr comme sr, ce qui en fait le talon d'achille d'AH. mode non connect (couche IP). En revanche, il ajoute tout de mme un contrle contre les rptition et de d'intgrit des donnes sur un

Illustration 3: Intgration d'AH dans un datagramme Ipv4 en mode transport.

17/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

Illustration 4 Intgration d'AH dans un datagramme IPv4 en mode tunnel.

Dtails des champs de l'en-tte AH :


8 Entte suivante 16 Longueur des donnes Security parameters index (SPI) Numros de squence Donnes Authentification (variable) Entte suivante : ce champs permet de spcifier le type du protocole transport ; Longueur des donnes : longueur de l'entte AH par facteur de 32-bit, le minimum tant 2 ; SPI : index unique dfinissant la SA pour ce paquet ; Numros de squence: compteur utile au mcanisme d'anti-rptition ; d'authentifier l'metteur et l'authenticit des donnes. la taille de ce champs dpend des protocoles de hachage utiliss. Donnes Authentification (variable) : champs contenant les signatures de hachages permettant Rserv 32

b) Champs ESP

18/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
ESP permet la scurisation des donnes du datagramme IP par le chiffrement (confidentialit), l'intgrit et l'authentification des donnes. En mode transport, seuls les donnes transportes par le datagramme seront protge, en mode tunnels, ce sera l'intgralit du datagramme qui sera protg. L'authentification et l'intgrit des donnes sont assurs par les mme mcanismes que pour AH.

Illustration 5: Intgration d'ESP dans un datagramme Ipv4 en mode transport.

Illustration 6 Illustration 5: Intgration d'ESP dans un datagramme Ipv4 en mode tunnel.

19/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

Dtails des champs du protocole ESP :


16 Security association identifier (SPI) Numros de squence Donnes Bourrage (0-255 octets) Taille du bourrage Donnes Authentification (variable) SPI : index unique dfinissant la SA pour ce paquet ; Numros de squence: compteur utile au mcanisme d'anti-rptition ; Donnes : donne du protocole de couche suprieure ; plus efficace et/ou applicable ;

24

32

Entte souvante

Bourrage : sert l'encryption des donnes. Certains protocoles ncessitent une certaine taille afin d'tre Taille du bourrage : indique la taille du bourrage ; Entte suivante : ce champs permet de spcifier le type du protocole transport ; d'authentifier l'metteur et l'authenticit des donnes. la taille de ce champs dpend des protocoles de hachage et d'encryption utiliss.

Donnes Authentification (variable) : champs contenant les signatures de hachages permettant

Tous les processus que nous venons de dcouvrir son donc bas sur des mcanisme de cryptage et de hachage complexe qui utilisent des cls de longueurs variable. Avant d'utiliser un VPN, il faut donc s'intresser la gestion de ses cls.

20/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

IV - Gestion des clefs IPSec


A - Les diffrents types de clefs
Clefs de chiffrement de clefs

Ces clefs sont utilises afin de chiffrer d'autres clefs et ont gnralement une dure de vie longue. Les clefs tant des valeurs alatoires, l'utilisation d'autres clefs pour les chiffrer rend les attaques par cryptanalyse (tentatives de dchiffrement du message) plus difficiles leur niveau. La cryptographie clef publique. publique est souvent utilise pour le transport de clefs, en chiffrant la clef transporter l'aide d'une clef

Clefs matresses

Les clefs matresses sont des clefs qui ne servent pas chiffrer mais uniquement gnrer d'autres clefs le chiffrement et une pour la signature.

par drivation. Une clef matresse peut ainsi tre utilise, par exemple, pour gnrer deux clefs : une pour

Clefs de session ou de chiffrement de donnes

Ces clefs, contrairement aux prcdentes, servent chiffrer des donnes.

B - PKI - Public Key Infrastructure


De nombreuses applications et protocoles utilisent le cryptage chef publiques sur d'importants rseaux. Il est ncessaire de pouvoir grer dans ce cas un nombre important de clefs publiques. Pour cela, on a recours des Infrastructures Clefs Publiques, ou PKI (Public Key Infrastructure). Ces infrastructures se basent clefs publiques et permettent une gestion hirarchise de celles ci gnralement sur des autorits de certification (CA : Certificate Authorities), qui garantissent l'authenticit des

21/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN C - Echange de clefs et authentification


La premire tape lors de l'tablissement d'une communication scurise, est l'authentification des

interlocuteurs. Ensuite, un change de clef permet l'utilisation d'un mcanisme de scurisation des changes : l'authentification est ainsi tendue la suite de la communication (L'change de clef devant bien sur tre authentifi).

1 - Les mcanismes de scurisation des changes


Le Perfect Forward Secrecy (PFS) est assure par une rengociation rgulire des clefs. Dans le cas ou un attaquant intercepterait et dchiffrerait une clef de session, celle ci serait probablement dj prime avant qu'il puisse l'utiliser.

L'Identity Protection, ou protection de l'identit, est respecte si un message intercept ne permet pas de dterminer l'identit des tiers communiquant.

Le Back Traffic Protection consiste en une gnration de nouvelles clefs de sessions sans utilisation de clefs matresses. Les nouvelles clefs tant indpendantes des clefs prcdentes, la dcouverte d'une clef de session ne permet ni de retrouver les clefs de session passes ni d'en dduire les clefs venir.

2 - Algorithme de Diffie-Hellman
Invent en 1976 par Diffie et Hellman, ce protocole permet deux tiers de gnrer un secret partag sans et fait donc intervenir les valeurs publiques et prives des tiers. Le secret gnr l'aide de ce protocole peut ensuite tre utilis pour driver une ou plusieurs clefs (clef secrte, clef de chiffrement de clefs...). Cette algorithme est trs simple pour l'change des clefs : Soient 2 personnes A et B dsirant communiquer sans utiliser une clef secrte. Pour cela ils se mettent d'accord sur 2 nombres g et n tels que n soit suprieur g et g suprieur 1, et cela sur un canal non scuris (il faut que n soit grand: de l'ordre de 512 ou 1024 bits pour que l'change des clefs soit scuris). Ils prennent chacun chez eux un nombre alatoire :
A choisit x ,calcul X=g^x mod n et l'envoie B ;

avoir aucune information pralable l'un sur l'autre. Il est bas sur un mcanisme de cryptage clef publique,

22/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
B choisit y ,calcul Y=g^y mod n et l'envoie A.

Ainsi le pirate peut intercepter X, et Y mais il lui est trs trs difficile d'en dduire x et y (c'est sur ce principe que repose la scurit de l'algorithme). Une fois dans son coin, A calcule k=Y^x mod n et B calcule k'=X^y clef prive dont ils sont les seuls dtenteurs mod n. En regardant de plus prs, on constate que : k=k'=g^xy mod n. Ainsi, A et B ont russi crer un

D - ISAKMP et IKE
IKE (Internet Key Exchange) est un systme dvelopp spcifiquement pour IPsec qui vise fournir des prsenter sur l'Internet. Il est compos de plusieurs lments : le cadre gnrique ISAKMP et une partie des d'interprtation" pour IPsec.

mcanismes d'authentification et d'change de clef adapts l'ensemble des situations qui peuvent se protocoles Oakley et SKEME. Lorsqu'il est utilis pour IPsec, IKE est de plus complt par un "domaine

1 - ISAKMP
ISAKMP (Internet Security Association and Key Management Protocol) permet la ngociation, l'tablissement, et la suppression d'associations de scurit (SA), permettant ainsi la scurisation de paquets devant tre achemins.

Il s'agit d'un cadre gnrique permettant la ngociation des associations de scurit, mais il n'impose rien quant aux paramtres qui les composent. Cette ngociation s'effectue en deux phases, permettant de sparer ISAKMP : la ngociation des SA pour la protection des donnes transfrer, de celle pour la protection du trafic propre

Durant la premire phase, un ensemble d'attributs relatifs la scurit est ngoci, les identits des tiers

sont authentifies et des clefs sont gnres. Ces lments forment la SA/ISAKMP. Contrairement aux SA IPsec, la SA ISAKMP est bidirectionnelle. Elle srvira scuriser l'ensemble des changes ISAKMP futurs.

La seconde phase permet de ngocier les paramtres de scurit qui interviendront pour le transferts des

donnes applicatives (le paquet IP qui devait tre transmis, et qui est l'origine de l'tablissement d'une

23/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
SA). Les changes de cette phase sont scuriss grce la SA ISAKMP.

2 - IKE
IKE utilise ISAKMP, pour construire un protocole pratique. Le protocole de gestion des clefs associ ISAKMP dans ce but est inspir la fois d'Oakley et de SKEME. Plus exactement, IKE utilise certains des l'authentification et sa mthode de changement de clef. IKE comprend quatre modes : le mode principal (Main Mode), le mode agressif (Aggressive Mode), le mode rapide (Quick Mode) et le mode nouveau groupe (New Group Mode). Main Mode et Aggressive Mode sont utiliss durant la phase 1, et sont dtaills ci dessous. Quick Mode, quand lui, est un change de phase 2, dtaill en 4.4.2.2. New Group Mode sert se mettre d'accord sur un nouveau groupe pour de futurs changes Diffie-Hellman. modes dfinis par Oakley et emprunte SKEME son utilisation du chiffrement clef publique pour

a) Phase 1
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 et un groupe pour Diffie-Hellman. Trois clefs sont gnres l'issue de la phase 1 : une pour le chiffrement, une pour l'authentification et une

pour la drivation d'autres clefs. Ces clefs dpendent des cookies, des alas changs et des valeurs publiques Diffie-Hellman ou du secret partag pralable. Leur calcul fait intervenir la fonction de hachage choisie pour la SA ISAKMP et dpend du mode d'authentification choisi.

Mainmode
Compos de six messages, Main Mode est une instance de l'change ISAKMP Identity Protection Exchange :

24/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

25/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Les deux premiers messages servent ngocier les paramtres IKE : algorithme de chiffrement, fonction

de hachage, mthode d'authentification des tiers et groupe pour Diffie-Hellman.

Les quatre mthodes d'authentification possibles sont la signature numrique, deux formes d'authentification par chiffrement clef publique et l'utilisation d'un secret partag pralable.

Les deux seconds messages permettent l'tablissement d'un secret partag via l'utilisation du protocole

Diffie-Hellman.

Le secret partag sert driver des clefs de session, deux d'entre elles tant utilises pour protger la suite des changes avec les algorithmes de chiffrement et de hachage ngocis prcdemment.

Les deux derniers messages servent l'authentification des changes et notamment des valeurs publiques.

26/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

Agressivemode
Aggressive Mode est une instance de l'change ISAKMP Aggressive Exchange : il combine les changes dcrits ci-dessus pour Main Mode de faon ramener le nombre total de messages trois.

Dans les deux cas, la mthode choisie pour l'authentification influence le contenu des messages et la mthode de gnration de la clef de session. Les quatre mthodes d'authentification possibles sont la partag pralable. signature numrique, deux formes d'authentification par chiffrement clef publique et l'utilisation d'un secret

b) 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. L'authenticit des messages est assure par l'ajout d'un bloc HASH message. 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. aprs l'en-tte ISAKMP, et la confidentialit est assure par le chiffrement de l'ensemble des blocs du

27/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

28/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Durant cette phase, il s'agit de :
Ngocier les paramtres IPSec ; Gnrer une nouvelle clef drive de celle ngocie en phase 1 grace au protocole Diffie-Hellman. (si on

prend on compte les mcanismes de scurisation des changes tels que PFS Perfect Forward Secrecy, ngociation Diffie-Hellman..) ;

ou le Back trafic Protection cus plus hauts, il peut y avoir d'autres changes tels qu'une nouvelle
Identifier le trafic que les SA ngocies protgeront.

c) Synthse de la ngociation IKE

29/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

V Dmonstration
Ce dossier n'tant pas port sur la configuration fine et l'explication de celles-ci, nous ne nous contenterons que de mettre disposition nos configuration avec un minimum d'information.

A - Configuration du kernel
Pour base de nos maquette, nous avons configur un noyau Linux 2.6.1 avec le support IPSec. Pour pouvoir utiliser IPSec avec ce noyau, il vous faudra compil votre noyau avec les options suivante : Dans "Networking options" :
IP : AH transformation (CONFIG_INET_AH) ; IP : ESP transformation (CONFIG_INET_ESP) ; IPSec user configuration interface (CONFIG_XFRM_USER) ;

La dernire option nous permettra de pouvoir configurer IPSec depuis une interface utilisateur grce des outils Linux natif. Vous pourrez aussi ajouter "IPComp transformation" (CONFIG_INET_IPCOMP) si vous voulez que votre noyau soit capable d'effectuer de la compression sur les donnes mise. Dans "Cryptographic options", vous aurez la possibilit de slectionner les diffrents algorithme que vous voudrez utiliser pour votre VPN, certains son coch d'office. Voici les options gnralement voulues :
Null algorithm ; MD5 digest algorithm ; SHA1 digest algorithm ; DES and Triple DES EDE cipher algorithms ; AES cipher algorithms.

30/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN B - Pr-requis de la maquette


1 - Configuration d'IPSec
Pour pouvoir utiliser et configurer correctement IPSec il nous faudra utiliser un outil spcifique qui aura pour rle l'interface entre l'administration et le noyau. tools.sourceforge.net/). Cet outil s'appelle "ipsec-tools" et est un portage de "KAME IPSec utilities" pour linux (http://ipsecUtilisant un systme Debian pour la maquette j'ai pu installer cet outil avec la commande suivante :
# apt-get install ipsec-tools

Mais cet outil est aussi disponnible en paquage rpm.

2 - Configuration d'IKE
Pour pouvoir utiliser IPSec avec une gestion d'change dynamique des cl, nous devons installer un serveur qui tiendra ce rle. Le serveur que nous allons utiliser s'appelle "racoon" et est directement intgr dans ipsec-tools.

3 - Configuration rseau
Pour notre maquette nous avons d simuler des rseaux locaux (172.16.0.0/16 et 172.15.0.0/16) utilisant les interfaces relles de nos machines comme des passerelles de communication pour leurs change. Ces deux interfaces (eth0) seront donc les points d'entrs dans notre tunnels IPSec. suivante : Pour cela, nous avons donc configur des interfaces virtuelles sur chaque machine avec la commande Sur la premire machine :
# ifconfig eth0:1 172.16.0.0 netmask 255.255.0.0 route add -net 172.15.0.0 netmask 255.255.0.0 gw 192.168.0.2

Sur la seconde :
# ifconfig eth0:1 172.15.0.0 netmask 255.255.0.0 route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.0.10

31/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN C - Gestion des cls Manuelle


Ce mode permet de crer des VPN IPSec en utilisant toujours les mme cls de chiffrage. Les deux hte concern par la communication doivent alors possder ces mme cls. etc/ipsec.conf ) :
#!/sbin/setkey -f flush; spdflush;

Voici un la configuration que nous avons utilis pour une maquette de ce type ( fichier /

# AH #--add 192.168.0.2 192.168.0.10 ah 15700 -A hmac-md5 "1234567890129999"; add 192.168.0.10 192.168.0.2 ah 24500 -A hmac-md5 "1234567890120000";

add 172.16.0.10 172.15.0.10 ah 15701 -A hmac-md5 "1234567890123499"; add 172.15.0.10 172.16.0.10 ah 24501 -A hmac-md5 "1234567890123400";

# ESP #---add 192.168.0.2 192.168.0.10 esp 15702 -E 3des-cbc "123456789012123456789999"; add 192.168.0.10 192.168.0.2 esp 24502 -E 3des-cbc "123456789012123456780000";

add 172.16.0.10 172.15.0.10 esp 15703 -E 3des-cbc "123456789012123456789099"; add 172.15.0.10 172.16.0.10 esp 24503 -E 3des-cbc "123456789012123456789000";

# Polices de Scurit... #----------------------spdadd 192.168.0.2 192.168.0.10 any -P in ipsec esp/transport//require

32/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
ah/transport//require;

spdadd 192.168.0.10 192.168.0.2 any -P out ipsec esp/transport//require ah/transport//require;

spdadd 172.16.0.10 172.15.0.10 any -P in ipsec esp/transport//require ah/transport//require;

spdadd 172.15.0.10 172.16.0.10 any -P out ipsec esp/transport//require ah/transport//require;

Sur la seconde le machine, le fichier de configuration sera identique mis part les "in" et les "out" qui devront tre chang. Pour mettre en place la configuration dcrite dans ces fichiers, nous devrons lancer la commande suivante sur les deux machines :
# setkey -f /etc/ipsec.conf

D - Gestion des cls dynamique


Nous allons continuer utiliser un fichier de configuration /etc/ipsec.conf, mais cette fois-ci, nous n'y configurerons que la partie sur les polices de scurit. Effectivement, ici les cls ainsi que les protocoles utiliser seront ngocis par racoon. (/etc/racoon.conf) : Nous allons donc crer un second fichier de configuration pour racoon qui aura la forme suivante

path certificate "/etc/certs";

33/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
remote 192.168.0.2 { exchange_mode aggressive,main; my_identifier asn1dn; peers_identifier asn1dn; certificate_type x509 "iG4x.public" "iG4x.private"; peers_certfile "denix.public"; proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method rsasig; dh_group 2; }

sainfo anonymous { pfs_group 1; encryption_algorithm 3des ; authentication_algorithm hmac_sha1; compression_algorithm deflate ; }

Ce fichier de configuration permet de dfinir des information tels que le rpertoire contenant les certificats, les protocoles utiliser, les mode d'change, etc.

VI - Conclusion
A travers ce dossier, nous avons vu un aperu des diffrentes possibilits afin de dployer un VPN, et particulirement la solution que reprsente IPSec. Nous avions en effet pour objectif de vous donner les concepts qui tournes autour de cette solution et de vous montrer un exemple de dploiement. Mais galement est une rfrence. Mais le VPN est avant tout un concept et ne prcise rien concernant ses moyens. que le terme de VPN ne se rfrenait pas qu'a la solution IPSec. Certes cette solution est la plus utilise et

Ainsi s'achve notre tude sur les VPNs. On se rend compte que derrire ce concept, une multitude de protocoles, techniques et architectures existent pour leur dploiement. Nanmoins, le choix d'une solution pour votre VPN dpendra videment de l'utilisation que vous en ferez et de l'investissement financier que vous y mettrez.

34/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

Le VPN pris une dimension proportionnelle au dveloppement d'internet. A l'origine pour dployer les rseaux privs, une nouvelle utilisation voit le jour aujourd'hui avec l'arrive des technologies sans file. En effet, ds les premires mise en place du 802.11 (WIFI), on nous dmontr ses failles en matire de confidentialit et de scurit. Un risque parmi d'autres, est de voir ses donnes transitant dans le rseau tre lues par un homme du milieu . Ses problmes de scurit sont une grande problmatique quand des donnes sensibles sont communiques. Les solutions VPN offre une possibilit de garantir cette scurit et donnes qu'on transmet. Nous tenons remercier les rdacteurs du magazine MISC ainsi des diffrents articles sur Internet, qui nous ont permis de mettre en oeuvre et d'approfondir notre tude sur les VPN. Nous esprons que ce dossier vous aura permis d'acqurir de bonnes bases et une bonne culture pour aller plus loin avec les VPN.

on peut alors penser la possibilit d'allier le confort d'utilisation d'un rseau sans file la scurit des

Ressources et documentation
Liens / Documentation :
Magasine MISC. N10 Novembre-Dcembre 2003 http://ipsec-tools.sourceforge.net/ http://lartc.org/howto/lartc.ipsec.html http://www.ipsec-howto.org/x242.html

RFC :
2407 : IP Security Domain. 2402 : AH. 2406 : ESP. 2409 : IKE.

Autre projet d'implmentation d'IPSec :


http://ipsec-tools.sourceforge.net/.

35/35
Tan Sun Seng de Reynal de Rorthais