Qu'est ce que l'exposition du service RDP depuis Internet et comment la résoudre ?

Protection du service RDP

Le protocole RDP (Remote Desktop Protocol) est un protocole propriétaire de Microsoft permettant de se connecter à un autre ordinateur à distance, généralement via le port TCP 3389 à des fins d'administration.
 
Représentant un point d'entrée vital pour une entreprise, il est très souvent utilisé par les attaquants afin de s'introduire au sein de son SI et d'y réaliser des mouvements latéraux. En effet, il suffit par exemple qu'un service RDP exposé soit affecté par une vulnérabilité publique (comme Bluekeep) ou encore que des identifiants ne soient pas suffisamment robustes pour créer une faille exploitable par un attaquant.
 
Par conséquent, ce service ne devrait être exposé que depuis le réseau interne du SI, et jamais accessible depuis Internet.
 

Solutions

La plupart des services RDP observés sont utilisés pour deux raisons :
  • Administration à distance ;
  • Accès à des documents.
Concernant l'administration à distance, il est possible de considérer les options suivantes (par préférence décroissante) :
Si la deuxième raison se présente, à savoir à des fins d'accès de documents internes, l'adoption de Microsoft O365 et de son espace de stockage SharePoint est à privilégier.
 

Mise en place d'une passerelle RDP

Description
La passerelle Bureau à distance, appelée aussi RDG (Remote Desktop Gateway) est destinée à fournir un moyen de connexion sécurisé à des serveurs Windows d'un réseau interne. En effet, celle-ci joue le rôle d'intermédiaire entre un client et un serveur afin de protéger l'exposition d'un quelconque service RDP : seule la passerelle est exposée aux clients. Celle-ci utilise un tunnel HTTP SSL/TLS et expose donc uniquement le port 443.
Cette passerelle devrait être située au sein d'une DMZ existante.
 
Mise en place
Installation de la passerelle :
Afin de débuter l'installation de la passerelle, il est nécessaire de se connecter sur le serveur Windows sur lequel elle sera déployée. Une fois connecté, il est possible d'ouvrir l'application de gestion du serveur nommée "Server Manager".
 
 
Ajout du rôle de passerelle :
Une fois lancée, il est nécessaire d'accéder à la fonctionnalité "Add Roles and Features" depuis l'onglet "Manage" de l'application Server Manager : spaces_wzUTKOoCOAuhqMwyJZbG_uploads_8qqXZUhl7bwLIgbo8xyc_image (1)
 
Ensuite, il est possible d'avancer dans l'installation via le bouton "Next" :
 
Le type d'installation "Role-based or feature-based installation" doit être sélectionné avant d'accéder à la prochaine section via le bouton "Next" :
 
Cette étape permet de sélectionner le serveur sur lequel la passerelle sera installée. Une fois celui-ci identifié, cliquez sur le bouton "Next" pour aller plus loin :
 
Cet onglet permet de sélectionner les rôles à ajouter sur le serveur, il est nécessaire de sélectionner "Remote Desktop Services", avant de cliquer sur "Next" pour aller plus loin :
 
Certaines fonctionnalités peuvent être implémentées sur le serveur à partir de cet onglet, il est possible de laisser les fonctionnalités sélectionnées par défaut et d'aller plus loin :
 
Il s'agit d'un onglet informatif concernant les services de bureau à distance, il peut être passé :
 
Depuis cet onglet, le service de passerelle de bureau à distance, à savoir "Remote Desktop Gateway" doit être sélectionnée. La fenêtre suivante est renvoyée à l'utilisateur :
 
Il s'agit de l'ensemble des fonctionnalités qu'il est nécessaire d'implémenter afin de mettre en place la passerelle de bureau à distance. Il est possible de cliquer sur le bouton "Add Features" et d'aller plus loin :
 
Certains onglets, en lien avec les fonctionnalités sélectionnées précédemment, se sont automatiquement ajoutés, cliquez sur "Next" afin d'y accéder : 
 
Ce nouvel onglet rassemble des informations sur la fonctionnalité de politique réseau et service d'accès, cliquez sur "Next" afin d'accéder à la section suivante :
 
Ce nouvel onglet rassemble des informations sur la fonctionnalité de serveur Web, cliquez sur "Next" afin d'accéder à la section suivante :
 
Une liste représentant l'ensemble des services liés au serveur Web (IIS) sont listés, il est nécessaire de conserver cette configuration par défaut avant d'aller plus loin :
 
Une fenêtre récapitulant l'ensemble des services et outils qui seront installés est renvoyée à l'utilisateur, cliquez sur le bouton "Install" afin de confirmer l'installation (il est possible d'autoriser le redémarrage automatique du serveur en cochant la case "Restart the destination server automatically") :
 
L'installation est finalisée : 
 
Configuration de la passerelle :
Une fois l'installation terminée, il est ensuite nécessaire de configurer la passerelle de bureau à distance en lançant son outil de gestion depuis l'application "Server Manager" et l'onglet "Tools", comme le montre la figure suivante :
 
Une fois l'outil lancé, la fenêtre ci-dessous est renvoyée à l'utilisateur, après avoir sélectionné le nom du serveur sur l'interface gauche. Il est nécessaire de configurer la passerelle de bureau à distance nouvellement installée. Pour cela, il est possible de commencer par l'import d'un certificat en cliquant sur la fonctionnalité "View or modify certificate properties" :
 
Aucun certificat n'est installé sur la passerelle, deux possibilités existent : créer un certificat auto-signé ou importer un certificat correspondant au serveur délivré par une autorité de certification reconnue.
Le meilleur choix est le second. Afin de le mettre en place, il suffit de sélectionner l'option "Import a certificate into the RD Gateway <nameServer> Certificates (Local Computer)/Personal store", puis de l'importer via le bouton "Browse and Import Certificate" : 
  
Si un certificat auto-signé va être créé puis utilisé, il suffit de sélectionner l'option "Create a self-signed certificate" puis cliquer sur le bouton "Create and Import Certificate", la fenêtre suivante est renvoyée :
 
Le nom complet du serveur doit être inscrit dans le premier champ "Certificate name" puis il est nécessaire de récupérer ce certificat sur le serveur, il devra être importé dans l'ensemble des futures machines utilisant cette passerelle. Une fois cette étape terminée, la fenêtre ci-dessous est renvoyée. Les informations du certificat importé sont mises à jour, indiquant la réussite de l'importation, cliquez sur "OK" pour compléter la configuration de la passerelle :
 
Des règles d'accès doivent être ajoutées afin que cette passerelle puisse être utilisée correctement. Pour cela, il est possible de cliquer sur le menu déroulant du serveur sur l'interface gauche de l'application "RD Gateway Manager", puis de cliquer sur "Policies" et enfin sur "Create New Authoirization Policies", comme l'illustre la figure ci-dessous :
 
La fenêtre suivante est renvoyée à l'utilisateur. Deux règles d'accès doivent être créée : une règle d'accès à la passerelle (appelée RD CAP) et une règle d'accès aux ressources internes depuis la passerelle (appelée RD RAP). Pour cela, il est nécessaire de sélectionner "Create a RDP CAP and a RD RAP (recommanded)" puis de cliquer sur "Next" :
 
Il est nécessaire de choisir un nom adéquat de la règle CAP, avant d'aller plus loin via le bouton "Next" :
 
Le moyen d'authentification utilisé est le mot de passe (sélectionner la case "Password") et seul(s) le (ou les) groupe(s) contenant les utilisateurs légitimes à utiliser la passerelle doivent être sélectionnés dans l'encadré "User group membership (required)" via le bouton "Add Group...". L'idéal est de créer un groupe d'utilisateurs spécifique à cet accès au sein de l'Active Directory afin de s'assurer de leur légitimité. L'idéal est de créer un groupe d'utilisateurs spécifique à cet accès au sein de l'Active Directory afin de s'assurer de leur légitimité. Ensuite, il est possible d'aller plus loin avec le bouton "Next" : 
  
Cette étape permet de définir les propriétés de redirection de la règle CAP. Selon certains besoins de l'entreprise (et de facilité), certaines redirections peuvent être importantes et nécessaires comme le copier-coller ("Clipboard") :
  • Dans le cas où certaines redirections ne seraient pas nécessaires, il est recommandé de sélectionner l'option "Disable device redirection for the following client device types" puis de les sélectionner afin de durcir la configuration de la passerelle ;
  • Dans le cas où toutes les redirections sont nécessaires, sélectionnez l'option "Enable device redirection for all client devices" puis sur "Next".
 
Cette fenêtre est destinée à configurer la déconnexion et l'expiration des sessions des utilisateurs. Il est recommandé d'activer ces options afin de durcir la configuration de la passerelle, avant d'aller plus loin avec le bouton "Next" :
 
Un résumé de la configuration de la règle CAP apparaît, il est dorénavant nécessaire de configurer la règle RAP via le bouton "Next" :
 
De la même manière que la règle CAP, il est nécessaire de choisir un nom adéquat de la règle RAP, avant d'aller plus loin via le bouton "Next" :
 
De la même manière que la règle CAP, seul(s) le (ou les) groupe(s) contenant les utilisateurs légitimes à utiliser la passerelle afin d'accéder à des ressources internes doivent être sélectionnés dans l'encadré "User group membership (required)" via le bouton "Add Group...". L'idéal est de créer un groupe d'utilisateurs spécifique à cet accès au sein de l'Active Directory afin de s'assurer de leur légitimité. Ensuite, il est possible d'aller plus loin avec le bouton "Next" :
  
Cette fenêtre est destinée à spécifier l'ensemble des ressources internes accédées depuis la passerelle. Il est recommandé de créer un groupe de domaine regroupant l'ensemble des serveurs légitimes pouvant être accédés depuis cette passerelle et de le préciser via l'option "Select and Active Directory Domain Services network resource group". Une fois effectué, il est nécessaire de compléter cette règle en allant plus loin via le bouton "Next" :
 
Les ports d'accès utilisés doivent être renseignés, à savoir soit par défaut le port 3389 du service RDP ou un (ou des) autre(s) port(s) si nécessaire : 
 
De la même manière que la règle CAP, un résumé de la configuration de la règle RAP apparaît, il est nécessaire de confirmer via le bouton "Next" :  
Une fenêtre est renvoyée, indiquant la confirmation des règles CAP et RAP :
 
 
Lancement du service de la passerelle :
Enfin, le service lié à la passerelle est potentiellement à l'arrêt, il est possible de vérifier son état et de l'activer si ce n'est pas encore le cas, comme l'illustre la figure suivante. Depuis l'onglet Remote Desktop Services de l'application Server Manager, l'onglet "Servers" et la section "Services", le service de la passerelle est identifié par son nom "Remote Desktop Gateway". Ce dernier peut être lancé si besoin via un clic droit sur ce service puis en cliquant sur "Start Services" :
 
Filtrage des flux :
Lorsque les serveurs internes ne doivent être accessibles que depuis la passerelle, il est nécessaire de configurer leur pare-feu interne.
Pour cela, il suffit d'accéder à la configuration du pare-feu Windows, et de lister les flux entrants ("Inbound Rules" ou "Règles de trafic entrant"), comme l'illustre la figure suivante. Parmi ceux-ci figure la règle nommée "Remote Desktop - User Mode (TCP-In)", correspondant aux flux entrant RDP du système Windows. Il est possible d'analyser ses propriétés via un clic droit, puis "Propriétés" :
 
Il est ensuite nécessaire d'accéder à l'onglet "Scope" afin de configurer le filtrage du flux RDP entrant :
 
Au sein de la section "Remote IP Address", il est nécessaire de préciser l'ensemble des adresses IP depuis lesquelles des flux RDP entrants sont autorisés : 
  • Dans le cas où l'ensemble de ces flux doivent passer par la passerelle, il faut préciser l'adresse IP de la passerelle ;
  • Dans le cas où la passerelle est installée sur le serveur sur lequel une connexion RDP est effectuée, il faut préciser l'adresse IP "127.0.0.1".
 
Lancement d'une connexion RDP : 
La connexion RDP depuis une machine et un utilisateur légitime vers un serveur interne en passant par la passerelle doit être configurée. En effet, après avoir lancé l'application "Connexion Bureau à distance", il est nécessaire de configurer la passerelle dans l'onglet "Advanced", puis "Settings", comme le montre la figure suivante :
 
La fenêtre suivante est renvoyée. Il est nécessaire de sélectionner l'option "Use these RD Gateway server settings", de renseigner le nom complet de la passerelle RDP précédemment configurée et de cocher la case "Use my RD Gateway credentials for the remote computer" avant de confirmer la configuration via le bouton "OK" :
 
Ensuite, il suffit de retourner sur l'onglet général de l'application, de saisir le nom ou l'adresse IP du serveur interne sur lequel le client souhaite se connecter et son nom d'utilisateur, avant de cliquer sur le bouton "Connect" comme le montre la figure suivante : 
 
Une fenêtre est renvoyée à l'utilisateur afin que celui-ci vérifie le nom ou l'adresse IP de la passerelle RDP et afin qu'il puisse renseigner le mot de passe du compte utilisateur précédemment saisi :
 
Ensuite, soit la connexion s'effectue avec succès, soit le certificat de la passerelle n'est pas reconnu par la machine du client (généralement le cas lors d'un certificat auto-signé ou signé par une autorité de certification interne), et ce message lui est renvoyé :
 

Durcissement du protocole RDP

Dans le cas ou il est nécessaire d'exposer le protocole RDP sur internet, voici plusieurs mesures de durcissement permettant de sécuriser le protocole.
 
Restreindre l'accès utilisateur :
La première étape de durcissement est de créer un groupe utilisateur Active Directory qui sera autorisé à se connecter à distance. Vous pouvez faire cela via la console de management de Group (Group Policy Management Console).
  • Dans la console, sélectionnez Configuration > Paramètres Windows, Paramètres de sécurité > Restriction des groupes ;
  • Effectuez un clic droit sur Restriction des groupes puis cliquez sur Ajouter un groupe ;
  • Cliquez sur Rechercher > Accès a distance > Noms puis sélectionnez Utiilisateurs bureau a distance.
 
 
Sélectionnez les utilisateurs qui auront besoin de cet accès RDP puis cliquez sur Ok : 
 
 
Désactiver le compte invité :
Le système d’exploitation Windows Server 2012 R2 possède par défaut un compte invité. 
Il est nécessaire de le désactiver afin d'empêcher un attaquant essayant une élévation de privilèges sur le serveur.
Pour cela, tapez la commande compmgmt.msc dans une invite de commandes pour ouvrir la Gestion de l'ordinateur.
Cliquez sur Utilisateurs et groupes locaux > Utilisateurs > Invité , faites un clic droit puis selectionnez Le compte est désactivé.
 
Verrouiller temporairement un compte en cas d'attaque de bruteforce :
Les tentatives de connexion auprès d’un compte utilisateur devraient alerter le système pour empêcher qu'un attaquant puisse lancer des attaques de bruteforce jusqu'a qu'il identifie un mot de passe valide.
Pour cela, tapez la commande gpedit.msc pour ouvrir l'éditeur de stratégie de groupe locale.
Cliquez sur Configuration Ordinateur > Modèles d'administration > Composants Windows > Services Bureau à distance > Hôte de la session Bureau à distance > Connexions > Limiter le nombre de connexions.
Nous recommandons de verrouiller le compte après 5 tentatives de connexion échouées.
 
Utiliser une politique de mot de passe forte :
Pour réduire le risque de succès d’une attaque par force brute ou par dictionnaire, la première chose à faire est d’employer des mots de passe forts avec tous les types de caractères : majuscules, minuscules, chiffres et caractères spéciaux.
Pour configurer cela, tapez la commande gpedit.msc dans une invite de commande pour ouvrir l'éditeur de stratégie de groupe locale.
Cliquez sur Configuration ordinateur > Paramètres Windows > Paramètres de sécurité > Stratégies de comptes > Stratégie de mots de passe.
 
Modifier le port d'écoute du protocole RDP : 
Une solution de sécurisation complémentaire peut etre de modifier le port de base du protocole RDP.
Pour cela, tapez la commande regedit dans une invite de commande pour ouvrir la base de registre.
Dans l'éditeur de registre, naviguez jusqu'a l'arborescence suivante : 
Ordinateur\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
 
 
Double cliquez sur « PortNumber », sélectionner « Décimale », entrez le port souhaité, par exemple 2222 puis cliquez sur « OK » pour valider.
Vous avez correctement configuré votre nouveau port RDP.
Pour que la configuration soit fonctionnelle, il est nécessaire de redémarrer le service RDP:
Ouvrez le gestionnaire de service (Ctrl + Maj + Del > Gestionnaire des taches > Services, clic droit sur Service de Bureau à distance > Redémarrer)