Comment configurer le Pare-feu Windows Server

Comment configurer le Pare-feu Windows Server

A
Admin
18 min read

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 :

  1. La règle est désactivée → Activez-la
  2. Mauvais protocole → Vérifiez TCP vs UDP
  3. Mauvais profil → Vérifiez que le bon profil est actif
  4. Le service n'écoute pas → Démarrez l'application
  5. 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 :

  1. Gardez le pare-feu activé — Toujours
  2. N'ouvrez que le nécessaire — Principe du moindre privilège
  3. Utilisez PowerShell — Plus rapide et scriptable
  4. Documentez vos règles — Pour faciliter la maintenance
  5. 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