Comment configurer le Pare-feu Windows Server
Introduction
Le pare-feu Windows (Windows Defender Firewall) est la première ligne de défense de votre serveur. Il contrôle le trafic réseau entrant et sortant en autorisant ou bloquant les connexions selon des règles définies.
Pourquoi configurer le pare-feu ?
- Sécurité — Bloquer les accès non autorisés
- Contrôle — Définir précisément quels services sont accessibles
- Protection — Réduire la surface d'attaque du serveur
- Conformité — Respecter les bonnes pratiques de sécurité
Ce que vous allez apprendre
- Accéder et naviguer dans le pare-feu Windows
- Ouvrir et fermer des ports
- Créer des règles personnalisées
- Configurer via l'interface graphique et PowerShell
- Appliquer les bonnes pratiques de sécurité
Accéder au Pare-feu Windows
Plusieurs méthodes pour accéder au pare-feu Windows Server :
Méthode 1 : Recherche Windows (Rapide)
1. Appuyez sur la touche Windows
2. Tapez "Pare-feu Windows Defender avec fonctions avancées"
3. Cliquez sur le résultat
Ou tapez simplement : wf.msc
Méthode 2 : Exécuter (Win + R)
1. Appuyez sur Windows + R
2. Tapez : wf.msc
3. Appuyez sur Entrée
Méthode 3 : Panneau de configuration
1. Panneau de configuration
2. Système et sécurité
3. Pare-feu Windows Defender
4. Paramètres avancés (colonne de gauche)
Méthode 4 : Server Manager
1. Ouvrez Server Manager
2. Outils (Tools)
3. Pare-feu Windows Defender avec fonctions avancées de sécurité
Méthode 5 : PowerShell
# Ouvrir l'interface graphique
wf.msc
# Ou gérer directement en ligne de commande
Get-NetFirewallRule
Comprendre l'Interface
L'interface du pare-feu Windows se divise en plusieurs sections :
┌─────────────────────────────────────────────────────────────────┐
│ Pare-feu Windows Defender avec fonctions avancées │
├──────────────────┬──────────────────────────────────────────────┤
│ │ │
│ ▼ Règles de │ [Liste des règles] │
│ trafic │ │
│ entrant │ Nom | Groupe | Profil | Activé | Action │
│ │ ───────────────────────────────────────── │
│ ▼ Règles de │ Rule 1... │
│ trafic │ Rule 2... │
│ sortant │ Rule 3... │
│ │ │
│ ▼ Règles de │ │
│ sécurité │ │
│ de connexion │ │
│ │ │
│ ▼ Analyse │ │
│ │ │
└──────────────────┴──────────────────────────────────────────────┘
Sections Principales
| Section | Description |
|---|---|
| Règles de trafic entrant | Contrôle les connexions VERS votre serveur |
| Règles de trafic sortant | Contrôle les connexions DEPUIS votre serveur |
| Règles de sécurité de connexion | IPsec et authentification |
| Analyse | Monitoring des règles actives |
États des Règles
| Icône | Signification |
|---|---|
| ✅ Vert | Règle activée - Autorise le trafic |
| ✅ Vert avec cercle | Règle activée - Bloque le trafic |
| ⬜ Grisé | Règle désactivée |
Ouvrir un Port (Interface Graphique)
Étape par Étape : Ouvrir un Port TCP
Exemple : Ouvrir le port 25565 (Minecraft)
Étape 1 : Accéder aux règles entrantes
1. Ouvrez le pare-feu (wf.msc)
2. Cliquez sur "Règles de trafic entrant" dans le panneau gauche
3. Cliquez sur "Nouvelle règle..." dans le panneau droit
Étape 2 : Type de règle
○ Programme
● Port ← Sélectionnez cette option
○ Prédéfinie
○ Personnalisée
→ Cliquez sur "Suivant"
Étape 3 : Protocole et ports
● TCP ← Pour la plupart des services
○ UDP ← Pour certains jeux/VoIP
○ Tous les ports locaux
● Ports locaux spécifiques : 25565
→ Cliquez sur "Suivant"
Étape 4 : Action
● Autoriser la connexion ← Sélectionnez cette option
○ Autoriser si sécurisée
○ Bloquer la connexion
→ Cliquez sur "Suivant"
Étape 5 : Profils
☑ Domaine ← Réseau d'entreprise (Active Directory)
☑ Privé ← Réseau de confiance
☑ Public ← Internet / Réseau non fiable
→ Cochez les trois pour un serveur
→ Cliquez sur "Suivant"
Étape 6 : Nom de la règle
Nom : Minecraft Server (TCP 25565)
Description : Autorise les connexions au serveur Minecraft
→ Cliquez sur "Terminer"
✅ Le port 25565 TCP est maintenant ouvert !
Ouvrir un Port UDP
Même procédure, mais sélectionnez UDP à l'étape 3.
Exemple : Ouvrir le port 19132 UDP (Minecraft Bedrock)
Étape 3 :
○ TCP
● UDP ← Sélectionnez UDP
Ports locaux spécifiques : 19132
Ouvrir une Plage de Ports
Pour ouvrir plusieurs ports consécutifs :
Étape 3 :
Ports locaux spécifiques : 27015-27030
→ Ouvre tous les ports de 27015 à 27030
Ouvrir Plusieurs Ports Non Consécutifs
Étape 3 :
Ports locaux spécifiques : 80, 443, 8080
→ Ouvre les ports 80, 443 et 8080
Fermer un Port
Méthode 1 : Désactiver une Règle Existante
1. Ouvrez le pare-feu (wf.msc)
2. Règles de trafic entrant
3. Trouvez la règle concernée
4. Clic droit → "Désactiver la règle"
Méthode 2 : Supprimer une Règle
1. Ouvrez le pare-feu (wf.msc)
2. Règles de trafic entrant
3. Trouvez la règle concernée
4. Clic droit → "Supprimer"
5. Confirmez la suppression
Méthode 3 : Créer une Règle de Blocage
Pour bloquer explicitement un port :
1. Nouvelle règle → Port
2. TCP ou UDP → Numéro du port
3. ● Bloquer la connexion ← Sélectionnez cette option
4. Tous les profils
5. Nommez : "Bloquer Port XXXX"
⚠️ Note : Par défaut, Windows bloque tout ce qui n'est pas explicitement autorisé (en mode entrant). Supprimer une règle d'autorisation suffit généralement.
Configuration avec PowerShell
PowerShell offre une gestion plus rapide et scriptable du pare-feu.
Commandes de Base
Voir l'état du pare-feu
# État général
Get-NetFirewallProfile
# État par profil
Get-NetFirewallProfile -Profile Domain,Public,Private | Format-Table Name, Enabled
Activer / Désactiver le pare-feu
# Désactiver le pare-feu (NON RECOMMANDÉ)
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
# Activer le pare-feu
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Ouvrir un Port avec PowerShell
Syntaxe de base
New-NetFirewallRule -DisplayName "NOM" -Direction Inbound -Protocol TCP -LocalPort PORT -Action Allow
Exemples concrets
# Ouvrir le port 80 (HTTP)
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
# Ouvrir le port 443 (HTTPS)
New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
# Ouvrir le port 25565 TCP (Minecraft Java)
New-NetFirewallRule -DisplayName "Minecraft Java" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
# Ouvrir le port 19132 UDP (Minecraft Bedrock)
New-NetFirewallRule -DisplayName "Minecraft Bedrock" -Direction Inbound -Protocol UDP -LocalPort 19132 -Action Allow
# Ouvrir une plage de ports
New-NetFirewallRule -DisplayName "Game Ports" -Direction Inbound -Protocol UDP -LocalPort 27015-27030 -Action Allow
# Ouvrir plusieurs ports
New-NetFirewallRule -DisplayName "Web Ports" -Direction Inbound -Protocol TCP -LocalPort 80,443,8080 -Action Allow
Ouvrir TCP et UDP en même temps
# Port 7777 TCP et UDP (ARK, etc.)
New-NetFirewallRule -DisplayName "ARK Server TCP" -Direction Inbound -Protocol TCP -LocalPort 7777 -Action Allow
New-NetFirewallRule -DisplayName "ARK Server UDP" -Direction Inbound -Protocol UDP -LocalPort 7777 -Action Allow
Fermer / Supprimer une Règle
# Supprimer par nom
Remove-NetFirewallRule -DisplayName "Minecraft Java"
# Désactiver une règle (sans supprimer)
Disable-NetFirewallRule -DisplayName "Minecraft Java"
# Réactiver une règle
Enable-NetFirewallRule -DisplayName "Minecraft Java"
Lister les Règles
# Toutes les règles entrantes
Get-NetFirewallRule -Direction Inbound | Format-Table DisplayName, Enabled, Action
# Règles actives uniquement
Get-NetFirewallRule -Direction Inbound -Enabled True | Format-Table DisplayName, Action
# Rechercher une règle par nom
Get-NetFirewallRule -DisplayName "*Minecraft*"
# Voir les détails d'une règle
Get-NetFirewallRule -DisplayName "Minecraft Java" | Get-NetFirewallPortFilter
Bloquer un Port
# Bloquer le port 23 (Telnet)
New-NetFirewallRule -DisplayName "Block Telnet" -Direction Inbound -Protocol TCP -LocalPort 23 -Action Block
Restreindre par IP
# Autoriser uniquement une IP spécifique
New-NetFirewallRule -DisplayName "RDP Restricted" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 86.123.45.67 -Action Allow
# Autoriser une plage d'IP
New-NetFirewallRule -DisplayName "Office Network" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 192.168.1.0/24 -Action Allow
# Autoriser plusieurs IP
New-NetFirewallRule -DisplayName "Admins Only" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 86.123.45.67,91.234.56.78 -Action Allow
Script Complet : Configuration Serveur Web
# Script de configuration pare-feu pour serveur web
# À exécuter en tant qu'Administrateur
Write-Host "Configuration du pare-feu pour serveur web..." -ForegroundColor Green
# HTTP
New-NetFirewallRule -DisplayName "HTTP (80)" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
Write-Host "✓ Port 80 (HTTP) ouvert" -ForegroundColor Cyan
# HTTPS
New-NetFirewallRule -DisplayName "HTTPS (443)" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Write-Host "✓ Port 443 (HTTPS) ouvert" -ForegroundColor Cyan
# FTP (optionnel)
New-NetFirewallRule -DisplayName "FTP (21)" -Direction Inbound -Protocol TCP -LocalPort 21 -Action Allow
New-NetFirewallRule -DisplayName "FTP Passive" -Direction Inbound -Protocol TCP -LocalPort 50000-50100 -Action Allow
Write-Host "✓ Ports FTP ouverts" -ForegroundColor Cyan
# MySQL (local uniquement - sécurité)
New-NetFirewallRule -DisplayName "MySQL Local" -Direction Inbound -Protocol TCP -LocalPort 3306 -RemoteAddress 127.0.0.1 -Action Allow
Write-Host "✓ MySQL (local uniquement)" -ForegroundColor Cyan
Write-Host "`nConfiguration terminée !" -ForegroundColor Green
Configuration avec CMD (netsh)
Pour ceux qui préfèrent l'invite de commandes classique.
Syntaxe de Base
netsh advfirewall firewall add rule name="NOM" dir=in action=allow protocol=TCP localport=PORT
Ouvrir un Port
:: Ouvrir le port 80 TCP
netsh advfirewall firewall add rule name="HTTP" dir=in action=allow protocol=TCP localport=80
:: Ouvrir le port 443 TCP
netsh advfirewall firewall add rule name="HTTPS" dir=in action=allow protocol=TCP localport=443
:: Ouvrir le port 25565 TCP (Minecraft)
netsh advfirewall firewall add rule name="Minecraft" dir=in action=allow protocol=TCP localport=25565
:: Ouvrir le port 19132 UDP
netsh advfirewall firewall add rule name="Minecraft Bedrock" dir=in action=allow protocol=UDP localport=19132
:: Ouvrir une plage de ports
netsh advfirewall firewall add rule name="Game Ports" dir=in action=allow protocol=UDP localport=27015-27030
Fermer / Supprimer une Règle
:: Supprimer une règle par nom
netsh advfirewall firewall delete rule name="Minecraft"
:: Supprimer par port
netsh advfirewall firewall delete rule name=all protocol=TCP localport=25565
Lister les Règles
:: Toutes les règles
netsh advfirewall firewall show rule name=all
:: Règles entrantes uniquement
netsh advfirewall firewall show rule name=all dir=in
:: Rechercher une règle
netsh advfirewall firewall show rule name="Minecraft"
Activer / Désactiver le Pare-feu
:: Désactiver (NON RECOMMANDÉ)
netsh advfirewall set allprofiles state off
:: Activer
netsh advfirewall set allprofiles state on
:: Activer uniquement le profil Public
netsh advfirewall set publicprofile state on
Restreindre par IP
:: Autoriser uniquement une IP
netsh advfirewall firewall add rule name="RDP Restricted" dir=in action=allow protocol=TCP localport=3389 remoteip=86.123.45.67
Règles pour Applications
Vous pouvez autoriser une application plutôt qu'un port.
Via l'Interface Graphique
1. Nouvelle règle
2. ● Programme ← Sélectionnez cette option
3. Parcourir → Sélectionnez l'exécutable
Exemple : C:\Minecraft\server.jar
4. Autoriser la connexion
5. Tous les profils
6. Nommez la règle
Via PowerShell
# Autoriser une application
New-NetFirewallRule -DisplayName "Minecraft Server" -Direction Inbound -Program "C:\Minecraft\server.jar" -Action Allow
# Autoriser Java (pour tous les serveurs Java)
New-NetFirewallRule -DisplayName "Java" -Direction Inbound -Program "C:\Program Files\Java\jdk-21\bin\java.exe" -Action Allow
Via CMD
netsh advfirewall firewall add rule name="Minecraft Server" dir=in action=allow program="C:\Minecraft\server.jar"
Ports Courants à Configurer
Tableau de Référence Rapide
Services Web
| Service | Port | Protocole | Commande PowerShell |
|---|---|---|---|
| HTTP | 80 | TCP | New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow |
| HTTPS | 443 | TCP | New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow |
| HTTP Alt | 8080 | TCP | New-NetFirewallRule -DisplayName "HTTP Alt" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow |
Accès Distant
| Service | Port | Protocole | Commande PowerShell |
|---|---|---|---|
| RDP | 3389 | TCP | New-NetFirewallRule -DisplayName "RDP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow |
| SSH | 22 | TCP | New-NetFirewallRule -DisplayName "SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow |
| VNC | 5900 | TCP | New-NetFirewallRule -DisplayName "VNC" -Direction Inbound -Protocol TCP -LocalPort 5900 -Action Allow |
Transfert de Fichiers
| Service | Port | Protocole | Commande PowerShell |
|---|---|---|---|
| FTP | 21 | TCP | New-NetFirewallRule -DisplayName "FTP" -Direction Inbound -Protocol TCP -LocalPort 21 -Action Allow |
| FTP Passif | 50000-50100 | TCP | New-NetFirewallRule -DisplayName "FTP Passive" -Direction Inbound -Protocol TCP -LocalPort 50000-50100 -Action Allow |
| SFTP | 22 | TCP | (Même que SSH) |
| FTPS | 990 | TCP | New-NetFirewallRule -DisplayName "FTPS" -Direction Inbound -Protocol TCP -LocalPort 990 -Action Allow |
Bases de Données
| Service | Port | Protocole | Commande PowerShell |
|---|---|---|---|
| MySQL | 3306 | TCP | New-NetFirewallRule -DisplayName "MySQL" -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow |
| PostgreSQL | 5432 | TCP | New-NetFirewallRule -DisplayName "PostgreSQL" -Direction Inbound -Protocol TCP -LocalPort 5432 -Action Allow |
| SQL Server | 1433 | TCP | New-NetFirewallRule -DisplayName "SQL Server" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow |
| MongoDB | 27017 | TCP | New-NetFirewallRule -DisplayName "MongoDB" -Direction Inbound -Protocol TCP -LocalPort 27017 -Action Allow |
| Redis | 6379 | TCP | New-NetFirewallRule -DisplayName "Redis" -Direction Inbound -Protocol TCP -LocalPort 6379 -Action Allow |
Serveurs de Jeux
| Jeu | Port(s) | Protocole | Commande PowerShell |
|---|---|---|---|
| Minecraft Java | 25565 | TCP | New-NetFirewallRule -DisplayName "Minecraft" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow |
| Minecraft Bedrock | 19132 | UDP | New-NetFirewallRule -DisplayName "Minecraft Bedrock" -Direction Inbound -Protocol UDP -LocalPort 19132 -Action Allow |
| FiveM (GTA) | 30120 | TCP/UDP | Voir script ci-dessous |
| Rust | 28015 | TCP/UDP | Voir script ci-dessous |
| ARK | 7777-7778 | TCP/UDP | Voir script ci-dessous |
| Valheim | 2456-2458 | UDP | New-NetFirewallRule -DisplayName "Valheim" -Direction Inbound -Protocol UDP -LocalPort 2456-2458 -Action Allow |
| CS2 | 27015 | TCP/UDP | Voir script ci-dessous |
| Palworld | 8211 | UDP | New-NetFirewallRule -DisplayName "Palworld" -Direction Inbound -Protocol UDP -LocalPort 8211 -Action Allow |
| Terraria | 7777 | TCP | New-NetFirewallRule -DisplayName "Terraria" -Direction Inbound -Protocol TCP -LocalPort 7777 -Action Allow |
Scripts Prêts à l'Emploi
Script : Serveur Minecraft Java
# Minecraft Java Edition
New-NetFirewallRule -DisplayName "Minecraft Java TCP" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
New-NetFirewallRule -DisplayName "Minecraft Java UDP" -Direction Inbound -Protocol UDP -LocalPort 25565 -Action Allow
New-NetFirewallRule -DisplayName "Minecraft RCON" -Direction Inbound -Protocol TCP -LocalPort 25575 -Action Allow
New-NetFirewallRule -DisplayName "Minecraft Query" -Direction Inbound -Protocol UDP -LocalPort 25565 -Action Allow
Write-Host "Ports Minecraft ouverts : 25565 (TCP/UDP), 25575 (RCON)" -ForegroundColor Green
Script : Serveur FiveM (GTA RP)
# FiveM Server
New-NetFirewallRule -DisplayName "FiveM TCP" -Direction Inbound -Protocol TCP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "FiveM UDP" -Direction Inbound -Protocol UDP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "FiveM HTTP" -Direction Inbound -Protocol TCP -LocalPort 40120 -Action Allow
Write-Host "Ports FiveM ouverts : 30120 (TCP/UDP), 40120 (HTTP)" -ForegroundColor Green
Script : Serveur Rust
# Rust Dedicated Server
New-NetFirewallRule -DisplayName "Rust Game TCP" -Direction Inbound -Protocol TCP -LocalPort 28015 -Action Allow
New-NetFirewallRule -DisplayName "Rust Game UDP" -Direction Inbound -Protocol UDP -LocalPort 28015 -Action Allow
New-NetFirewallRule -DisplayName "Rust RCON" -Direction Inbound -Protocol TCP -LocalPort 28016 -Action Allow
New-NetFirewallRule -DisplayName "Rust App" -Direction Inbound -Protocol TCP -LocalPort 28082 -Action Allow
Write-Host "Ports Rust ouverts : 28015, 28016 (RCON), 28082 (App)" -ForegroundColor Green
Script : Serveur ARK
# ARK: Survival Evolved
New-NetFirewallRule -DisplayName "ARK Game UDP" -Direction Inbound -Protocol UDP -LocalPort 7777-7778 -Action Allow
New-NetFirewallRule -DisplayName "ARK Query UDP" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "ARK RCON TCP" -Direction Inbound -Protocol TCP -LocalPort 27020 -Action Allow
Write-Host "Ports ARK ouverts : 7777-7778, 27015, 27020" -ForegroundColor Green
Script : Serveur CS2 / CSGO
# Counter-Strike 2
New-NetFirewallRule -DisplayName "CS2 Game TCP" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "CS2 Game UDP" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "CS2 RCON" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "CS2 Steam" -Direction Inbound -Protocol UDP -LocalPort 27020 -Action Allow
Write-Host "Ports CS2 ouverts : 27015 (TCP/UDP), 27020" -ForegroundColor Green
Profils de Pare-feu
Windows utilise trois profils de pare-feu selon le type de réseau.
Les Trois Profils
| Profil | Description | Utilisation |
|---|---|---|
| Domaine | Réseau avec Active Directory | Entreprise |
| Privé | Réseau de confiance | Maison, bureau |
| Public | Réseau non fiable | Internet, Wi-Fi public |
Quel Profil pour un Serveur ?
Pour un VPS ou serveur dédié accessible depuis Internet :
→ Utilisez le profil "Public" ou "Tous les profils"
Configurer une Règle par Profil
Interface Graphique
Lors de la création de la règle (étape 5) :
☐ Domaine
☐ Privé
☑ Public ← Pour un serveur Internet
PowerShell
# Règle uniquement pour le profil Public
New-NetFirewallRule -DisplayName "Web Server" -Direction Inbound -Protocol TCP -LocalPort 80 -Profile Public -Action Allow
# Règle pour tous les profils
New-NetFirewallRule -DisplayName "Web Server" -Direction Inbound -Protocol TCP -LocalPort 80 -Profile Any -Action Allow
Voir le Profil Actif
# Voir quel profil est actif
Get-NetConnectionProfile
# Résultat exemple :
# Name : Network
# NetworkCategory : Public ← Profil actif
Changer le Profil d'une Connexion
# Passer en profil Privé
Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Private
# Passer en profil Public
Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Public
Bonnes Pratiques de Sécurité
✅ À Faire
| Pratique | Description |
|---|---|
| Principe du moindre privilège | N'ouvrez que les ports strictement nécessaires |
| Nommer clairement les règles | "Minecraft Server TCP 25565" plutôt que "Rule1" |
| Documenter les règles | Gardez une trace de ce qui est ouvert et pourquoi |
| Restreindre par IP si possible | Limitez l'accès RDP à votre IP fixe |
| Utiliser des ports non standard | Changez le port RDP de 3389 à un autre |
| Auditer régulièrement | Vérifiez les règles actives périodiquement |
| Garder le pare-feu activé | Jamais de "désactiver pour tester" permanent |
❌ À Éviter
| Mauvaise pratique | Risque |
|---|---|
| Désactiver le pare-feu | Serveur exposé à toutes les attaques |
| Ouvrir tous les ports | Surface d'attaque maximale |
| Règles trop permissives | Accès non autorisés |
| Ignorer les règles sortantes | Exfiltration de données possible |
| Pas de documentation | Impossible de maintenir la sécurité |
Configuration Sécurisée Recommandée
# 1. S'assurer que le pare-feu est activé
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
# 2. Politique par défaut : bloquer entrant, autoriser sortant
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultOutboundAction Allow
# 3. Activer les logs
Set-NetFirewallProfile -Profile Domain,Public,Private -LogBlocked True -LogAllowed False -LogFileName %SystemRoot%\System32\LogFiles\Firewall\pfirewall.log
# 4. RDP restreint par IP (remplacez par votre IP)
Remove-NetFirewallRule -DisplayName "Remote Desktop*" -ErrorAction SilentlyContinue
New-NetFirewallRule -DisplayName "RDP Restricted" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress VOTRE.IP.PUBLIQUE -Action Allow
Audit des Règles Actives
# Exporter toutes les règles actives
Get-NetFirewallRule -Enabled True -Direction Inbound |
Select-Object DisplayName, Profile, Action |
Export-Csv -Path "C:\firewall_rules.csv" -NoTypeInformation
# Afficher les règles qui autorisent tout
Get-NetFirewallRule -Enabled True -Direction Inbound -Action Allow |
Where-Object { $_.Profile -eq "Any" } |
Format-Table DisplayName, Profile
Dépannage
Problème : Le port semble fermé malgré la règle
Vérifications :
# 1. Vérifier que la règle existe et est active
Get-NetFirewallRule -DisplayName "*NomDeLaRegle*" | Format-Table DisplayName, Enabled, Action
# 2. Vérifier le port associé
Get-NetFirewallRule -DisplayName "NomDeLaRegle" | Get-NetFirewallPortFilter
# 3. Vérifier que le service écoute sur le port
netstat -an | findstr "25565"
# 4. Tester localement
Test-NetConnection -ComputerName localhost -Port 25565
Solutions courantes :
- La règle est désactivée → Activez-la
- Mauvais protocole → Vérifiez TCP vs UDP
- Mauvais profil → Vérifiez que le bon profil est actif
- Le service n'écoute pas → Démarrez l'application
- Pare-feu hébergeur → Vérifiez le pare-feu du panel hébergeur
Problème : "Accès refusé" lors de la création de règle
Solution :
Exécutez PowerShell ou CMD en tant qu'Administrateur :
1. Clic droit sur PowerShell
2. "Exécuter en tant qu'administrateur"
Problème : Trop de règles, difficile à gérer
Solution : Exporter et nettoyer
# Exporter toutes les règles
netsh advfirewall export "C:\firewall_backup.wfw"
# Voir les règles désactivées (candidates à la suppression)
Get-NetFirewallRule -Enabled False | Format-Table DisplayName
# Supprimer les règles désactivées
Get-NetFirewallRule -Enabled False | Remove-NetFirewallRule
Problème : Restaurer la configuration par défaut
# Réinitialiser le pare-feu (ATTENTION : supprime toutes les règles personnalisées)
netsh advfirewall reset
# Ou via l'interface :
# Pare-feu Windows → "Restaurer les paramètres par défaut"
Tester si un Port est Ouvert
Depuis un autre ordinateur :
# PowerShell
Test-NetConnection -ComputerName IP_DU_SERVEUR -Port 25565
# Résultat attendu :
# TcpTestSucceeded : True ← Port ouvert
# TcpTestSucceeded : False ← Port fermé
Depuis Internet :
Utilisez un outil en ligne comme :
Logs du Pare-feu
Activer les logs :
# Activer la journalisation
Set-NetFirewallProfile -Profile Domain,Public,Private -LogBlocked True -LogMaxSizeKilobytes 4096
# Emplacement des logs
%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log
Analyser les logs :
# Voir les dernières entrées bloquées
Get-Content "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" -Tail 50 | Where-Object { $_ -match "DROP" }
Aide-Mémoire Rapide
Commandes PowerShell Essentielles
# Ouvrir un port TCP
New-NetFirewallRule -DisplayName "NOM" -Direction Inbound -Protocol TCP -LocalPort PORT -Action Allow
# Ouvrir un port UDP
New-NetFirewallRule -DisplayName "NOM" -Direction Inbound -Protocol UDP -LocalPort PORT -Action Allow
# Supprimer une règle
Remove-NetFirewallRule -DisplayName "NOM"
# Lister les règles actives
Get-NetFirewallRule -Enabled True -Direction Inbound | Format-Table DisplayName, Action
# Désactiver une règle
Disable-NetFirewallRule -DisplayName "NOM"
# Activer une règle
Enable-NetFirewallRule -DisplayName "NOM"
Commandes CMD Essentielles
:: Ouvrir un port
netsh advfirewall firewall add rule name="NOM" dir=in action=allow protocol=TCP localport=PORT
:: Supprimer une règle
netsh advfirewall firewall delete rule name="NOM"
:: Lister les règles
netsh advfirewall firewall show rule name=all dir=in
:: Activer le pare-feu
netsh advfirewall set allprofiles state on
Conclusion
Le pare-feu Windows Server est un outil puissant pour sécuriser votre serveur. Points clés à retenir :
- Gardez le pare-feu activé — Toujours
- N'ouvrez que le nécessaire — Principe du moindre privilège
- Utilisez PowerShell — Plus rapide et scriptable
- Documentez vos règles — Pour faciliter la maintenance
- Auditez régulièrement — Vérifiez les règles actives
Prochaines étapes recommandées :
- Sécuriser l'accès RDP (changer le port, restreindre par IP)
- Configurer les logs du pare-feu
- Créer un script de configuration pour vos serveurs
- Mettre en place une politique de revue périodique