Menu Fermer

netsh advfirewall : Configurer Pare-feu Windows Defender en invite de commandes

Vous ne le savez peut-être pas mais vous pouvez configurer le pare-feu de Windows en invite de commandes.
Ainsi, on peut par exemple autoriser ou bloquer un programme avec la commande netsh advfirewall en ligne de commandes.
Cela permet donc de créer une exception sur Windows Defender firewall.
Ainsi, la création de script automatisé est alors possible.

Cet article vous donne les grandes lignes pour configurer le firewall de Windows en invite de commandes.

Windows Defender Firewall en invite de commandes avec netsh advfirewall

Configurer Windows Defender Firewall en invite de commandes avec netsh advfirewall

Il est donc possible de paramétrer et configurer le firewall de Windows à partir de l’invite de commandes avec netsh advfirewal.
Celle-ci doit être ouverte en administrateur puisque l’on modifie la configuration système.
Pour cela :

Utiliser netsh advfirewall en invite de commandes

Pour afficher les commandes possibles, on utilise la ligne de commandes suivantes :

netsh advfirewall /?

Voici les paramètres possibles :

  • consec – Modifications pour le contexte netsh advfirewall consec'.
  • dump – Affiche un script de configuration.
  • export – Exporte la stratégie actuelle dans un fichier.
  • firewall – Modifications pour le contextenetsh advfirewall firewall’.
  • help – Affiche une liste de commandes.
  • import – Importe un fichier de stratégie dans le magasin de stratégies actuel.
  • mainmode – Modifications pour le contexte netsh advfirewall mainmode'.
  • monitor – Modifications pour le contextenetsh advfirewall monitor’.
  • reset – Rédéfinit la stratégie sur la stratégie fournie par défaut.
  • set – Définit les paramètres par profil ou globaux.
  • show – Affiche les propriétés de profils ou globaux.
l'aide de la commande netsh advfirewall

A partir de là, on peut utiliser cette commande pour configurer, piloter et paramétrer le pare-feu de Windows.

Voici quelques exemples à travers le paragraphe suivant.

Lister les profiles du pare-feu

Windows Defender Firewall fonctionne avec des profils (domaine, privé et public).
A ces profils, on configure un régime, stratégie et état.
Pour plus d’informations sur ces derniers, lire : Les différences entre un réseau public, privé ou domestique sur Windows

Voici la commande à utiliser afin de lister les profils et leurs états :

netsh advfirewall show allprofiles
afficher les profiles réseaux en ligne de commandes avec netsh advfirewall

Pour désactiver un profil du pare-feu de Windows.

netsh advfirewall set privateprofile state off
netsh advfirewall set domainprofile state off
netsh advfirewall set publicprofile state off

Puis on utilise le paramètre “on” pour le réactiver depuis la ligne de commandes.

Plus bas dans l’article, vous verrez qu’en désactivant le profil actif, cela va désactiver le pare-feu de Windows.

Ouvrir un port sur le pare-feu

La commande netsh advfirewall donne la possibilité d’ouvrir des ports.
Cela créé donc une règle pour autoriser le port à se connecter.

Voici un exemple qui permet d’ouvrir le port 3389 lié au protocole RDP et accès au bureau à distance.

netsh advfirewall firewall add rule name="Accès bureau à distance" protocol=TCP dir=in localport=3389 action=allow

Si tout va bien, cela retourne OK.

Bravo ! vous avez réussi à ouvrir et autoriser un port sur le pare-feu de Windows avec l’invite de commandes

Si vous devez ouvrir une gamme de ports, utilisez simplement un tiret simple. Par exemple, ici j’ouvre les ports 6000 à 7000 pour le trafic sortant UDP :

netsh advfirewall firewall add rule name="UDP ports" protocol=UDP dir=out localport=6000-7000 action=allow

Ou encore ici on bloque la connexion au port 443 en sortant.

netsh advfirewall firewall add rule name="Bloquer le surf" remoteport=443 protocol=tcp dir=out action=block profile=public

Autoriser/Bloquer une application sur le firewall

On peut ensuite créer des règles pour autoriser une application sur le pare-feu de Windows.
Cela se fait avec netsh advfirewall firewall.

Pour rappel, une règle et donc la commande à utiliser se compose :

  • indiquer le nom de la règle,
  • le chemin de l’application (program),
  • une direction (avec dir) : out ou in,
  • une action : bloquer ou autoriser,
  • le profil au quel la règle va appartenir (public, privé, domaine).

Par exemple ci-dessous, on créé une règle :

  • qui porte le nom “Bloquer Chrome”,
  • elle vise l’exécutable chrome.exe,
  • l’action est de bloquer,
  • elle s’applique au profile public.
netsh advfirewall firewall add rule name="Bloquer Chrome" program="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" dir=out action=block profile=public

Lorsque la règle est prise en compte, l’invite de commandes retourne OK.

Autoriser/Bloquer un programme sur le firewall en invite de commandes
Bravo ! vous avez réussi à autoriser un programme sur le pare-feu de Windows avec l’invite de commandes

On peut aussi affiner la règle en indiquant des IP distantes avec remoteip.
Ici il s’agit du LAN et vise Powershell.

netsh advfirewall firewall add rule name="PS-Allow-LAN" dir=out remoteip=localsubnet action=allow program="c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe" enable=yes
Pour vérifier l’intégration de la nouvelle règle, vous pouvez utiliser les commandes suivantes pour les lister.
Sinon, je vous rappelle qu’elles sont aussi disponibles dans le Panneau de configuration > Tous les Panneaux de configuration > Pare-feu Windows Defender > Enfin à gauche Applications autorisées.

Autoriser ou bloquer des interfaces réseaux (LAN, Wi-Fi, etc)

Vous pouvez utiliser la commande pour bloquer Internet sauf sur le réseau local, selon le type d’interface grâce à l’option interfacetype.

Bloquer les connexions Internet sauf pour les interfaces de type LAN :

netsh advfirewall firewall add rule name="Bloquer Internet sauf LAN" dir=out action=block interfacetype=!LAN

Autoriser les connexions uniquement sur le réseau local :

netsh advfirewall firewall add rule name="Autoriser Local LAN" dir=out action=allow interfacetype=LAN

Options pour interfacetype :

  • LAN : Interfaces câblées (Ethernet).
  • Wireless : Interfaces sans fil (Wi-Fi).
  • RemoteAccess : Interfaces VPN ou connexions à distance.
  • All : Toutes les interfaces réseau.
  • !LAN : Exclusion des interfaces LAN.

Si vous voulez bloquer uniquement les connexions Wi-Fi (et autoriser toutes les autres) :

netsh advfirewall firewall add rule name="Bloquer Wi-Fi" dir=out action=block interfacetype=Wireless

Lister les règles du firewall

Puis pour lister les règles de Windows Firewall Defender.
On utilise le paramètre show.

Pour lister le contenu d’une règle en particulier, on indique son nom avec le paramètre name.

netsh advfirewall firewall show rule name="Accès bureau à distance"
Lister les règles du firewall en invite de commandes

Enfin pour lister toutes les règles de Windows Firewall Defender.

netsh advfirewall firewall show rule name=all 
Lister les règles du firewall en invite de commandes

Supprimer une règle de pare-feu

Il suffit d’utiliser la commande netsh firewall delete rules en indiquant le nom de la règle.
Ce qui nous donne depuis l’invite de commandes :

netsh advfirewall firewall delete rule name="Bloquer Chrome"

Activer/désactiver le pare-feu

Voici la commande à utiliser afin de désactiver le pare-feu de Windows.
En réalité, il s’agit de désactiver le profil actif.

netsh advfirewall set  currentprofile state off

Ainsi pour activer le pare-feu de Windows, voici la ligne de commandes :

netsh advfirewall set  currentprofile state on

Afficher la configuration générale du pare-feu

Enfin on peut afficher les paramètres globaux et encore les profils avec la commande suivante :

netsh advfirewall monitor show firewall

Les paramètres du pare-feu défilent alors dans l’invite de commandes.

Afficher la configuration générale du pare-feu en invite de commandes

Tableau récapitulatif des principales commandes netsh advfirewall firewall

Voici un tableau qui récapitule les principales commandes netsh advfirewall firewall, utiles pour configurer le pare-feu Windows Defender.

CommandeDescriptionExemple
add ruleAjoute une règle pour autoriser ou bloquer des connexions entrantes/sortantes.netsh advfirewall firewall add rule name="Bloquer Internet" dir=out action=block remoteip=0.0.0.0-255.255.255.255
delete ruleSupprime une règle existante du pare-feu.netsh advfirewall firewall delete rule name="Bloquer Internet"
show ruleAffiche les détails des règles configurées.netsh advfirewall firewall show rule name="Bloquer Internet"
set ruleModifie une règle existante.netsh advfirewall firewall set rule name="Autoriser RDP" new action=allow
resetRéinitialise toutes les règles du pare-feu aux paramètres par défaut.netsh advfirewall reset
show allprofilesAffiche les paramètres globaux du pare-feu pour tous les profils (Domaine, Privé, Public).netsh advfirewall show allprofiles
set allprofiles stateActive ou désactive le pare-feu pour tous les profils.netsh advfirewall set allprofiles state on
set currentprofile stateActive ou désactive le pare-feu pour le profil réseau actif.netsh advfirewall set currentprofile state off
set privateprofile stateActive ou désactive le pare-feu pour le profil privé.netsh advfirewall set privateprofile state on
set publicprofile stateActive ou désactive le pare-feu pour le profil public.netsh advfirewall set publicprofile state off
add rule interfacetypeCrée une règle basée sur le type d’interface réseau (LAN, Wireless, RemoteAccess).netsh advfirewall firewall add rule name="Bloquer Wi-Fi" dir=out action=block interfacetype=Wireless
add rule remoteipAjoute une règle pour bloquer ou autoriser des plages IP spécifiques.netsh advfirewall firewall add rule name="Autoriser LAN" dir=in action=allow remoteip=192.168.0.0-192.168.255.255
add rule localportCrée une règle pour bloquer ou autoriser un port local spécifique.netsh advfirewall firewall add rule name="Bloquer HTTP" dir=out action=block localport=80 protocol=TCP
add rule protocolAjoute une règle pour un protocole spécifique (TCP, UDP).netsh advfirewall firewall add rule name="Bloquer UDP" dir=out action=block protocol=UDP
add rule programCrée une règle pour un programme spécifique.netsh advfirewall firewall add rule name="Autoriser Chrome" dir=out action=allow program="C:\Chemin\Chrome.exe"
add rule serviceCrée une règle pour un service spécifique.netsh advfirewall firewall add rule name="Autoriser RDP" dir=in action=allow service=RemoteDesktop
set notificationsConfigure les notifications pour les connexions bloquées.netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound