Tunnel RDP avec SSH

Une connexion de bureau à distance (RDP) est rapidement mise en place, mais elle ne doit pas être exploitée ouvertement depuis l’extérieur via l’internet, par exemple via le port 3389, car certaines faiblesses de RDP sont connues et il s’agit d’une cible populaire pour les attaques. Une autre possibilité consiste à établir un accès RDP via SSH.

Architecture/structure réseau pour un tunnel RDP via SSH
Architecture/structure réseau pour un tunnel RDP via SSH

RDP sans VPN

La pratique courante, également dans de nombreuses entreprises, consiste à utiliser une connexion cryptée VPN pour l’accès RDP afin de le couper du monde extérieur. Cette méthode est généralement considérée comme très sûre. Toutefois, un client VPN est nécessaire sur l’ordinateur client à partir duquel la connexion RDP doit être initiée. Souvent, les moyens intégrés à Windows ne suffisent pas et un client VPN distinct doit être installé. Cependant, cela s’avère parfois difficile si, par exemple, on ne dispose pas des droits nécessaires sur l’ordinateur client pour installer des logiciels supplémentaires. D’autre part, la configuration de la connexion VPN sans le module logiciel du fabricant est souvent difficile, voire impossible, car il existe de nombreux types de protocoles VPN différents qui ne sont pas compatibles entre eux. Je n’ai pas encore trouvé de client VPN qui puisse être installé en version prototype sans droits d’administrateur. Par conséquent, il serait pratique d’établir une connexion RDP sécurisée sans utiliser de VPN.

Cela est possible en faisant passer le protocole RDP par une connexion SSH. Et min. existe dans la version prototype, de sorte qu’une installation sans droits d’administrateur ou à partir de la clé USB est possible.

Mise en place d’un serveur SSH sur le système cible

Tout d’abord, vous devez installer et activer un serveur SSH sur le système cible, que j’ai décrit dans un article précédent pour Windows. Pour ce faire, installez le serveur OpenSSH via “Optional Features”. Sous “Services”, vous devez ensuite configurer le comportement au démarrage ou démarrer le serveurSSH.

Ma description à cet égard se base uniquement sur l’accès par mot de passe. Toutefois, pour des raisons de sécurité, il est recommandé de n’autoriser la connexion SSH qu’avec l’option “PubkeyAuthentication“. Les mots de passe peuvent être espionnés ou craqués par force brute.

Si la connexion SSH doit être établie de l’extérieur via l’internet, il peut être nécessaire de libérer le port 22 dans le routeur ou le pare-feu pour les connexions entrantes.

Pour que le serveur SSH soit accessible de l’extérieur, le pare-feu ou le routeur doit être accessible via une adresse IP publique, un nom de domaine ou un nom DynDNS.

Activer RDP sur le système cible

Pour qu’une session RDP puisse être établie via le tunnel SSH, le Bureau à distance doit être activé sur le système cible. Pour ce faire, procédez comme suit :

  1. Appellez les paramètres de Windows, par exemple en cliquant avec le bouton droit de la souris sur le menu Windows
  2. Sélectionnez “Système
  3. Cliquez sur “Bureau à distance
  4. et activez ensuite le Bureau à distance
Screenshot Window Settings System Remote Desktop
Select “System” and click “Remote Desktop”
screenshot : Activer le bureau à distance
Activer le bureau à distance

Télécharger et installer le client SSH (PuTTY)

Si le serveur et le partage RDP sont correctement configurés sur le système cible, il est possible d’y accéder à partir d’un autre système. Pour ce faire, vous avez besoin d’un client SSH qui est disponible via PowerShell ou également à partir d’OpenSSH. Nous utilisons PuTTY comme client SSH, qui peut être téléchargé ici.

La version portable est disponible sur d’autres sites, tels que Chip.de. Ces fichiers peuvent ensuite être sauvegardés n’importe où sans droits d’administrateur.

Configurer le client SSH PuTTY

1ère étape : Configurer la session

La première chose à faire est de configurer la session SSH. Pour ce faire, vous devez :

  1. Entrer le nom de domaine ou l’adresse IP du système cible
  2. Entrer le port 22, à moins qu’un port différent n’ait été configuré côté serveur
  3. Sélectionnez “SSH” comme “Connection type
  4. Maintenant, vous pouvez donner un nom à la session et la sauvegarder en vue d’une réutilisation (bouton “Save“)
Capture d'écran PuTTY - Configuration de la session
Configurez le nom de domaine et le port pour la session PuTTY

2ème étape : configurer le tunnel dans PuTTY

Ensuite, dans l’arborescence de gauche, allez dans “Connection” ⮞ “SSH” ⮞”Tunnels“. C’est ici que vous configurez le transfert de port au sein du tunnel. Dans “Source Port“, vous sélectionnez un port plus ou moins arbitraire, ici Port 1024 a été sélectionné. Ce port est ensuite utilisé dans la quatrième étape pour établir la connexion RDP.

Capture d'écran configurant le tunnel RDP avec transfert de port
Configuration du tunnel RDP avec transfert de port

Dans “Destination“, vous entrez l’adresse IP locale ou privée de l’ordinateur de destination ainsi que le port RDP 3389. Il s’agit de l’adresse IP de l’ordinateur sur lequel le serveur SSH fonctionne et le bureau à distance a été activé. Dans cet exemple, l’ordinateur se trouve dans un réseau privé et possède donc une adresse IP privée. Si un port RDP différent a été configuré, il doit être adapté ici en conséquence.

3. étape : Établir une connexion SSH

Après avoir effectué tous les réglages, vous pouvez ouvrir la connexion SSH. Pour ce faire, revenez à Session dans l’arborescence, sélectionnez la session souhaitée et cliquez sur le bouton “Open”.

Capture d'écran PuTTY Entrez le nom d'utilisateur et le mot de passe pour établir la connexion SSH
Établir une connexion SSH

Vous devez maintenant entrer les données de connexion.

Le cas échéant, un message s’affiche indiquant que l’authenticité du système hôte n’a pas pu être déterminée et que la clé n’est pas connue.

The authenticity of host [...] cannot be established.
This Key is not known by any other names.[...]

Si vous êtes sûr de la connexion, vous pouvez la confirmer avec “yes”. L’ordinateur est alors ajouté à la liste des hôtes connus.

4ème étape : Établissement de la connexion au bureau à distance

La dernière étape consiste à établir la connexion RDP. Pour ce faire, il suffit de :

  1. Entrez “RDP” dans le menu Windows et ouvrez l’App Remote Desktop Connection.
  2. Pour “Ordinateur :”, entrez l’adresse IP locale 127.0.0.1 suivie du port local 1024 configuré dans PuTTY.
  3. Le username: est saisi comme le nom de l’ordinateur du système cible suivi du username du système cible séparé par une barre oblique inverse
Capture d'écran de la configuration de la connexion RDP
Définir la connexion RDP à l’IP locale

Si tout a fonctionné, vous pouvez maintenant cliquer sur le bouton “Connect” et la session RDP s’ouvrira. Vous pouvez commencer à travailler directement comme si vous étiez assis devant l’ordinateur du système cible lui-même.

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *