Mise en place d’un VPN SSTP (v4.0) Tutorial conçu et rédigé par Michel de CREVOISIER – Février 2011
SOURCES Laboratoire Microsoft : http://www.labo-microsoft.org/articles/Windows-server-2008-VPN-SSTP/ Step by step deployment guide by Microsoft : http://technet.microsoft.com/en-us/library/cc731352(WS.10).aspx Dépannage des incidents VPN communs : http://blogs.technet.com/b/rrasblog/archive/2009/08/12/troubleshooting-common-vpn-relatederrors.aspx
Dépannage des incidents d’une connexion SSTP :
http://support.microsoft.com/kb/947031/fr http://blogs.technet.com/b/rrasblog/archive/2007/09/26/how-to-debug-sstp-specific-connectionfailures.aspx
Identification des évènements systèmes relatifs au RRAS-SSTP :
http://technet.microsoft.com/en-us/library/cc733772(WS.10).aspx
Installation de la liste des certificats révoqués localement : http://www.carbonwind.net/blog/post/Quickly-establish-a-SSTP-VPN-connection-from-a-Windows-7RC-VPN-client-without-a-published-CRL-distribution-point.aspx
Sécurité du VPN SSTP : https://www.carbonwind.net/blog/post/Quick-fun-e28093-decrypting-with-Wireshark-some-SSTPtraffic.aspx
Configuration d’un port avec certificat SSL :
http://msdn.microsoft.com/fr-fr/library/ms733791.aspx http://blogs.technet.com/b/rrasblog/archive/2009/02/11/sstp-certificate-selection.aspx
INDEX SOURCES.................................................................................................................................................. 2 INDEX....................................................................................................................................................... 3 Préambule ............................................................................................................................................... 5 1.
2.
3.
Configuration du contrôleur de domaine ....................................................................................... 6 1.1
Groupe de sécurité .................................................................................................................. 6
1.2
Compte utilisateur ................................................................................................................... 6
1.3
Attribution d’une IP statique ................................................................................................... 6
Configuration d’Active Directory Certificate Services ..................................................................... 8 2.1
Ajout du rôle ADCS .................................................................................................................. 8
2.2
Configuration d’Internet Explorer ......................................................................................... 14
2.3
Activation du site de distribution des certificats ................................................................... 14
2.4
Demande de certificat ........................................................................................................... 15
2.5
Validation du certificat .......................................................................................................... 17
2.6
Installation du certificat ........................................................................................................ 18
2.7
Copie du certificat ................................................................................................................. 18
Configuration de « Network Policy and Access services » ............................................................ 22 3.1
Installation du rôle NPS ......................................................................................................... 22
3.2
Démarrage du serveur RRAS ................................................................................................. 24
3.3
Association du certificat ........................................................................................................ 25
3.4
Configuration du firewall....................................................................................................... 26
3.5
Changement du port d’écoute .............................................................................................. 26
3.6
Configuration des règles de filtrage ...................................................................................... 26
4.
Configuration de votre routeur/box.............................................................................................. 31
5.
Configuration du poste client ........................................................................................................ 32
6.
5.1
Installation du certificat ........................................................................................................ 32
5.2
Copie du certificat ................................................................................................................. 33
5.3
Importation de la liste des certificats révoqués (CRL)........................................................... 35
5.4
Configuration du fichier HOST ............................................................................................... 37
5.5
Création d’une connexion VPN ............................................................................................. 38
Erreurs et problèmes fréquents .................................................................................................... 42
6.1
Le nom CN ne correspond pas à la valeur passée ................................................................. 42
6.2
La fonction de révocation n’a pas pu vérifier la révocation car le serveur était déconnecté42
6.3
La connexion a été interdite par une stratégie… .................................................................. 43
6.4
Le nom demandé est valide, mais aucune donnée du type requis n’a été trouvée ............. 43
6.5 La connexion n’a pas pu être établie, car le protocole d’authentification utilisé par le serveur […] ne correspond pas aux paramètres… ............................................................................. 43 6.6 Une chaine de certificats a été traitée mais s’est terminée par un certificat racine qui n’est pas approuvé par le fournisseur d’approbation................................................................................ 44 Conclusion ............................................................................................................................................. 45
Préambule En premier lieu, vous devez savoir qu’il est nécessaire de maîtriser un minimum les fonctionnalités de base d’un domaine Windows Server 2008 (à savoir Active Directory et DNS) pour comprendre ce tutorial. Par ailleurs, sachez que leur installation ne sera pas détaillée à la suite. Pensez donc à vérifier que votre serveur DNS fonctionne correctement et pensez à créer une zone de recherche inverse. Si vous ne disposez pas d’une version de Windows Server 2008 R2 x64 SP1 Standard/Entreprise, vous pouvez télécharger une démo ici depuis le site officiel de Microsoft. Vous pouvez même la télécharger en VHD si vous utilisez Hyper-V ou Virtual PC. Attention, mes serveurs sont installés en anglais, je vous recommande donc d’opter pour cette langue lors de votre téléchargement ou bien de télécharger le pack multilingue en anglais ici pour ne pas perdre le fil… Pour ce tuto, j’utiliserai deux serveurs et un client : DC1 : Active Directory et DNS installés (non détaillé) VPN1 (membre du domaine): RRAS et ADCA installées (détaillé) CLIENT1 : poste client (Vista SP1 ou Seven minimum). Il n’est pas nécessaire que le client soit membre du domaine Enfin, sachez que ce tuto est destiné à être mis en place dans un environnement particulier ou PME. En effet, pour les grandes entreprises, il est recommandé de s’acquitter de certificats auprès d’une autorité compétente, de disposer d’une DMZ, de rendre publique la liste des certificats révoquer et de posséder un serveur avec de deux cartes réseau placées dans des réseaux différents.
1. Configuration du contrôleur de domaine 1.1 Groupe de sécurité Il est vivement recommandé de créer un groupe de sécurité afin de restreindre les accès au VPN à ce seul groupe. Par ailleurs, cela évite de devoir configurer individuellement chaque utilisateur souhaitant se connecter au VPN. Appelez ce groupe « GS_VPN ».
1.2 Compte utilisateur Créez un compte AD nommé « user-sttp » (un compte utilisateur normal suffit). Ensuite, ajutez ce compte au groupe « GS_VPN».
1.3 Attribution d’une IP statique Lorsqu’un utilisateur se connecte au VPN, il est indispensable qu’il dispose d’une IP dynamique ou statique. Dans notre cas, nous choisirons une IP statique : Ouvrir la console Active Directory > clic droit sur [user-sstp] > Properties > Dial-in
Cochez la case Assign Static IP Addresses
La fenêtre suivante s’ouvre :
Renseignez ensuite l’IP à fournir pour cet utilisateur Attention à ne pas indiquer une IP faisant partie d’une plage DHCP
2. Configuration d’Active Directory Certificate Services 2.1 Ajout du rôle ADCS
Pour ajouter ce rôle, cliquez sur le Gestionnaire de serveur Add roles
Vous pouvez également opter pour une clef de 4096 et un hash en SHA512 (ne pas changer le type de CSP)
2.2 Configuration d’Internet Explorer A exécuter en tant qu’administrateur si vous avez l’UAC d’activé : clic droit sur IE > « Run as administrator ».
Tools > Options > Security > Local intranet > LOW
2.3 Activation du site de distribution des certificats
Lancer IIS Manager Cliquer sur Default Web Site Puis sur Directory Browsing
Cliquer sur Enable (à droite)
2.4 Demande de certificat
Aller sur www.localhost/certsrv/en-US ou « en-FR » si version française Cliquer sur Request a certificate
Puis sur Advances certificate request
Cliquer sur Create and submit a request to this CA
Acceptez les ActiveX En Name, mettre le FQDN de VPN1 (nom_machine.domaine.com) Dans Type of certificate needed, mettre Server Authentification Certificate Cochez la case Mark key as exportable Vous pouvez augmenter la taille de clef jusqu’à 16384 !!!
Cliquez sur Submit en bas à droite Votre demande est maintenant en attente de validation
2.5 Validation du certificat
Ouvrir Certification Authority dans Administrative Tools du menu démarrer Cliquer sur Pending request
Puis clic droit sur le certificat > All tasks > Issue Votre demande est maintenant validée
2.6 Installation du certificat
Aller sur www.localhost/certsrv/en-US ou « en-FR » si version française Cliquer sur View the status…
Cliquez sur Install the certificate
2.7 Copie du certificat
Start > Run > MMC > OK
File > Add/Remove Snap-in
Certificates > Add > My user account > OK
Certificates > Add > Computer account > Local computer > OK Ok
Vous obtenez ceci :
Déroulez Certificate – Current User > Personal afin de sélectionner votre certificat récemment installé Clic droit All tasks > Export
Next
Yes, export the private key > Next > [votre PSW] et [nom certificat] > Next > Finish Déroulez Certificate (Local computer) > Personal > Certificates
Clic droit sur Certificates >All tasks > Import Next [Emplacement certificat] > Next Votre mot de passe > Next > Next > Finish
Notez qu’un copiez/collez entre les magasins de la MMC ne fonctionne pas. Le certificat doit être exporté et importé avec ses attributs pour être reconnu comme tel.
3. Configuration de « Network Policy and Access services » 3.1 Installation du rôle NPS
Pour ajouter ce rôle, cliquez sur le « Gestionnaire de serveur » Add roles (à droite)
3.2 Démarrage du serveur RRAS Lors du déploiement d’un VPN, vous avez le choix d’utiliser 2 cartes réseaux. Cela implique bien sûr d’avoir 2 sous-réseaux à disposition i, et également de rajouter le rôle « Routage » sur votre serveur VPN1. L’avantage de cette solution est que la carte réseau du réseau public est totalement isolée par rapport à votre réseau interne. Dans mon cas et dans ce tuto, n’ayant pas besoin d’une telle configuration (et surtout n’ayant qu’un seul réseau), j’ai tout simplement utilisé une seule carte réseau (pas de routage donc).
Lancer Routing and remote access Clic droit sur [nom_votre_serveur] > Configure and enable
L’assistant suivant apparait :
3.3 Association du certificat Il faut maintenant « binder » ou associer le certificat SSL au port 443. Pour cela : Ouvrez la console Routing and Remote Access Clic droit sur le nom du serveur > Properties > Onglet Security Sélectionnez le certificat créé auparavant dans le menu déroulant :
Redémarrez ensuite le serveur Routing and Remote Access
Avant de continuer, vous devez vérifier que le certificat SSL a bien été enregistré. Pour cela, ouvrez une fenêtre DOS en mode administrateur et tapez : netsh http show sslcert
3.4 Configuration du firewall
Ouvrez le gestionnaire de firewall avancé Bloquez les règles entrantes (inbound rules) existantes suivantes par sécurité (le service « Pare-feu / Windows Firewall » doit bien entendu être activé) : o GRE-in o L2TP-in o PPTP-in Double clic sur la règle > Bloquer
3.5 Changement du port d’écoute Si vous êtes derrière un router NAT et que vous souhaitez modifier le port d’écoute de votre serveur VPN SSTP, modifiez la clef de registre suivante : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SstpSvc\Parameters\ListenerPort [0]
Modifiez ensuite la valeur ListenerPort avec le port souhaité. Pensez également à modifier la règle firewall propre au SSTP afin qu’elle prenne en compte votre nouvelle configuration. Sachez que dans tous les cas le client cherchera à se connecter via le port [443]. Après la modification du registre, redémarrez votre PC pour prendre la nouvelle configuration.
3.6 Configuration des règles de filtrage
Lancer la console NPS
Aller dans Policies > Connection Requet Policies Supprimer toutes les règles existantes (clic droit > Supprimer) Ensuite, créez une nouvelle règle : clic droit > Connection Request Policies > New
L’assistant suivant se lance :
Tapez un nom pour votre stratégie : « Accès distant VPN-SSTP » Type of network > Remote Access Server (VPN-Dial up) Next
Add Ajoutez ensuite les règles suivantes dans la liste : o Framed Protocol : PPP o NAS port type : Virtual VPN o Tunnel Type : SSTP
Répondez ensuite Next à toutes les options, puis sur terminer Vous obtenez un résultat semblable à cela :
Il faut maintenant créer une stratégie réseau:
Aller dans Policies > Network Policies Supprimer toutes les règles existantes (clic droit > Supprimer) Ensuite, créez une nouvelle règle : clic droit > Network Policies > New L’assistant suivant se lance :
Add Ajoutez ensuite les règles suivantes dans la liste : o Users groups : ajoutez le groupe « GS_VPN » dont VPN-user est membre o Day and time restrictions (optionnel)
Répondez ensuite Next à toutes les options, puis sur terminer
Pour terminer, redémarrer votre serveur RRAS pour prendre en compte la nouvelle considération :
Lancer Routing and remote access Clic droit sur [nom_votre_serveur] > All tasks > Restart Votre serveur NPS est dorénavant opérationnel.
4. Configuration de votre routeur/box Pour vous connecter depuis l’extérieur, vous devez ouvrir le port 443 en TCP sur votre routeur et le redirigez vers l’IP interne du serveur VPN1. Je vous laisse chercher sur internet pour savoir comment ouvrir le port selon votre type de box/routeur. Vous devriez avoir quelque chose semblable à cela : Port public
IP et port interne
5. Configuration du poste client 5.1 Installation du certificat
Depuis votre poste client, allez sur le site http://nom_serveur_VPN1/certsrv/en-US Download a CA certificate…
Download a CA certificate
Ouvrir > Installer le certificat
Suivant > Suivant > Terminer
5.2 Copie du certificat
Start > Run > MMC > OK
File > Add/Remove Snap-in
Certificates > Add > My user account > OK Certificates > Add > Computer account > Local computer > OK
Ok
Vous obtenez ceci :
Certificats – utilisateur local > Autorités de certification intermédiaire > Certificats Clic droit sur votre certificat > Copier Certificats (ordinateur local) > Autorités de certification racine de confiance > Certificats Clic droit > Coller
5.3 Importation de la liste des certificats révoqués (CRL) Avant tout, vous devez savoir qu’avant même de procéder à l’établissement de la connexion VPN, votre poste client va obligatoirement vouloir accéder au site des certificats révoqués afin de vérifier que votre certificat est bien valide. Si vous ne souhaitez pas rendre publique votre site web sur internet (pour des raisons de sécurité), vous devez télécharger la dernière version des CRL localement sur votre poste client. Vous devez pour cela utiliser la même MMC que dans le paragraphe précédent.
Depuis votre poste client, aller sur http://nom_serveur_VPN1/certsrv/en-US ou « enFR » si version française Download a CA certificate …
Download lastest base CRL
Télécharger et indiquer l’endroit où vous souhaitez l’enregistrer Ouvrez la MMC créait au point précédent Certificats (ordinateur local) > Autorités de certification intermédiaires > Toutes les tâches > Importer
Attention ! L’inconvénient majeur de ne pas publier votre liste de révocations est que vous devrez répéter cette procédure tous les 7 jours tout au plus. En effet, au-delà de cette période votre fichier CRL arrivera à échéance et vous ne pourrez plus vous connecter.
5.4 Configuration du fichier HOST Pour vous connectez à distance depuis votre poste CLIENT1, il vous sera obligatoire de rajouter une entrée dans votre fichier HOST.
Editez vote fichier HOST de la façon suivante : o notepad %windir%\system32\drivers\etc\hosts
Ajoutez à la fin la ligne suivante : o
5.5 Création d’une connexion VPN Depuis le Centre de réseau et partage, cliquez sur :
Connexion à votre espace de travail
Utilisez ma connexion Internet (VPN)
Remplir les champs nom d’utilisateur et mot de passe avec le compte AD « clientvpn » créé auparavant.
Créer Revenez ensuite au Centre de réseau et partage, et cliquez en haut à gauche sur Modifier les paramètres de la carte
Clic droit sur la connexion VPN récemment créée (VPN SSTP) > Propriétés
Vérifiez que vous avez bien mis le FQDN de VPN1 dans l’onglet Général
Dans le menu déroulant de l’onglet Sécurité choisissez Protocole SSTP
Cliquez sur OK Votre VPN SSTP est prêt. Il ne vous reste donc plus qu’à saisir les identifiants de l’utilisateur « user-sstp » pour vous connecter
PS : il n’est pas nécessaire de saisir le domaine
6. Erreurs et problèmes fréquents Les erreurs suivantes sont celles que j’ai pu rencontrer lors de l’installation du VPN SSTP. Certaines m’ont obligé à passer pas mal de temps sur internet à la recherche d’une solution. J’espère donc qu’elles vous seront de grandes utilités. Si une erreur n’est pas répertoriée ici, reportez-vous aux sites cités au début dans la partie « Sources ». Attention la liste ci-dessous n’est pas exhaustive.
6.1 Le nom CN ne correspond pas à la valeur passée Erreur : 800B010F
Vous avez mis l’IP de VPN1 (ou votre IP public) au lieu de son FQDN lors de la création du VPN via l’assistant Windows : Mettez le FQDN au lieu de l’IP dans les propriétés du VPN créé, comme indiqué dans le point 5.5
Vous avez mis le FQDN mais mal renseigné le fichier host Modifiez le fichier HOST comme indiqué dans le point 5.4
6.2 La fonction de révocation n’a pas pu vérifier la révocation car le serveur était déconnecté Erreur : 80092013
Vous n’avez pas téléchargé et installé localement la liste des certificats révoqués. Reportez-vous au point 5.3 et vérifiez que vous avez correctement téléchargé et installé la liste des certificats révoqués La liste de révocation des certificats est périmée. Téléchargez-la sur votre poste client selon le point 5.3
6.3 La connexion a été interdite par une stratégie… Erreur : 812
Votre stratégie NPS bloque la connexion. Référez-vous au paragraphe 3.6 pour configurer vos règles de sécurités NPS correctement.
6.4 Le nom demandé est valide, mais aucune donnée du type requis n’a été trouvée Erreur : 80072AFC
Le nom saisit lors de la création du VPN est erroné (attention, à vérifier !) : Vérifiez que le nom d’hôte correspond bien à « nom_pc.nom_domaine », comme indiqué dans le point 5.5
6.5 La connexion n’a pas pu être établie, car le protocole d’authentification utilisé par le serveur […] ne correspond pas aux paramètres… Erreur : 919
La méthode d’authentification de votre poste client ne correspond pas à celles à acceptées par le serveur Allez dans Routing and remote access > clic droit [serveur] > Properties > Security > Authentification Methods et sélectionnez la case appropriée. Pour information le VPN SSTP utilise la méthode MS-CHAP v2 et le VPN PPTPEAP la méthode Extensible authentification protocol (EAP)
6.6 Une chaine de certificats a été traitée mais s’est terminée par un certificat racine qui n’est pas approuvé par le fournisseur d’approbation. Erreur : 800B0109
Vous n’avez pas installé correctement le certificat sur votre poste client : Référez-vous au paragraphe V.1. pour ajouter le certificat
Le certificat SSL a mal été associé à votre VPN. Rendez-vous au point 3.3 pour corriger ce point
Conclusion Voilà, votre VPN SSTP est prêt. Vous pouvez dorénavant vous connectez chez vous depuis n’importe quel endroit, du moment que vous avez un accès internet et que le port [443] n’est pas bloqué.
N’hésitez pas à m’envoyer vos commentaires ou retours à l’adresse suivante : m.decrevoisier A-R-0-B-A-5 outlook . com
Soyez-en d’ores et déjà remercié