Le Bureau à distance Windows écoute sur le port 3389. C’est connu, c’est le premier port que scannent les outils automatisés qui cherchent des accès exposés. Sur un réseau interne isolé derrière un NAT correct, le risque est limité. Mais dès qu’une machine est accessible depuis l’extérieur — ou simplement si on veu une couche de sécurité supplémentaire sans effort — déplacer RDP sur un port non-standard est une mesure simple et efficace.
Ce que cette GPO fait :
- Change le port RDP de 3389 vers un port personnalisé (ici
12345lol) - Ouvre ce nouveau port dans le pare-feu Windows
- Bloque explicitement le port 3389 — pas juste “ne pas ouvrir”, mais bloquer activement
La troisième étape est souvent oubliée. Ne pas ouvrir le port 3389 dans le pare-feu ne suffit pas si des règles héritées ou locales l’autorisent. Le bloquer explicitement via la GPO écrase les règles locales et coupe net les tentatives de connexion sur l’ancien port.
Le port retenu : 12345
Le choix du port est arbitraire, tant qu’il est dans la plage 1024–65535 et qu’il n’est pas déjà utilisé par un autre service. 12345 est un exemple hein ! n’utilisez pas ca en prod.
En hexadécimal : 0x3039 — c’est la valeur qu’on entre dans le registre.
Création de la GPO
Dans la GPMC :
Clic droit sur l'OU cible → Create a GPO in this domain and link it here
Nom : RDP Custom Port
Lier selon le scope souhaité : SERVEURS, STATIONS, ou les deux.
Étape 1 — Activer RDP via ADMX
Computer Configuration → Policies → Administrative Templates
→ Windows Components → Remote Desktop Services
→ Remote Desktop Session Host → Connections
→ "Allow users to connect remotely by using Remote Desktop Services"
→ Activé
Étape 2 — Changer le port via GPP Registry
Computer Configuration → Preferences → Windows Settings → Registry
→ New → Registry Item
| Champ | Valeur |
|---|---|
| Action | Mettre à jour |
| Ruche | HKEY_LOCAL_MACHINE |
| Chemin | SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp |
| Nom de la valeur | PortNumber |
| Type | REG_DWORD |
| Données | 3039 (base hexadécimale) |
0x3039= 12345 en décimal. Vérifier en calculatrice si besoin — une erreur ici et RDP devient inaccessible sur toutes les machines.
Étape 3 — Règles pare-feu
Computer Configuration → Policies → Windows Settings → Security Settings
→ Windows Firewall with Advanced Security → Inbound Rules
Règle 1 — Autoriser le nouveau port RDP
New Rule → Port
Protocol : TCP
Local Port : 12345
Action : Allow the connection
Security : Require authentication
Name : RDP Perso
Règle 2 — Bloquer TCP 3389
New Rule → Port
Protocol : TCP
Local Port : 3389
Action : Block the connection
Name : Block RDP TCP 3389
Règle 3 — Bloquer UDP 3389
New Rule → Port
Protocol : UDP
Local Port : 3389
Action : Block the connection
Name : Block RDP UDP 3389
Ne pas oublier la règle UDP. RDP utilise UDP 3389 depuis Windows 8/Server 2012 pour améliorer les performances. Un scanner qui ne trouve pas TCP 3389 essaiera UDP.
Vérification post-déploiement
Après gpupdate /force et reboot :
# Vérifier le port configuré (doit retourner 12345)
Get-ItemPropertyValue `
"HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" `
-Name PortNumber
# Vérifier que RDP écoute sur le bon port
netstat -an | findstr 12345
# Vérifier les règles pare-feu
Get-NetFirewallRule -DisplayName "RDP Perso" | Select-Object DisplayName, Enabled, Action
Get-NetFirewallRule -DisplayName "Block RDP*" | Select-Object DisplayName, Enabled, Action
Pour tester la connexion depuis un autre poste, dans le client RDP :
mstsc /v:192.168.x.x:12345