Windows Server : sécuriser les connexions RDP avec un certificat (ADCS)
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à configurer une autorité de certification ADCS pour délivrer des certificats dans le but de sécuriser les connexions RDP sur les serveurs Windows Server. Ainsi, la connexion RDP vers un serveur intégré à l'Active Directory sera sécurisée avec le certificat et l'authentification Kerberos.
Cette configuration implique la création d'un modèle de certificat dans ADCS. Les serveurs autorisés pourront demander un certificat de ce type pour la sécurisation des connexions RDP. Pour gérer quels sont les serveurs qui ont accès ou non à ce modèle de certificat, un groupe de sécurité Active Directory sera utilisé. Toutefois, nous pourrions tout à fait l'ouvrir à tous les ordinateurs du domaine.
Pour cette démo, les serveurs suivants sont utilisés :
- SRV-ADDS-01
- Contrôleur de domaine
- Windows Server 2022
- SRV-ADCS
- Autorité de certification (ADCS)
- Windows Server 2022
- SRV-APPS
- Serveur applicatif (pour tester la connexion RDP avec certificat)
- Windows Server 2022
Ce tutoriel n'aborde pas l'installation de l'autorité de certification Active Directory (ADCS). Si besoin, suivez cet article :
II. Créer le modèle de certificat RDP
Tout d'abord, nous devons créer un modèle de certificat pour les connexions RDP. Ouvrez l'autorité de certification, effectuez un clic droit sur "Modèles de certificats" et cliquez sur "Gérer".
Ici, vous devez dupliquer le modèle de certificat nommé "Ordinateur" via un clic droit puis "Dupliquer le modèle".
Ce nouveau modèle doit être configuré. Dans l'onglet "Général", vous devez donner un nom complet pour ce modèle. En ce qui me concerne, ce sera "Accès RDP - Certificat". Vous pourrez constater que le nom du modèle reprend le nom complet, mais sans les espaces (ce sera important pour la suite). Cochez également l'option "Publier le certificat dans Active Directory".
Passez à l'onglet "Extensions" (1). Ici, vous devez sélectionner "Stratégies d'application" (2), cliquer sur "Modifier" (3) puis sur "Ajouter" (4) dans la nouvelle fenêtre qui apparaît.
La fenêtre "Ajouter une stratégie d'application" apparaît. Cliquez sur "Nouveau". Il est nécessaire de créer une nouvelle stratégie en indiquant l'identificateur d'objet "1.3.6.1.4.1.311.54.1.2" correspondant à "Remote Desktop Authentication". Un nom doit aussi être attribué à cette stratégie. Ce qui donne :
Validez. La stratégie "Certificat RDP" est visible. Vous devez sélectionner "Authentification du client" et "Authentification du serveur" pour les supprimer via le bouton prévu à cet effet. Cliquez sur "OK".
Seule notre stratégie est assignée à ce modèle.
Passez à l'onglet "Sécurité". Vous devez donner les autorisations "Inscrire" et "Inscription automatique" en plus de la lecture aux machines qui doivent pouvoir demander ce type de certificat. Dans cet exemple, j'utilise le groupe "GG-RDP-Cert" : seules les machines membres de ce groupe auront cette autorisation. Côté Active Directory, ce groupe contient notamment mon serveur "SRV-APPS". Cliquez sur "OK".
Le modèle est prêt. Il ne reste plus qu'à l'ajouter à la liste des certificats que notre CA est capable de délivrer. Effectuez un clic droit sur "Modèles de certificats", puis sous "Nouveau" choisissez "Modèle de certificat à délivrer". Le modèle "Accès RDP - Certificat" doit apparaître dans la liste comme ceci :
La configuration côté ADCS est terminée !
III. Créer la GPO pour demander les certificats RDP
Dès à présent, une stratégie de groupe doit être configurée pour indiquer aux serveurs quel est le nom du modèle de certificat à solliciter auprès de l'ADCS. Puis, on va aussi configurer le RDP pour qu'il utilise le certificat.
Créez une nouvelle stratégie de groupe et éditez-la. Par exemple, la GPO "Sécurité - Certificat RDP".
Parcourez les paramètres comme ceci :
Configuration ordinateur > Stratégies > Modèles d'administration > Composants Windows > Services Bureau à distance > Hôte de la session Bureau à distance > Sécurité
Ici, configurez un premier paramètre nommé "Modèle de certificat d'authentification serveur". Passez ce paramètre sur l'état "Activé" et indiquez le nom du modèle de certificat : pensez à bien mettre le nom du modèle de certificat (sans espace). Validez.
Ensuite, configurez aussi le paramètre "Nécessite l'utilisation d'une couche de sécurité spécifique pour les connexions distantes (RDP)". Vous devez l'activer et choisir "SSL" comme couche de sécurité, ce qui permettra d'utiliser TLS 1.0 (il n'y a pas d'autres versions disponibles). Validez.
La GPO est prête. Il ne reste plus qu'à l'associer à l'unité d'organisation qui contient les machines cibles.
IV. Tester la connexion RDP
Les serveurs ciblent doivent récupérer la stratégie de groupe puis effectuer une demande de certification auprès de notre CA. Pour le moment, le certificat n'est pas délivré sur le serveur SRV-APPS donc si l'on clique sur le cadenas dans la bandeau de la connexion RDP, on peut lire : "L'identité de l'ordinateur distant a été vérifiée en utilisant Kerberos".
Une fois que le certificat sera en place, il sera visible dans le magasin de certificats local du serveur, mais aussi dans la liste des certificats délivrés de l'autorité de certification. Sur l'image ci-dessous, on constate bien la présence d'un certificat pour "SRV-APPS".
En effectuant une nouvelle connexion RDP sur ce serveur, cette fois-ci, le certificat a joué en rôle dans la vérification de l'identité du serveur. On peut lire le message : "L'identité de l'ordinateur distant a été vérifiée en utilisant un certificat de serveur et Kerberos". La configuration fonctionne !
Il est à noter que si on établit une connexion sur ce même serveur, mais à partir d'une machine qui n'est pas dans le domaine Active Directory, l'avertissement de certificat est présent. Ceci s'explique par le fait que la machine n'approuve pas le certificat racine de notre autorité de certificat. C'est normal, car ce certificat est distribué automatiquement aux machines intégrées au domaine.
V. Conclusion
Nous venons de voir comment apporter une couche de sécurité supplémentaire aux connexions RDP à destination des serveurs Windows Server grâce à ce certificat !
Mince, cela implique donc obligatoirement d’avoir laissé le TLS1.0 actif ?
Bonjour Florian,
Merci pour ce tuto qui fonctionne presque parfaitement pour ce que je souhaitais faire.
Je dis presque parce que cela fonctionne lorsque nous utilisons une connexion via le nom NetBIOS mais lorsque l’on souhaite se connecter via l’adresse IP, le certificat n’est pas retrouvé.
Auriez vous la solution pour que le certificat soit attribué même avec l’adresse IP ?
Merci d’avance,
Bonjour,
Personne ??
C’est vraiment parfait !!!!!