You are on page 1of 10

Windows Server 2008 : VPN SSTP

Accueil > Articles > Rseaux Aprs les connexions daccs distant par numrotation pour accder au rseau interne de lentreprise depuis lextrieur, le V PN ou RPV (pour Virtual Private Network ou Rseau Priv Virtuel) sest aujourdhui impos comme la solution de rfrence, que ce soit pour ce type daccs comme pour les liaisons site site. Cette technologie permet de rduire les cots lis la mise en place des quipements ncessaires, la complexit de son installation, et accrot la scurit par un chiffrage des communications. En fait, une liaison VPN peut tre reprsente par un cble direct tir entre lutilisateur et le serveur distant. La mise en place dun VPN dentreprise peut prendre plusieurs formes : appliances ddies, routeurs comprenant la fonctionnal it VPN, ou encore serveur. Jusqualors, 2 protocoles taient utiliss : PPTP et L2TP/IPsec. PPTP est connu pour sa simplicit de mise en place et la gar antie de la confidentialit des communications, L2TP/IPSec pour sa scurit optimale et sa complexit dinstallation. Depuis quelques annes apparat une autre sorte de VPN, le SSL VPN. Dj disponible sur des solutions tierces telles quOpenV PN ou des appliances CISCO, SonicWall, le SSL VPN a t implment par Microsoft galement sous le nom de SSTP. Quelles sont les diffrences majeures qui sparent ces protocoles ? Comment mettre en place cette nouvelle solution sur un serveur Windows Server 2008 ? Deux questions auxquelles nous allons essayer de rpondre dans la suite cet article.

Sommaire 1. Gnralits et rappels sur les protocoles VPN 2. Configuration du serveur 3. Configuration du client 4. Considrations notables et dpannage 5. Conclusion

Gnralits et rappels sur les protocoles VPN


PPTP (Point to Point Tunneling Protocol)
PPTP est probablement le plus rpandu en ce qui concerne laccs distant des nomades. Facile mettre en place (quelques clic s peine pour une installation basique sur Windows Server), il convient parfaitement aux infrastructures ne ncessitant pas de scurit particulire et ncessite peu de maintenance. Il comblera nanmoins les obligations de chiffrage du trafic avec le protocole Microsoft Point-to-Point Encryption (MPPE). Sa simplicit de mise en place se couple avec le trs large support des systmes dexploitation clients et laisance de configuration dune connexion PPTP sur ceux -ci qui, pour la plupart, ne ncessiteront pas de client logiciel tiers. On notera nanmoins des dsavantages. Ltablissement et le maintien de la session se fait en fait via 2 liens persistants : 1 session GRE (Generic Routing Encapsulation) encapsulant une session PPP et 1 session TCP vers le port 1723 du serveur servant grer la session GRE. Utilisant le protocole dencapsulation GRE, il nest pas vident quil puisse tre mis en place partout. En effet, nombre de matriels ne gre pas GRE ce qui rend impo ssible son implmentation, et notamment les routeurs basiques et les fameuses Box des diffrents FAI. Autre point faible, lauthentification de lutilisateur avant ltablissement de la session. Bien quutilisant couramment le protocole MS-CHAPv2, cela laisse une place aux mots de passe faibles des utilisateurs, lacune qui peut tre comble par lemploi de certificats avec EAP-TLS.

L2TP (Layer 2 Tunneling Protocol)


On peut considrer L2TP comme une volution de PPTP puisquil est issu de celui-ci et du L2F de Cisco. Sa RFC ayant t publie en 1999, cest un protocole relativement rcent. Il est trs peu utilis seul du fait de son absence de scurit, ce qui fait qu il est presque toujours utilis avec IPSec ; il est alors nomm L2TP/IPSec. Celui-ci garantit ltablissement dun canal scuris entre le client et le serveur. Le protocole IKE (Internet Key Exchange) est c harg de ngocier lassociation de scurit qui emploie des certificats ou une cl pr-partage des 2 cts du canal. Ceci a lieu vers le port UDP 500. Le protocole ESP (Encapsulation Security Payload, protocole n50) encapsule alors le tunnel L2TP et lui procure confidentialit et authenticit des paquets. Mais si L2TP/IPSec offre une scurit accrue, il est difficile mettre en place et peut rencontrer des problmes de compatibilit avec des pare-feux. Cest dailleurs pour ces raisons quil est lorigine prvu pour tablir des liaisons site site. En effet, il sera souvent utilis avec des certificats des 2 cts du canal, ce qui ncessiterait une infrastructure cls publiques importantes pour des connexions nomades.

SSTP (Secure Socket Tunneling Protocol)


SSTP est aujourdhui la solution en vogue pour les liaisons VPN. Les appliances ddies et solutions logicielles se multiplient avec plus ou moins de succs. SSTP est bas sur le protocole SSL ou TLS et donc sur lauthentification du serveur par certificat et tablissement dune lia ison chiffre entre les 2 htes. Cette base lui confre en outre une trs large compatibilit avec les quipements rseau, la connexion stablissant via le p rotocole TCP vers le port 443. Cette solution de SSL VPN est implmente nativement sur Windows Server 2008 depuis sa RC0 ce qui vite tout investissement dans une solution tierce. Prvue pour une utilisation des clients nomades uniquement, son support est uniquement fourni par Windows Vista SP1 ; on regrettera son absence dans le Service Pack 3 de Windows XP.

A la fin de la ngociation de la session, un paquet IPv4 transitant dans le tunnel SSTP est encapsul dans un en-tte PPP puis SSTP le tout chiffr avec la cl de session SSL. Sont ajouts ensuite un en-tte TCP puis IPv4.

Configuration du serveur
Configuration initiale
Configuration matrielle
La configuration matrielle ncessite un ordinateur supportant Windows Server 2008 et une capacit de monte en charge si le nombre de clients nomades est lev. On peut galement imaginer la virtualisation du systme dexploitation par le biais dHyper-V ou de Windows Virtual Server 2005 R2. Il devra tre quip dau moins 2 cartes rseau, une oriente vers Internet, lautre vers le rseau local de lentreprise.

Configuration logicielle
SSTP ncessite Windows Server 2008. Doivent y tre installs les Active Directory Domain Services (AD CS). Un utilisateur de test dont on aura autoris laccs distant dans ses proprits est galement requis.

Mise en place d'AD CS


SSTP tant bas sur SSL et fortiori sur lauthentification du serveur par certificat, nous prfrons, pour la suite, crer notre propre autorit de certification (CA) plutt que dengager des frais dans lobtention dun certificat valid par une entit reconnue. Dans le Server Manager, ajoutez un rle. Aprs lcran de bienvenue, choisissez Active Directory Certificate Services. A lcran suivant, slectionnez le Web Enrollment. Ceci ncessite IIS (Internet Information Service) sur le serveur hbergeant lautorit de certification, les comp osants requis vous sont donc proposs. Laissez les lments par dfaut.

Suivez lassistant en choisissant une autorit Standalone racine et en validant les options par dfaut. Lautorit de certification est dsormais en place. Nanmoins, le certificat associ est de la forme [nom de votre serveur]-DC-CA . Pour ltablissement de la connexion SSTP, il est ncessaire que le certificat ait t dlivr au nom employ lors de la demande de connexion. Nous devons donc en gnrer un qui correspondra au FQDN (Fully Qualified Domain Name) utilis lors de la configuration du client. Ouvrez Internet Explorer 7 en tant quAdministrateur. Allez dans les Options Internet et abaissez au maximum le niveau de sc urit de la zone Intranet. En effet, lors de la procdure, la page permettant de personnaliser le certificat contient des contrles ActiveX qui ne pourraient pas sexcuter par dfaut. Remplissez le formulaire en noubliant pas que le 1er champ doit tre le FQDN du serveur utilis par les clients ! Choisissez Server Authentication Certificate dans la liste qui suite. Marquez la cl comme exportable et donnez un nom familier et explicite au certificat.

Dans la console de lAutorit de certification, dlivrez le certificat en attente. Retournez laccueil de linte rface Web, allez pour regarder les certificats en attente et installez celui que vous avez demand. Ouvrez une MMC et ajoutez-y le composant logiciel enfichable Certificats pointant vers lordinateur local, puis le mme mais pointant vers lutilisateur courant. Dans le magasin personnel de lutilisateur, exportez le certificat et sa cl prive. Allez dans le magasin personnel de lordinateur local et importez le fichier PFX que vous avez sauv juste avant. Exportez le certificat nomduserveur-DC-CA et supprimez-le du magasin.

Mise en place du service VPN


Installez le rle Network Policy and Access Services mais ne slectionnez que les composants de routage et daccs distant ai nsi que Network Policy Server. Ouvrez la console associe, faites un clic droit sur le nom de votre serveur et choisissez de configurer le service. Slectio nnez loption Remote access (dialup or VPN) puis VPN uniquement. Choisissez linterface qui connecte le serveur Internet, puis, si ce serveur est ddi laccs VPN uniquement, laissez la case coche ; sinon dcochez-la. Cette tape est importante : en effet, si la scurisation de linterface est active, tout le trafic tranger au trafic V PN sera stopp par les filtres dentre de la carte rseau. Choisissez ensuite la mthode dattribution des IP : soit par un serveur DHCP, soit par un pool dadre sses IP que vous pouvez dfinir et qui sera gr directement par RRAS (Routing and Remote Access Services). Cela fonctionnerait en ltat. Nanmoins pour des raisons de scurit, il est recommand de fermer les ports PPTP et L2TP : cela se passe dans les proprits du sous-nud Ports. Remarque : le nombre de ports PPTP ne peut pas tre nul !

Contrle de l'accs distant par NPS


Network Policy Server est le nouveau nom donn feu IAS, prsent sous Windows Server 2003. Lorsquil est install sur le mme serveur que les services de routage et daccs distant, lauthentification des clients dis tants passe obligatoirement par lui. On note galement que ces services nont pas tre identifis explicitement comme clients RADIUS puisquils sont hbergs sur la mme machine.

Afin de scuriser et restreindre laccs VPN, on peut mettre en place une stratgie rseau, anciennement appele stratgie daccs distant. Cela se fait dans la console Network Policy Server sous le nud Stratgies puis Stratgies rseau. Sont ici spcifies des contraintes cumulabl es que la tentative de connexion devra respecter comme les horaires de connexion, lappartenance un groupe pour lordinateur et/ou lutilisateur, lexcution dun systme

dexploitation spcifique ou encore le respect des exigences de scurit avec la technologie NAP (Network Access Protection).

Suivant le souhait ou non de faire passer les proprits daccs distant du compte de lutilisateur avant ces restrictions, il faudra indiquer dans lesdites proprits que son accs est soumis aux rgles dfinies dans NPS.

3. Configuration du client

Installation du certificat de l'autorit racine


Comme nous lavons vu prcdemment, SSL est bas sur lauthentification du serveur. Celui -ci envoie donc son certificat lors de la ngociation de la connexion ; ds lors, comment garantir que ce certificat est valable ? En faisant rentrer en jeu lautorit de certification racine de confiance que lon suppose intgre. Lordinateur doit faire confiance cette autorit et pour cela possder son certificat dans son magasin dautorit racine de confiance. Nativement, seules des autorits reconnues internationalement sont prsentes. Il faut donc intgrer ce magasin le certificat de lautorit racine que nous avons install e dans le point prcdent. Pour se faire, deux solutions soffrent nous : soit par tlchargement et installation du certific at via linterface Web, soit par dploiement via GPO.

Via l'interface Web CertEnroll


Accdez linterface web de lautorit de certification depuis le client et choisissez de tlcharger un certificat dautori t de certification. Crez une MMC avec le composant Certificats pointant sur lordinateur local, choisissez le magasin dautorits racines de confiance et importez certifica t suscit.

Via GPO
Dans la GPO souhaite (du domaine par exemple), dveloppez Configuration Ordinateur, Stratgies, Paramtres Windows, Stratgies de scurit, Stratgies de cls publiques et enfin Autorits de confiance. Importez le certificat de lautorit racine. Attendez le cycle de ractualisation des stratgies de groupe ou forcez-la sur le client par gpupdate /target:computer /force .

Configuration de la connexion VPN


Cliquez sur licne du Centre Rseau et Partage et Se connecter . Crez une nouvelle connexion vers votre lieu de travail, c hoisissez VPN, entrez le FQDN du serveur, un nom pour la connexion, puis les identifia nts de lutilisateur. Editez maintenant les proprits de la connexion et dans longlet Rseau, choisissez SSTP la place de Automatique .

3. Considrations notables et dpannage


Les enregistrements DNS
Il est recommand demployer une URL ddie au service SSTP par soucis de lisibilit et de comprhension. Aussi, une adresse de VPN sstp.votredomaine.com nest pas du plus mauvais genre. Attention nanmoins indiquer votre serveur DNS un alias vers vot re serveur VPN qui ne porte pas forcment ce FQDN.

La CRL, un lment ne pas ngliger


La CRL, ou Certificate Revocation List, est comme son nom lindique un lment regroupant les certificats ayant t rvoqus, en dautres mots qui ne sont plus valides.

Ds lors, pour vrifier que le certificat du serveur est toujours valable, lordinateur client doit avoir accs lemplacement de stockage de la CRL. Pour les clients distants, cest le plus souvent une URL vers un serveur Web de lentreprise. Par dfaut, lURL de la CRL est de la fo rme http://nomdevotreserveur.votredomaine/... alors que ce nom nest pas forcment accessible depuis Internet. Il est alors intressant de changer cette adresse et de la mettre sous la forme http://sstp.votredomaine/... pour correspondre avec lURL du VPN par exemple. C ette modification doit tre faite si possible avant lmission du 1er certificat du serveur directement dans les proprits de lautorit de certification. Aprs avoir ind iqu que les certificats doivent intgrs cette nouvelle donne, puis aprs avoir forc la publication de la 1re CRL, les problmes lis devraient disparatre.

Le changement de certificat du serveur


Il peut arriver davoir changer de certificat au niveau serveur. On citera notamment la corruption de lautorit de certifi cation, ou plus simplement le changement du FQDN daccs au serveur, ou encore la modification de lURL de publication de la CRL. Si vous devez procder son remplacement, faites comme suit : Supprimez lancien certificat du magasin et importez le nouveau. Ouvrez un invite de commande en tant quadministrateur et entrez ces commandes : Netsh http delete ssl 0.0.0.0:443 #ceci enlve le lien entre le certificat et le port 443 Netsh http delete ssl [::]:443 #idem pour IPv6 Reg delete HKLM\system\currentcontrolset\services\sstpsvc\parameters /v SHA256CertificateHash /f

Si vous avez plusieurs certificats dauthentification de serveur dans le magasin, entrez ces deux commandes :

Netsh http add sslcert ipport 0.0.0.0:443 certhash=[Thumbprint du certificate sans espaces] appid={ba195980-cd49-458b-9e23-c84ee0adcd75} certstorename=MY Netsh http add sslcert ipport [::]:443 certhash=[Thumbprint du certificat] appid={ba195980-cd49-458b-9e23-c84ee0adcd75} certstorename=MY

Net stop sstpsvc /y Net start remoteaccess

3. Conclusion
Le SSL VPN de Microsoft, SSTP, est donc une solution fiable et scurise. Bas sur des certificats et la technologie SSL, il amliorera la scurit des donnes sans pour autant introduire la complexit de mise en place dune solution L2TP/IPSec. En outr e, il permettra de contourner la non-gestion des protocoles ESP ou GRE par certains quipements des autres technologies VPN. On regrettera nanmoins labsence de compatibilit de ce protocole avec Windows XP SP3, encore massivement utilis en entrepr ise.