Windows Server

Pare-feu Windows — Règles avancées

Créer des règles de pare-feu entrantes/sortantes via l'interface graphique et PowerShell pour sécuriser un serveur.

← Retour aux tutoriels Windows
📚 C'est quoi le pare-feu Windows ? Le pare-feu Windows est un logiciel intégré qui contrôle le trafic réseau entrant et sortant de votre serveur. Il fonctionne avec des règles : vous définissez quels ports sont ouverts (ex: 443 pour HTTPS) et quels ports sont bloqués. Il a 3 profils : Domain (quand le serveur est dans un domaine AD), Private (réseau privé) et Public (le plus restrictif). On va apprendre à créer des règles précises via PowerShell.
ⓘ Prérequis Windows Server 2019/2022. Le pare-feu Windows doit être activé (il l'est par défaut).

Vérifier l'état du pare-feu

  1. Ouvrez Pare-feu Windows Defender avec fonctions avancées de sécurité (wf.msc).
  2. Dans le panneau central, vérifiez l'état de chaque profil : Domaine, Privé, Public.
  3. Si un profil est désactivé : clic droit sur Pare-feu Windows… → Propriétés → onglet du profil → État du pare-feu : Activé.
ProfilUsage
DomainLe serveur est dans un domaine AD
PrivateRéseau privé (pas de domaine)
PublicRéseau public (le plus restrictif)

Ouvrir un port en entrée (Inbound)

Exemple : autoriser le trafic HTTPS (port 443) :

  1. Dans wf.msc, clic droit sur Règles de trafic entrant → Nouvelle règle.
  2. Type : Port → Suivant.
  3. Protocole : TCP, port local : 443 → Suivant.
  4. Action : Autoriser la connexion → Suivant.
  5. Profils : cochez Domaine et Privé → Suivant.
  6. Nom : Autoriser HTTPS Entrant.

Répétez pour un port personnalisé (ex : 8080) en changeant le numéro de port à l'étape 3.

Bloquer un port en sortie (Outbound)

Exemple : empêcher un serveur d'envoyer des e-mails (SMTP) :

  1. Dans wf.msc, clic droit sur Règles de trafic sortant → Nouvelle règle.
  2. Type : Port → Suivant.
  3. Protocole : TCP, port distant : 25 → Suivant.
  4. Action : Bloquer la connexion → Suivant.
  5. Profils : cochez les trois (Domaine, Privé, Public) → Suivant.
  6. Nom : Bloquer SMTP Sortant.
⚠ Attention Par défaut, Windows autorise tout le trafic sortant. Bloquer des ports en sortie peut impacter des services légitimes — testez sur un serveur non-critique.

Autoriser une plage d'IP

Restreindre l'accès RDP (3389) à un sous-réseau d'administration :

  1. Créez une règle entrante de type Port → TCP, port 3389.
  2. Action : Autoriser la connexion.
  3. Terminez la création, puis double-cliquez sur la règle créée.
  4. Onglet Étendue → dans Adresses IP distantes, cochez Ces adresses IP et ajoutez 10.0.10.0/24.
  5. Créez une deuxième règle entrante TCP 3389 avec l'action Bloquer la connexion pour bloquer toutes les autres IP.
ⓘ Ordre de priorité Les règles Allow sont traitées avant les règles Block à priorité égale. Utilisez le paramètre -Priority si besoin d'un ordre précis (optionnel sur les règles simples).

Gérer les règles existantes

  1. Dans wf.msc, cliquez sur Règles de trafic entrant ou sortant pour lister toutes les règles.
  2. Utilisez la colonne Activé pour filtrer les règles actives.
  3. Pour désactiver une règle : clic droit → Désactiver la règle.
  4. Pour supprimer une règle : clic droit → Supprimer.
  5. Utilisez le champ de recherche Filtrer par nom dans le panneau Actions pour trouver une règle précise.

Exporter / Importer les règles

Pour déployer les mêmes règles sur plusieurs serveurs :

  1. Dans wf.msc, clic droit sur Pare-feu Windows… → Exporter la stratégie.
  2. Enregistrez le fichier .wfw sur un partage réseau ou une clé USB.
  3. Sur un autre serveur : Importer la stratégie (cela écrase les règles existantes).

Tester vos règles

Depuis un autre poste, essayez de vous connecter au port concerné pour vérifier que la règle fonctionne (ex : ouvrir https://IP-serveur dans un navigateur pour le port 443).

⌨️ Version PowerShell

Retrouvez ci-dessous les commandes PowerShell correspondant à chaque étape du tutoriel.

Étape 1 — Vérifier l'état du pare-feu

# Affiche l'état de chaque profil
Get-NetFirewallProfile | Select-Object Name, Enabled | Format-Table

# Réactive les 3 profils
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

Étape 2 — Ouvrir un port en entrée

# Autoriser HTTPS (port 443)
New-NetFirewallRule `
    -DisplayName "Autoriser HTTPS Entrant" `
    -Direction Inbound -Protocol TCP -LocalPort 443 `
    -Action Allow -Profile Domain,Private

# Port personnalisé 8080
New-NetFirewallRule `
    -DisplayName "App Web 8080" `
    -Direction Inbound -Protocol TCP -LocalPort 8080 `
    -Action Allow -Profile Domain

Étape 3 — Bloquer un port en sortie

# Bloquer SMTP sortant (port 25)
New-NetFirewallRule `
    -DisplayName "Bloquer SMTP Sortant" `
    -Direction Outbound -Protocol TCP -RemotePort 25 `
    -Action Block -Profile Any

Étape 4 — Autoriser une plage d'IP

# RDP autorisé uniquement depuis le réseau admin
New-NetFirewallRule `
    -DisplayName "RDP Admin Only" `
    -Direction Inbound -Protocol TCP -LocalPort 3389 `
    -RemoteAddress 10.0.10.0/24 -Action Allow -Profile Domain

# Bloquer le RDP pour tout le reste
New-NetFirewallRule `
    -DisplayName "RDP Block All Others" `
    -Direction Inbound -Protocol TCP -LocalPort 3389 `
    -Action Block -Profile Domain

Étape 5 — Gérer les règles existantes

# Lister les règles actives
Get-NetFirewallRule -Enabled True |
    Select-Object DisplayName, Direction, Action | Format-Table -AutoSize

# Chercher une règle
Get-NetFirewallRule -DisplayName "*RDP*"

# Désactiver une règle
Disable-NetFirewallRule -DisplayName "Bloquer SMTP Sortant"

# Supprimer une règle
Remove-NetFirewallRule -DisplayName "App Web 8080"

Étape 6 — Exporter / Importer / Tester

# Exporter la configuration
netsh advfirewall export "C:\Backup\firewall-config.wfw"

# Importer sur un autre serveur
netsh advfirewall import "C:\Backup\firewall-config.wfw"

# Tester un port
Test-NetConnection -ComputerName 10.0.10.50 -Port 443
Test-NetConnection -ComputerName 10.0.10.50 -Port 3389
✔ Résultat Le pare-feu Windows est configuré avec des règles précises : HTTPS autorisé, RDP restreint au sous-réseau admin, SMTP bloqué en sortie. La configuration est exportable pour être répliquée.