Changer le port du Bureau à distance (RDP) sur Windows Server

13 min de lecture 4 vues 0
Sommaire

Déplacer le Bureau à distance hors du port TCP 3389 par défaut est l'un des moyens les plus rapides de réduire le flot de tentatives de connexion automatisées que reçoit tout serveur Windows public. Ce guide explique comment changer le port RDP sur Windows Server 2016, 2019 et 2022 avec PowerShell, ouvrir le nouveau port dans le pare-feu avant la bascule et revenir en arrière en toute sécurité via la console VNC en cas de problème. La procédure est identique sur les serveurs cloud JUSTG de Johannesburg, Moscou, Tokyo et Séoul et sur les serveurs dédiés. L'exemple utilise le port 40125 et l'IP 203.0.113.10.

Changer de port réduit le bruit des scanners, mais ne remplace ni un mot de passe robuste, ni l'authentification NLA, ni les mises à jour.

Étape 1 : Choisir un port libre pour le Bureau à distance

Prenez un numéro entre 1025 et 49151 qu'aucune autre application n'utilise. Évitez la plage 49152-65535, réservée par Windows aux connexions sortantes dynamiques. Vérifiez le port RDP actuel et assurez-vous que le port choisi est libre (la seconde commande ne doit rien afficher) :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber
Get-NetTCPConnection -LocalPort 40125 -ErrorAction SilentlyContinue

Avant de commencer, ouvrez la console VNC depuis l'espace client (Mes produits et services → votre serveur → panneau de gestion) dans un autre onglet. Si le nouveau port ne répond pas, c'est votre porte de secours.

Étape 2 : Ouvrir d'abord le nouveau port RDP dans le pare-feu Windows

Autorisez toujours le nouveau port avant de modifier le registre, sinon le redémarrage du service vous coupera l'accès. RDP utilise TCP pour la session et UDP pour améliorer la fluidité sur les liaisons à forte latence : créez donc les deux règles.

$port = 40125
New-NetFirewallRule -DisplayName "RDP custom TCP $port" -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow
New-NetFirewallRule -DisplayName "RDP custom UDP $port" -Direction Inbound -Protocol UDP -LocalPort $port -Action Allow

Si un autre pare-feu protège le serveur (par exemple un pare-feu matériel devant un serveur dédié), ouvrez-y aussi le même port.

Étape 3 : Modifier PortNumber dans le registre et redémarrer TermService

Le port d'écoute RDP est stocké dans la valeur PortNumber de la clé RDP-Tcp. Modifiez-la puis redémarrez le service Remote Desktop Services. Le paramètre -Force est nécessaire car le service UmRdpService en dépend :

$port = 40125
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value $port
Restart-Service -Name TermService -Force
Le redémarrage de TermService coupe immédiatement votre session RDP actuelle : c'est normal. Lancez la commande, patientez une dizaine de secondes, puis reconnectez-vous sur le nouveau port.

Étape 4 : Se connecter avec IP:port et vérifier

Dans le client Bureau à distance, saisissez l'adresse du serveur suivie de deux-points et du port. Depuis PowerShell, vous pouvez tester le port et lancer le client d'un coup :

# On the server (VNC console or new RDP session)
Get-NetTCPConnection -LocalPort 40125 -State Listen

# On your PC
Test-NetConnection -ComputerName 203.0.113.10 -Port 40125
mstsc /v:203.0.113.10:40125

En IPv6, placez l'adresse entre crochets : [2001:db8::10]:40125. Pensez à mettre à jour vos fichiers .rdp, votre gestionnaire de mots de passe et les accès de vos collègues.

Étape 5 : Fermer le port 3389 et restreindre l'accès

Une fois la connexion validée sur le nouveau port, désactivez les règles Bureau à distance par défaut pour que le 3389 ne soit plus joignable, et limitez éventuellement la nouvelle règle à la plage d'adresses de vos bureaux :

# Built-in Remote Desktop rules (language-independent group ID)
Disable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"

# Optional: only allow your own IP to reach the new port
Set-NetFirewallRule -DisplayName "RDP custom TCP 40125" -RemoteAddress 198.51.100.0/24

Étape 6 : Revenir en arrière via la console VNC

Si la connexion sur le nouveau port échoue, ouvrez la console VNC, connectez-vous et restaurez la configuration par défaut :

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value 3389
Enable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
Restart-Service -Name TermService -Force

Le Bureau à distance repasse sur le 3389 en quelques secondes. Reprenez ensuite les étapes 2 à 4 avec attention, en vérifiant le numéro de port et l'éventuel pare-feu externe.

Questions fréquentes

Faut-il redémarrer Windows Server après avoir changé le port RDP ?

Non, le redémarrage du service TermService suffit. Si le service refuse de redémarrer, un redémarrage complet fonctionne aussi.

J'ai changé le port mais RDP écoute toujours sur 3389.

Vérifiez qu'aucune stratégie de groupe ni outil de gestion à distance ne réécrit la valeur, et que vous avez bien modifié la clé RDP-Tcp. Relancez ensuite les commandes de vérification de l'étape 4.

Un port RDP personnalisé change-t-il les performances depuis la Chine ou l'Afrique ?

Non. La latence dépend du routage, pas du numéro de port. Les serveurs JUSTG de Moscou et Johannesburg utilisent China Telecom CN2 GIA et ceux de Tokyo le routage premium de China Telecom, quel que soit le port RDP.

Si le Bureau à distance reste inaccessible après le changement de port, ouvrez un ticket auprès du support technique JUSTG en précisant le port choisi et le résultat de l'étape 4.

Cette réponse était-elle pertinente?

Tutoriels associés

Windows PowerShell PS> Test-NetConnection -ComputerName 203.0.113.10…PS> nc -vz 203.0.113.10 3389PS> Get-Service -Name TermService Windows Server Bureau à distance impossible sur un VPS Windows Server : dépannage RDP Résoudre l'échec du Bureau à distance (RDP) sur un VPS Windows Server : port 3389, pare-feu, erreurs NLA/CredSSP et console VNC. 15 min de lecture 2 Lire Windows PowerShell PS> Get-WinSystemLocalePS> Get-WinUILanguageOverridePS> Get-WinUserLanguageList Windows Server Changer la langue d'affichage de Windows Server, les paramètres régionaux et le fuseau horaire Changez la langue d'affichage de Windows Server (Install-Language ou module linguistique), les paramètres régionaux et le fuseau horaire. 13 min de lecture 2 Lire Windows PowerShell PS> Update-HostStorageCachePS> Get-Disk | Select-Object Number, FriendlyName…PS> Get-Partition -DiskNumber 0 | Select-Object P… Windows Server Étendre le lecteur C: sous Windows Server après l'agrandissement du disque et initialiser un disque de données Étendre C: sous Windows Server après un agrandissement, gérer la partition de récupération et initialiser un nouveau disque. 13 min de lecture 2 Lire Windows PowerShell PS> Get-NetAdapterPS> Get-NetIPConfiguration -InterfaceAlias "Ether…PS> Get-NetIPInterface -InterfaceAlias "Ethernet"… Windows Server Ajouter une adresse IPv4 supplémentaire et configurer l'IPv6 sur Windows Server Ajouter une IPv4 et configurer l'IPv6 sous Windows Server (GUI, PowerShell, netsh) : SkipAsSource, passerelle, DNS et tests. 15 min de lecture 2 Lire