Vous êtes sur la page 1sur 10

Scurit GNU/Linux Virtual Private Network

By ShareVB

Sommaire
I.Le concept de rseau priv virtuel .......................................................................................................1 a)Introduction.....................................................................................................................................1 b)Un peu plus sur le fonctionnement du VP ....................................................................................! c)Les fonctionnalits du VP en rsum...........................................................................................! II.Les implmentations histori"ues de VP ............................................................................................# a)$at%ories de protocoles..................................................................................................................# 1)$lassement par iveau &SI........................................................................................................# !)$lassement par Syst'me d(e)ploitation......................................................................................# b)Les principau) protocoles de VP ..................................................................................................# 1)Le protocole PP*P......................................................................................................................+ !)Le protocole L!*P......................................................................................................................, #)Le protocole IPSec.....................................................................................................................i..ode de transport...................................................................................................................ii.Les composantes d(IPSec......................................................................................................./ iii.L(chan%e des cls................................................................................................................0 +)Le protocole .PLS..................................................................................................................11 c)L(implmentation &penVP .........................................................................................................11 III.Biblio%raphie....................................................................................................................................11

I. Le concept de rseau priv virtuel


a) Introduction
Les rseau) locau) type L2 permettent de faire communi"uer les ordinateur d(un site d(une socit ensemble. $es rseau) sont relativement s3r car ils sont "uasiment tou4ours derri're une srie de pare5 feu ou coups d(Internet et "ue le chemin emprunt par les donnes ne "uitte pas l(entreprise et est connu. Ils peuvent toutefois 6tre soumis 7 des atta"ues dites du 8 man5in5the5middle 9 "ui sera l(ob4et d(un autre document. Sur Internet: on ne sait pas par o; passent les donnes car les chemins chan%ent. $es donnes peuvent donc 6tre coutes ou interceptes. Il n(est donc pas envisa%eable de faire connecter deu) L2 entre eu) par Internet sans moyen de scuriser le cheminement des donnes chan%es. Il e)iste alors deu) solutions <

relier les deu) sites par une li%ne spcialise mais hors de pri) crer un rseau priv virtuel scuris autrement dit un VP . &n encapsule =en an%lais tunnelin%) les donnes dans un tunnel crypt

Voici comment peut se schmatiser une >seau Priv Virtuel ou VP <

.ais alors pour"uoi rseau virtuel priv. Virtuel simplement parce "ue le VP relie deu) rseau) physi"ues L2 par une liaison "ui n(est pas rellement s3re et surtout pas ddie 7 cet usa%e. ?t priv parce "ue les donnes sont encryptes et "ue seuls les deu) rseau) se voient mais ne sont pas vus de l(e)trieur. Pour rsum le VP permet de mettre deu) sites en relation de fa@on scurise 7 tr's faible co3t par une simple conne)ion Internet. .ais cela se fait au dtriment des performances car le passa%e par Internet est plus lent "ue sur une liaison ddie.

b) Un peu plus sur le fonctionnement du VPN


Le VP repose sur un protocole de tunnelisation "ui est un protocole permettant de chiffrer les donnes par un al%orithme crypto%raphi"ue entre les deu) rseau). Il e)iste deu) types de VP <

le VP d(acc's permet 7 un utilisateur isol de se connecter dans un rseau local interne =par e)emple: de son entreprise). Aans ce cas: il peut avoir son propre client VP afin de se connecter directement au rseau. Sinon: il doit demander 7 son B2I de lui fournir un serveur d(acc's "ui se char%era de la conne)ion crypte. Seul probl'me: la conne)ion entre l(utilisateur isol et le serveur d(acc's n(est pas crypt. l(intranet ou e)tranet VP permet de relier deu) rseau) L2 entre eu). Aans le cas de l(e)tranet: il peut s(a%ir par e)emple: d(un rseau d(une socit et de ses clients. Aans les deu) cas: les deu) rseau) doivent se voir comme ci le rseau tait en un seul morceau. Par e)emple: on peut faire en sorte d(avoir une passerelle dans cha"ue rseau "ui se connecterait ensemble par Internet de fa@on crypte et achemineraient donc les donnes entre les deu) rseau).

c) Les fonctionnalits du VPN en rsum


Le VP n(est "u(un concept: ce n(est pas une implmentation. Il se caractrise par les obli%ations

suivantes <

authentification des entits communicantes < le serveur VP doit pouvoir 6tre s3r de parler au vrai client VP et vice5versa authentification des utilisateurs < seuls les bonnes personnes doivent pouvoir se connecter au rseau virtuel. &n doit aussi pouvoir conserver les lo%s de conne)ions %estion des adresses < tous les utilisateurs doivent avoir une adresse prive et les nouveau client en obtenir une facilement crypta%e du tunnel < les donnes chan%es sur Internet doivent 6tre d3ment cryptes entre le client VP et le serveur VP et vice5versa les cls de crypta%e doivent 6tre r%nres souvent =automati"uement) le VP dit supporter tous les protocoles afin de raliser un vrai tunnel comme s(il y avait rellement un cCble entre les deu) rseau).

II. Les implmentations historiques de VPN


a) Catgories de protocoles 1) Classement par Niveau OSI
Il e)iste deu) cat%ories de protocoles VP <

Les protocoles ncessitant parfoisDsouvent du matriel particulier <


Les protocoles de niveau ! =$ouche Liaison) dans la pile *$PDIP < PP*P: L!B et L!*P Les protocoles de niveau # =$ouche >seau) dans la pile *$PDIP < IPSec Les protocoles de niveau + =$ouche *ransport) < &penVP en SSL

Les protocoles ne ncessitant "u(une couche lo%icielle <

2) Classement par Systme d'exploitation


Voici les protocoles classs par &S <

Aisponibles nativement sous EindoFs

PP*P et IPSecDL!*P &penVP *ous

Protocoles disponibles sous Linu) et EindoFs par lo%iciel anne)e <

Aisponibles sous Linu)

b) Les principaux protocoles de VPN

Les principau) protocoles de tunnelin% VP sont les suivants <


PP*P =Point-to-Point Tunneling Protocol) est un protocole de niveau ! dvelopp par .icrosoft: #$om: 2scend: US >obotics et ?$I *elematics. L!B =Layer Two Forwarding) est un protocole de niveau ! dvelopp par $isco: orthern *elecom et Shiva. Il est dsormais "uasi5obsol'te L!*P =Layer Two Tunneling Protocol) est l(aboutissement des travau) de l(IETF =>B$ !,,1) pour faire conver%er les fonctionnalits de PPTP et L2F. Il s(a%it ainsi d(un protocole de niveau ! s(appuyant sur PPP. IPSec est un protocole de niveau #: issu des travau) de l(I?*B: permettant de transporter des donnes chiffres pour les rseau) IP.

1) Le protocole PPTP
Le principe du protocole PP*P =>B$!,#-) =Point To Point Tunneling Protocol) est de crer des trames avec le protocole PPP et de les crypter puis de les encapsuler dans un pa"uet IP. $ela permet de relier les deu) rseau) par une conne)ion point575point virtuelle achemine par une conne)ion IP sur Internet. $ela fait croire au) deu) rseau) "u(ils sont relis par une li%ne directe. &n %arde: ainsi les adresses des rseau) physi"ues dans la trame PPP cryptes et cette trame est achemine normalement sur Internet vers l(autre rseau. Il permet les oprations suivantes <

L(authentification se fait par le protocole .S5$G2P =$hallen%e GandshaHe 2uthentification Protocol) version ! ou avec le protocole P2P =PassFord 2uthentification Protocol) L(encryption se fait par le procotole .PP? =.icrosoft Point5to5Point ?ncryption). $ela cre un tunnel de niveau # =>seau) %r par le protocole I>? =Ieneric >outin% ?ncapsulation). La compression peut se faire avec le protocole .PP$ =.icrosoft Point to Point $ompression) &n peut a4outer autant de protocole "ue l(on veut dans le protocole PP*P pour l(encryption et la compression des donnes

La conne)ion se passe donc ainsi <


Le client se connecte 7 Internet par son modem par le protocole PPP =classi"uement) Le client se connecte alors au serveur VP par une conne)ion IP encapsulant les pa"uets I>?DPPP crypts. 2insi cela forme deu) conne)ions l(une sur l(autre

la conne)ion normale 7 Internet < elle achemine le traffic versDdepuis Internet la conne)ion virtuelle au dessus de la conne)ion Internet < elle achemine le traffic versDdepuis le rseau) VP

2 la fin de la conne)ion c(est le serveur "ui ferme le tunnel

&n obtient donc une conne)ion PPP au dessus de la conne)ion Internet ou ?thernet "ui nous donne acc's au serveur VP pptpd. $ette conne)ion PPP obtient une IP de la pla%e dfinie dans la confi%uration de pptpd. Sur le serveur: on a une conne)ion de son IP publi"ue vers l(IP virtuelle du client et sur le client c(est l(inverse. Voici ce "ue cela donne avec un pin% vers une machine derrire le serveur<

pin%

11:00:17.003113 IP IP_client > IP_serveur: GREv1, call 128, seq 120, length 101: compressed PPP data 11:00:17.503088 IP IP_client > IP_serveur: GREv1, call 128, ack 116, no-pa load, length 12

pon%

11:02:12.8!02!3 IP IP_serveur > IP_client: GREv1, call 0, seq 135, ack 13", length 105: compressed PPP data &n voit donc uni"uement les pa"uets crypts. Un pa"uet d(une conne)ion PP*P ressemble donc 7 ceci <

Il est encore beaucoup utilis du fait qu'il est nativement intgr au s!stmes "indo#s. $ais les protocoles tels que IPSec ou %penVPN sont bien meilleurs en scurit et en performances. Pour plus d'information sur ce type de VPN, voir le tuto qui est consacr PP P!

2) Le protocole L2TP
$(est un protocole tr's proche des protocoles PP*P et L!B et est normalis dans un >B$. $ette fois les trames PPP sont encapsules dans le protocole L!*P lui5m6me et les trames PPP peuvent encapsuler des pa"uets IP: IPJ: etBI&S ou autre. Il se base aussi souvent sur IPSec. Il y faut deu) types de serveurs pour utiliser L!*P <

L2$ =L!*P 2ccess $oncentrator) < concentrateur d(acc's L!*P. Il sert 7 fournir un moyen physi"ue pour se connecter 7 un ou plusieurs L S par le protocole L!*P. Il est responsable de l(identification et construit le tunnel vers les L S. Il se trouve obli%atoirement dans l(infrastructure du B2I de cha"ue utilisateur du VP . $ela est donc tr's lourd =et cher) 7 mettre en place dans la mesure o; il faut louer une place dans un serveur de conne)ion du B2I. L S =L!*P etForH Server) < serveur rseau L!*P: il assure la communication entre le rseau au"uel il est connect et les L2$ vers les"uels il a un tunnel. Il se trouve %nralement dans l(entreprise ou le service au"uel appartient l(utilisateur distant.

Plus techni"uement: voici l(encapsulation "u(en%endre L!*P =de bas en haut: dans le cas d(un G**P) <

couche ! 5K IP 5K UAP 5K L!*P 5K PPP 5K IP 5K *$P 5K G**P

Il est donc relativement lourd: d(autant "ue les .*U =taille ma) des pa"uets) des li%nes traverses peuvent %nrer de la fra%mentation. Son seul avanta%e est de pouvoir terminer une session PPP n(importe "uand ce "ui permet 7 un utilisateur mobile de pouvoir se connecter facilement en VP . L!*P est encapsul dans des pa"uets UAP entre le L2$ et le L S et utilise le port 1-11. La conne)ion d(un utilisateur se passe donc comme suit <

1) Un utilisateur se connecte 7 un L2$ par le biais de sa conne)ion Internet ou d(un .odem bas dbit. $e L2$ fait partie de l(infrastructure du B2I de l(utilisateur. !) Il s(authentifie aupr's de ce L2$. $e dernier transmet les informations de lo%inDmot de passe fournies au serveur >2AIUS d(authentification. $e dernier contient une liste associative lo%inDnomLdeLdomaineDmotLpasse M55K L S. #) Si le lo%inDmot de passe est valide: cela permet au L2$ de connaNtre le L S au"uel l(utilisateur peut se connecter pour 6tre sur le VP de son entreprise. +) Si aucun tunnel n(e)iste entre le L2$ et le L S: un tunnel est cr 7 l(initiative du L2$ O) Une session PPP est cre 7 l(intrieur de ce tunnel L(utilisateur obtient donc une conne)ion PPP virtuelle entre lui et le rseau de son entreprise.

Pour Linu): il e)iste l(implmentation >P5L!*P =http<DDsourcefor%e.netDpro4ectsDrp5l!tp). Pour plus d'information sur ce type de VPN, voir le tuto qui est consacr "# P!

) Le protocole IPSec
i. Mode de transport

IPSec est un protocole dfini par l(I?*B permettant de scuriser les chan%es au niveau de la couche rseau. Il s(a%it en fait d(un protocole apportant des amliorations au niveau de la scurit au protocole IP afin de %arantir la confidentialit: l(int%rit et l(authentification des chan%es. Il e)iste deu) modes pour IPSec <

le mode transport permet de prot%er principalement les protocoles de niveau) suprieurs <

IPSec rcup're les donnes venant de la couche + =*$PDtransport): les si%ne et les crypte puis les envoie 7 la couche # =IPDrseau). $ela permet d(6tre transparent entre la couche *$P et la couche IP et du coup d(6tre relativement facile 7 mettre en place. Il y a cependant plusieurs inconvnients <

l(ent6te IP est produite par la couche IP et donc IPSec ne peut pas la contrPler dans ce cas. Il ne peut donc pas mas"uer les adresses pour faire croire 7 un rseau L2 entre les deu) L2 relis cela ne %arantie donc pas non plus de ne pas utiliser des options Ips non voulues virtuel

le mode tunnel permet d(encapsuler des data%rammes IP dans des data%rammes IP

les pa"uets descendent dans la pile 4us"u(7 la couche IP et c(est la couche IP "ui passe ses donnes 7 la couche IPSec. Il y a donc une ent6te IP encapsule dans les donnes IPSec et une ent6te IP relle pour le transport sur Internet =on pourrait ima%iner "ue ce transport se fasse sur de l(IPJ ou etBI&S puis"u(il n(y a pas de contrainte dans ce mode) $ela a beaucoup d(avanta%es <

l(ent6te IP relle est produite par la couche IPSec. $ela permet d(encapsuler une ent6te IP avec des adresses relative au rseau virtuel et en plus de les crypter de fa@on 7 6tre s3r "u(elles ne sont pas modifies. &n a donc des adresses IP virtuelles donc tirant partie au mieu) du concept de VP &n a le contrPle total sur l(ent6te IP produite par IPSec pour encapsuler ses donnes et son ent6te IPSec.

ii. Les composantes d'IP ec

Le protocole IPSec est bas sur "uatre modules <

IP Authentification Header =&') %'re l(int%rit < on s(assure "ue les champs invariants pendant la transmission: dans l(ent6te IP "ui prc'de l(ent6te 2G et les donnes l(authentification pour s(assurer "ue l(metteur est bien celui "u(il dit 6tre la protection contre le re4eu < un pa"uet intercept par un pirate ne peut pas 6tre renvoy il ne %'re pas la confidentialit < les donnes sont si%nes mais pas cryptes Encapsulating Security Payload =(SP) en mode transport: il assure confidentialit < les donnes du data%ramme IP encapsul sont cryptes authentification < on s(assure "ue les pa"uets viennent bien de l(hPte avec le"uel on communi"ue ="ui doit connaNtre la cl associe 7 la communication ?SP pour s(authentifier) l(unicit optionnelle contre le re4eu des pa"uets l(int%rit des donnes transmises en mode tunnel: c(est l(ensemble du data%ramme IP encapsul dans ?SP "ui est crypt

et subit les vrifications suivantes. &n peut donc se passer de 2G. Security Assocation =S&) dfinit l(chan%e des cls et des param'tres de scurit. Il e)iste une S2 par sens de communication. Les param'tres de scurit sont les suivants <

protocole 2G etDou ?SP mode tunnel ou transport les al%o de scurit utiliser pour encrypter: vrifier l(int%rit les cls utilises

La S2A =Security Association ata!ase) stocHe les S2 afin de savoir comment traiter les pa"uets arrivant ou partant. ?lles sont identifies par des triplets <

adresse de destination des pa"uets identifiant du protocole 2G ou ?SP utilis un inde) des param'tres de scurit =Security Parameter Inde)) "ui est un champ de #!bits envoyer en clair dans les pa"uets

La SPA =Security Policy Aatabase) est la base de confi%uration de IPSec. ?lle permet de dire au noyau "uels pa"uets il doit traiter. $(est 7 sa char%e de savoir avec "uel S2 il fait le traitement.

?n rsum: le SPA indi"ue "uels pa"uets il faut traiter et le S2A indi"ue comment il faut traiter un pa"uet slectionn.

iii. L'c!ange des cls

L(chan%es des cls ncessaires au crypta%e des donnes dans IPSec peut se faire de trois fa@ons diffrentes <

7 la main < pas tr's prati"ue IQ? =Internet Qey ?)chan%e) < c(est un protocole dvelopp pour IPSec. IS2Q.P =Internet Security 2ssociation and Qey .ana%ement Protocol) en est la base et a pour rPle la cration =n%ociation et mise en place): la modification et la suppression des S2. ?lle se compose de deu) phases <

la premi're permet de crer un canal scuris =par Aiffie5Gellman) et authentifi 7 travers du"uel on chan%e un secret pour driver les cls utilises dans la phase !.

la seconde permet de mettre en place IPSec avec ses param'tres et une S2 par sens de communication. Les donnes chan%es sont prot%es par le canal mis en place dans la phase 1.

2 l(issue de ces deu) phases: le canal IPSec est mis en place. Pour plus d'informations sur sa confi$uration, voir le tuto qui est consacr IP%ec!

!) Le protocole "PLS
$(est un protocole dvelopp en partie par $isco pour faciliter le routa%e IP par les commutateurs. Il est asseR peu employ. Il repose sur la commutation de Label =ce "ui n(a rien de particulier au VP ). Le principe est de mettre un entier =le label) entre les couches ! =liaison) et # =rseau) "ui vite au routeur de remonter plus haut "u(il n(en a besoin. 2insi: il a une table pour lui dire 8 si 4e re@ois un pa"uet avec le numro n 4e le rmet sur ma sortie S avec le label m 9. $eci vite d(avoir besoin de lire l(ent6te IP et de consulter sa table de routa%e IP. Voir aussi *out sur $pls.

c) L'implmentation "penVPN
&penVP est une solution "ui se base sur SSL. $ela permet d(assurer deu) choses 7 la fois: sans avoir besoin de beaucoup de lo%iciel cPt client <

l(authentification du client et du serveur la scurisation du canal de transmission 2* en offrant la m6me protection "u(IPSec

Il permet par e)emple de rsoudre les probl'mes de mais sans les contraintes.

Pour plus d'information voir le tuto consacr &penVPN!

III. )ibliographie
VPN 5 >seau) Privs Virtuels =>PV) Les *seau Privs Virtuels + Vpn %penVPN + &n %pen Source SSL VPN Solution b! ,ames -onan *seau priv virtuel + "i.ipdia