Authentification VPN SSTP avec certificat client

J’ai l’habitude de gérer des VPN SSTP sur Windows Server, avec des utilisateurs se connectant uniquement avec un nom d’utilisateur et un mot de passe. J’utilise des certificats Let’s Encrypt pour les certificats du serveur, donc je n’ai pas besoin d’ajouter un certificat racine de CA Windows sur chaque ordinateur client (bien que je suppose que cela pourrait améliorer la sécurité si je faisais l’inverse, non ?).

Je souhaite que les clients puissent se connecter avec un certificat au lieu d’un nom d’utilisateur et d’un mot de passe, comme OpenVPN, mais je ne trouve aucune information à ce sujet. La plupart de mes recherches m’orientent vers des tutoriels sur le certificat du serveur, dans un seul résultat j’ai trouvé une question similaire à la mienne, mais sans réponse. J’ai également trouvé quelques informations sur l’utilisation d’une carte à puce virtuelle, mais sans succès.

Pouvez-vous me donner des indications ? Au fait, j’utilise NPS.

Je n’ai pas les commandes ou étapes exactes, mais le processus devrait ressembler à ceci :

  • Mettre en place le service d’Autorité de Certification Microsoft pour délivrer des certificats clients à des comptes ordinateur ou utilisateur.
  • Configurer un GPO pour émettre/renouveler automatiquement un certificat. (Oui, cela signifie que chaque machine devra être connectée au moins une fois au réseau pour recevoir la politique et que le VPN pourra fonctionner)
  • Configurer la connexion VPN SSTP pour utiliser PEAP avec un certificat comme source d’authentification.
  • Configurer NPS pour accepter l’authentification avec des certificats clients.

Concernant le point 2 : je pensais pouvoir utiliser des certificats utilisateur, et dans deux scénarios il n’y a pas de machines clientes jointes au domaine.

Concernant le point 4 : dans NPS, lorsque j’ouvre une politique et vais dans Paramètres > Méthodes d’authentification et modifie les propriétés de « Microsoft : Protected EAP (PEAP) », je ne trouve que des références au certificat que le serveur doit utiliser comme preuve d’identité POUR les clients ou appelants, dans deux endroits. Mais je vais faire des tests dans le scénario avec des machines clientes jointes au domaine, pour voir si un certificat client apparaît là, et essayer des choses qui ne semblent pas avoir de sens.