Changer le port du Bureau à distance (RDP) sur Windows Server
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.
É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 SilentlyContinueAvant 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 AllowSi 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É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:40125En 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 -ForceLe 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.