La connexion à distance à un ordinateur ou serveur peut être réalisée de différentes manières, par exemple à l’aide d’applications tierces comme UltraVNC. Cependant, l’outil le plus couramment utilisé pour travailler avec le Remote Desktop Protocol (RDP) est l’utilitaire intégré de Microsoft appelé Remote Desktop. Dans cet article, nous examinerons l’histoire du RDP, son fonctionnement et les méthodes de protection des données durant la transmission.
Le Remote Desktop Protocol (RDP) a été créé par Microsoft comme l’un des principaux moyens d’accéder à distance à des ordinateurs ou serveurs. Au départ, il visait également à permettre à des machines locales peu puissantes de se connecter à des serveurs plus performants pour des calculs complexes. Aujourd’hui, RDP est principalement utilisé pour configurer des postes de travail distants.
Éléments clés du développement du RDP :
1998 : première apparition du RDP dans Windows NT 4.0 Terminal Server Edition.
Toujours pris en charge dans toutes les versions de Windows, y compris Windows 11 et Windows Server 2022.
RDP reste l’outil par défaut d’accès à distance dans Windows malgré l’existence d’alternatives comme VNC.
Des clients existent pour presque tous les systèmes d’exploitation : Linux, FreeBSD, macOS, iOS, Android, etc.
La version actuelle est RDP 10, offrant notamment le redimensionnement automatique et une compression graphique améliorée via le codec H.264/AVC.
Profondeur de couleur prise en charge : 32 bits et moins (8, 15, 16, 24 bits).
Protection des données : chiffrement RC4 128 bits.
Autres fonctionnalités : redirection audio, redirection d’imprimantes et de ports, partage du presse-papiers.
Citrix Systems a joué un rôle majeur dans le développement initial des technologies de bureau à distance. Au début des années 1990, Citrix a conçu le système WinFrame basé sur Windows NT 3.51. En 1997, Microsoft a acquis certains droits sur les technologies Citrix, tandis que Citrix conservait son protocole ICA. Microsoft a alors développé RDP sur la base de la norme ITU T.120.
Aujourd’hui encore, Citrix et Microsoft sont concurrents :
Citrix se concentre sur les solutions hautes performances
Microsoft domine le marché des serveurs intermédiaires avec Terminal Services
Avantages de Terminal Services :
Déploiement simple des applications pour les clients
Gestion centralisée des sessions
Fonctionnalités dépendantes des licences Terminal Services actives
Microsoft propose deux modes d’utilisation du protocole RDP :
Remote Administration Mode
Terminal Server Mode
Pris en charge dans toutes les versions de Windows.
Nombre maximal de connexions simultanées :
Versions desktop : 1 connexion (locale ou distante)
Versions serveur : 2 connexions distantes + 1 connexion locale
Disponible uniquement sur Windows Server.
Avantages :
Nombre illimité de connexions
Idéal pour les environnements de travail distants
Conditions préalables :
Achat de licences
Configuration correcte du serveur
Définition du serveur comme nœud dédié ou serveur terminal
Sans ces étapes, l’accès ne peut pas être accordé.
RDP est un protocole TCP de couche applicative.
Étapes du fonctionnement :
Établissement de la connexion TCP
Initialisation de la session RDP dans la couche de transport
Le serveur terminal envoie l’affichage du bureau au client
Le client renvoie les événements clavier et souris
L’affichage peut être envoyé sous forme de bitmap ou de primitives graphiques.
RDP prend en charge plusieurs canaux virtuels dans une même connexion, permettant par exemple :
Impression et communication via port série
Partage du presse-papiers
Lecture et enregistrement audio
Les paramètres des canaux sont définis lors de la connexion initiale.
Deux modes de sécurité sont disponibles :
Standard RDP Security
Enhanced RDP Security
Inclut :
Authentification
Chiffrement
Contrôle d’intégrité
Le chiffrement utilise RC4 (40–168 bits selon la version de Windows).
Processus d’authentification :
Création d’une paire de clés RSA
Génération d’un certificat propriétaire
Signature par une clé RSA intégrée à Windows
Transmission du certificat au client
Après validation, le serveur envoie sa clé publique
L’intégrité des données est vérifiée par un MAC basé sur MD5 et SHA1.
En option, le chiffrement 3DES peut être activé (introduit avec Windows Server 2003, conforme FIPS).
S’appuie sur des modules externes :
TLS 1.0
CredSSP
TLS est disponible à partir de Windows Server 2003. Le client doit utiliser RDP 6.0 ou supérieur.
TLS
Kerberos
NTLM
Avantages :
Vérification de l’authentification avant l’établissement de la session RDP (économie de ressources)
Chiffrement conforme aux standards TLS
Single Sign-On via Kerberos ou NTLM
L’activation s’effectue via l’option Network Level Authentication (NLA), disponible depuis Windows Vista/Server 2008.
L’accès aux Terminal Services se fait couramment via un thin client.
Un serveur de licences est indispensable.
Temporary Terminal Server CAL – temporaire
Device CAL – associée à un appareil
User CAL – associée à un utilisateur
External User License – pour utilisateurs externes
Valable 90 jours
Le serveur tente d’attribuer une licence permanente lors de la deuxième connexion
Valable 52 à 89 jours
Renouvelée automatiquement lorsqu’il reste moins de 7 jours
L’utilisateur peut se connecter depuis n’importe quel appareil
Terminal Services ne compte pas les connexions utilisateur (comportement connu)
En environnements mixtes, les restrictions ne peuvent être appliquées que via le matériel
Pour utilisateurs externes
Nécessite un serveur dédié
Coût élevé → faible adoption
Microsoft propose une application Remote Desktop dans l’App Store.
Étapes :
Saisir l’adresse IP ou le domaine
Entrer les identifiants (nom d’utilisateur + mot de passe)
En cas d’alerte de certificat → « Show Certificate » → « Always trust »
Depuis un client Windows, on utilise Remote Desktop comme d’habitude.
Sur le serveur Ubuntu, il faut installer la prise en charge RDP :
sudo apt install xrdp
Vérifier/démarrer le service :
sudo systemctl status rdp
Comme client Linux, l’outil recommandé est Remmina (changer le protocole VNC → RDP).
Installation :
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt-get update
sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
Nous avons couvert en détail le protocole RDP : définition, utilisation, fonctionnement et aspects de sécurité.
Un serveur de licences peut fonctionner sous deux rôles :
Domain/Workgroup License Server – dans un domaine ou groupe de travail
Enterprise License Server – au niveau de l’organisation
Le choix influence la méthode de détection du serveur :
Domaine : via Active Directory
Mode entreprise : via des requêtes NetBIOS broadcast