Connexion VPN en SSTP sur un serveur Small Business Server 2008

Les connexions VPN en SSTP sur SBS 2008 c'est possible ! :-)

Vous avez des abonnements avec des opérateurs qui vous bloquent les connexions VPN en filtrant le port TCP 1723 (PPTP) ou UDP 500,4500,1701 (L2TP/IPsec), vous pourrez quand même vous connectez en VPN sur votre serveur SBS 2008 à l'aide du protocole Secure Socket Tunneling Protocole sur du TCP port 443,  c'est à dire au travers de tous pare-feu. Pour en savoir un peu plus : https://technet.microsoft.com/en-us/magazine/2007.06.cableguy.aspx

image

Avant de commencer le paramétrage , il faut être à jour au niveau du serveur comme du client et surtout faire une sauvegarde de votre serveur. Attention pour les connexions en SSTP, il faut avoir au minimum un client Windows Vista SP1 !

Comme vous avez pu le voir, dans le lien plus haut, une connexion SSTP s'appuie sur une session "HTTP over SSL" donc l'installation et le paramétrage du certificat "authentification du serveur" "remote.mon-domaine-pulic.com" sur le serveur SBS 2008 doit être correcte. Normalement, tout cela a été installé automatiquement lors de l'assistant "configurer votre adresse internet".

C'est le même certificat qui nous servira à nous connecter en SSTP et en HTTPS avec le server IIS

image

N'hésitez pas à aller dans la console pour "checker" votre réseau et lancer l'assistant "Réparer mon réseau" pour fixer les problèmes éventuels.

image

Si vous n'avez pas acheté un vrai certificat :-) auprès d'une autorité tiers ( VeriSign, Twate, Godaddy .....), les clients doivent "truster l'autorité du certificat" qui est en fait le serveur de certificat dans SBS 2008.

Les clients membres du domaine SBS "trustent" l'autorité du certificat de SBS.

Pour les clients non membres du domaine ou PDA, il existe un utilitaire (C:\Users\Public\Downloads sur le serveur SBS ) pour installer le certificat de l'autorité de certificat ...

Il est beaucoup plus simple d’acheter un vrai certificat auprès d’une autorité de certification tiers. Il existe un assistant pour faire la demande et l’installation correctement.

image

Pour vérifier que l’installation du certificat est correcte, connectez vous à distance avec un client sur le site https://remote.mon-domaine.com. Si tout est correct il restera deux étapes.

1) Dans un premier temps il faut paramétrer le service RRAS du serveur SBS pour les connexions VPN :

  • le plus simple c'est d'aller dans la console de SBS 2008 et de lancer l'assistant

image

  A la fin de l'assistant , cinq entrées PPTP seront créées, mais aucune pour les connexions SSTP entrantes.

Pour paramétrer les connexions SSTP entrantes:

-> Outils d'administration -> Routage et accès distant

-> Clic droit sur Ports -> sélectionnez Wan Miniport [SSTP] -> Configurer ...->

image

  • Mettre le nombres de connexions entrantes souhaitées et cochez l'option "Connexions d'accès à distance entrantes"

image

2) Dans un deuxième temps, il restera à paramétrer le certificat pour la connexion SSTP. -Par chance les connexions SSL du serveur IIS et les connexions en SSTP cohabitent :-) ! Il faut passer par des commandes "netsh" de manière à pouvoir “binder le certificat " authentification du serveur" "remote.mon-domaine-pulic.com" pour le service SSTP de RRAS.

Pour bien comprendre :

En lançant une "invite de commandes" avec les droits administrateur puis la commande "netsh http show sslcert" on voit :

image

  • la partie " Port IP : 0.0.0.0:443" => correspond à l'adresse IP et le port d'écoute du serveur IIS
  • la partie "Hachage du certificat : 510072587d6bd6203c6cbaca3d29753f8bb4b0a8" => correspond au hash du certificat "remote.mon-domaine.com" .Pour vérifier le hash du certificat il suffit de lancer une console "mmc " certificats -> compte ordinateur et sélectionner le certificat "remote.mon-domaine.com" -> "empreinte numérique".

 

 

image

  • la partie " ID de l'application : {4dc3e181-e14b-4a21-b022-59fc669b0914}" => correspond à l'URI (Uniform Resource Identifier) de IIS 7. Sachant que les connexions SSTP sur RRAS utilisent un URI unique {BA195980-CD49-458b-9E23-C84EE0ADCD75}(cela peut être vérifié dans la base de registre HKLM\ System\ CurrentControlSet\ Services\ Sstpsvc\ Parameters\ ServerURI)

Pour binder le certificat, pour les connexions SSTP, lancer les commandes suivantes

· “ netsh http delete sslcert ipport=0.0.0.0:443”

· “netsh http add sslcert ipport=0.0.0.0:443 certhash=510072587 d6bd6203c6cbaca3d29753f8bb4b0a8 appid={ba195980-cd49-458b-9e23-c84ee0adcd75} certstorename=MY”

Pour vérifier que cela à bien fonctionner lancer la commande “netsh http show sslcert” et vérifier l‘URI SSTP (ID de l’application) ainsi que le hash du certificat

image

Relancer les services IIS et RRAS et c’est terminé pour ceux qui utilisent un certificat acquis auprès d’une autorité publique.

Pour ceux qui utilisent un certificat émis par l’autorité de certification de SBS il y aura un paramétrage (bidouillage) supplémentaire à faire sur les postes clients. En effet, avant d’établir la connexion, un client SSTP doit contacter la CRL (Certificate Revocation list) de l’autorité de certification.

Plus d’info : https://fr.wikipedia.org/wiki/Liste_de_r%C3%A9vocation_de_certificats

Regardons la CRL d’un certificat émis par l’autorité de certification de SBS :

image

 

Ceci veut dire que le client SSTP doit se connecter sur l’ URL “https://srv.mtam.local/CertEnroll/mtam-SRV-CA.crl” avant d’établir une connexion SSTP.

Pour joindre un serveur distant avec un nom FQDN en .local avec un poste connecté à internet, une seule façon, créer une entrée dans le fichier host du client:

  • Lancer une "invite de commandes" avec les droits administrateur
  • “notepad %windir%\system32\drivers\etc\hosts”
  • X.X.X.X (l’adresse IP public)     mon-serveur-sbs.local

Il ne restera plus qu’à rendre disponible l’URL “https://srv.mtam.local/CertEnroll/mtam-SRV-CA.crl” sur le serveur SBS .

  • Menu “Démarrer” –> “Gestionnaire du serveur” –> “Services de certificats Active Directory”-> “ajouter des services de rôle”-> et “ Inscription de l’autorité de certification via le Web”

image

Ne pas oublier de paramétrer le port forwarding tcp 80 au niveau du routeur/pare-feu. Redémarrer les services IIS et RRAS  et c’est terminé :-)

Pour paramétrer une connexion VPN en SSTP sur le poste client, rien de plus simple !

image

image

Bon tests !

Un grand merci à mon collègue Pascal Saulière pour le prêt de son serveur SBS pour les tests sans oublier Stanislas Quastana de m’avoir ouvert l’esprit sur la CRL :-)