Vérifier les profils et activer le pare-feu
Le pare-feu Windows dispose de trois profils : Domaine / Privé / Public. Sur VPS, c’est généralement Public qui est activé. Base sécurisée – entrant : Bloquer, sortant : Autoriser.
GUI : « Pare-feu Windows Defender avec sécurité avancée » → Écran du profil racine.
PowerShell:
Get-NetFirewallProfile | Select Name,Enabled,DefaultInboundAction,DefaultOutboundAction
Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True
Sécuriser le RDP (3389/TCP)
Le RDP est nécessaire pour l’administration des Windows VPS, mais il ne peut pas être ouvert à « tout le monde ». La procédure est simple : activez temporairement les règles par défaut, créez votre propre règle restreinte basée sur la source IP, puis désactivez les règles « générales ».
GUI (assistant pour les nouvelles règles) :
1. Règles entrantes → Nouvelle règle… → Port
2. TCP, ports locaux spécifiques : 3389
Autoriser la connexion
Une fois que vous l’avez créé, allez dans Propriétés → Zone et spécifiez les adresses IP distantes (votre sous-réseau IP statique/VPN). Ceci est essentiel pour la sécurité.
PowerShell :
# When connecting for the first time: enable the standard group
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
# Strict rule only from your IP
New-NetFirewallRule -DisplayName "RDP inbound (admin IP only)" `
-Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow `
-RemoteAddress 203.0.113.50 -Profile Any
# After verification, disable “broad” RDP rules.
Disable-NetFirewallRule -DisplayGroup "Remote Desktop"
Nous n’ouvrons que ce qui est vraiment nécessaire
IIS/HTTPS
New-NetFirewallRule -DisplayName "HTTP (80)" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS (443)" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
MS SQL (si utilisé)
New-NetFirewallRule -DisplayName "MSSQL (1433)" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
(Si vous accédez à partir de réseaux restreints, définissez également RemoteAddress pour ces règles.)
Activez la journalisation (ceci est très utile pour le dépannage).
Enregistrez les connexions autorisées et bloquées dans pfirewall.log.
GUI :
PowerShell:
Set-NetFirewallProfile -Profile Domain,Private,Public `
-LogFileName "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" `
-LogMaxSizeKilobytes 32768 -LogAllowed True -LogBlocked True
Vérification rapide depuis l’extérieur
Depuis le PC client, vérifiez que les ports requis sont accessibles :
# RDP
Test-NetConnection vps.example.ru -Port 3389
# Веб
Test-NetConnection vps.example.ru -Port 80
Test-NetConnection vps.example.ru -Port 443
# SQL (if necessary)
Test-NetConnection vps.example.ru -Port 1433
TcpTestSucceeded : True – La règle fonctionne, le port est disponible. Si False – Vérifiez le profil de la règle, la portée (source IP) et les ACL externes auprès du fournisseur.
Une brève liste de contrôle des erreurs
- RDP laissé « ouvert à tous » : ajoutez RemoteAddress et désactivez les règles générales par défaut.
- Profil incorrect : la règle est définie sur « Privé », mais le serveur se trouve dans la zone publique.
- Pas de journaux : activez la journalisation, sinon les blocages « invisibles » sont difficiles à détecter.
- Oubli du pare-feu externe/SG du fournisseur VPS Windows : vérifiez-le en parallèle.