Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
WindowsFirewallRuleset — Scripts PowerShell pour créer automatiquement des règles pour le pare-feu Windows | Kitploit
Outils/GitHubGitHub/metablaster/windowsfirewallruleset
Scripting et AutomatisationAudit de ConfigurationSécurité RéseauArchived
GitHubmetablaster/windowsfirewallruleset

WindowsFirewallRuleset

Scripts PowerShell pour créer automatiquement des règles pour le pare-feu Windows

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web
17941il y a 1 anVérifié par Kitploit

Windows Firewall Ruleset

Texte alternatif

Table des matières

  • Windows Firewall Ruleset
    • Table des matières
    • À propos de Windows Firewall Ruleset
      • Règles de pare-feu
      • Infrastructure de pare-feu
    • La vision de ce pare-feu
    • Licence
    • Configuration requise
      • Détails de la configuration requise
      • Je ne réponds pas aux exigences
    • Première utilisation
      • Avertissement
      • Remarque
      • Démarrage rapide
    • Gestion du pare-feu
      • Déploiement automatisé et interactif du pare-feu
      • Gérer les règles GPO
      • Déploiement d'ensembles de règles individuels
      • Suppression de règles
      • Exportation/Importation de règles
    • Déploiement distant du pare-feu
    • Support, mises à jour et documentation
    • L'avenir

À propos de Windows Firewall Ruleset

Version alpha

Une solution entièrement automatisée pour le pare-feu Windows avec PowerShell

Windows Firewall Ruleset configure automatiquement le pare-feu Windows et applique des règles de pare-feu restrictives spécifiques au système cible et aux logiciels installés sur le système.

Le statut de ce projet est encore alpha, cliquez sur le badge "status" ci-dessus pour en savoir plus.
Ce projet se compose de deux parties principales : les règles de pare-feu et l'infrastructure de pare-feu, comme suit :

Règles de pare-feu

Les règles du pare-feu Windows sont triées dans des scripts PowerShell individuels selon :

  • Groupe de règles
  • Direction du trafic (ex. entrant, sortant ou IPSec)
  • Type de logiciel et éditeur
  • Version IP (IPv4 / IPv6)

Comme par exemple :

  • Trafic ICMP
  • Règles du navigateur
  • Logiciel OS intégré
  • Applications du Store
  • Services Windows
  • Jeux multijoueurs
  • Programmes Microsoft
  • Programmes tiers
  • Trafic de diffusion
  • Trafic multicast

Infrastructure de pare-feu

  • L'infrastructure de pare-feu se compose de plusieurs modules PowerShell, scripts et documentation utilisés pour recueillir des informations sur l'environnement pertinentes pour construire et déployer un pare-feu spécialisé pour le système cible, telles que :

    • Ordinateurs sur le réseau
    • Programmes installés
    • Calculs de sous-réseau IP
    • Utilisateurs distants ou locaux
    • Configuration réseau
    • Configuration GPO
    • Gestion du pare-feu
    • Analyse rapide des traces de paquets et des journaux d'audit
    • Diverses fonctions utilitaires de dépannage, pare-feu, système et réseau
  • Ainsi, ce dépôt est un bon point de départ pour étendre facilement votre pare-feu en y ajoutant d'autres règles et fonctionnalités selon vos souhaits.

  • Il existe actuellement plus de 800 règles de pare-feu, plus de 10 modules avec plus de 100 fonctions, plusieurs scripts et une bonne partie de documentation utile.

  • Vous pouvez choisir interactivement les règles que vous souhaitez et ne déployer que celles-ci, ou vous pouvez automatiser le processus et déployer toutes les règles et paramètres nécessaires à votre pare-feu.

Table des matières

La vision de ce pare-feu

Géré dans VSCode PowerShell

  1. La configuration détaillée du pare-feu est un processus chronophage, nécessite beaucoup de dépannage, les changements exigent des tests et un audit de sécurité, et cela empire si vous devez déployer un pare-feu sur des centaines ou des milliers d'ordinateurs distants, par exemple tous les ordinateurs peuvent ne pas avoir les mêmes logiciels ou les mêmes exigences de restriction.

  2. Contrairement aux règles de pare-feu dans le panneau de configuration, ces règles sont chargées dans le pare-feu GPO (Stratégie de groupe locale), ce qui signifie que les modifications des paramètres système ou les programmes aléatoires qui installent des règles dans le cadre de leur processus d'installation n'auront aucun effet sur le pare-feu, sauf si vous faites explicitement une exception.

  3. Les règles basées sur des programmes et des services vérifieront la signature numérique de leur fichier exécutable spécifié et seront analysées sur VirusTotal si la signature numérique est absente ; pour des raisons de sécurité, la règle n'est pas créée ou chargée dans le pare-feu si cette vérification échoue. (peut être forcé)

  4. La sortie par défaut est "bloquer" sauf s'il existe une règle permettant le trafic réseau. Dans la plupart des pare-feux, cela n'est pas possible sauf si vous maintenez des règles pour chaque programme ou service possible. Grâce à cette collection de règles, définir la sortie par défaut sur bloquer nécessite très peu ou pas de travail supplémentaire.

  5. Contrairement au scénario habituel, vous saurez quelles règles n'ont plus d'effet ou sont redondantes en raison, par exemple, d'un programme désinstallé, d'un service système manquant qui n'existe plus, d'un exécutable renommé après une mise à jour Windows et de raisons similaires.

  6. Contrairement aux règles de pare-feu Windows prédéfinies, ces règles sont plus restrictives, par exemple liées à des comptes d'utilisateurs explicites, applicables à des ports spécifiques, des interfaces réseau, des exécutables spécifiques, des services, etc., le tout étant appris automatiquement du système cible.

  7. La mise à jour, le filtrage ou la recherche de règles et d'attributs tels que les ports, les adresses et autres est beaucoup plus facile car ces règles sont dans des scripts ; vous pouvez utiliser des outils d'éditeur tels que regex, multicursor ou CTRL + F pour effectuer des opérations en masse sur vos règles, ce qui n'est pas possible dans une interface utilisateur de pare-feu en raison des limitations de l'interface.

Table des matières

Licence

Licence MIT

Ce projet Windows Firewall Ruleset est sous licence MIT.

Certains scripts, fichiers ou modules ne sont pas sous licence MIT ou peuvent avoir leurs propres détenteurs de droits d'auteur ; pour cette raison, les avis de licence et de droit d'auteur sont conservés "par fichier".

Configuration requise

Windows

Le tableau suivant liste les systèmes d'exploitation sur lesquels Windows Firewall Ruleset a été testé


  1. Windows PowerShell 5.1 ou PowerShell Core 7.3.x Télécharger PowerShell Core
  2. .NET Framework 4.5 (Windows PowerShell uniquement) Télécharger .NET Framework
  3. sigcheck64.exe (Hautement recommandé) Télécharger sigcheck
  4. Git (Optionnel) Télécharger Git
  5. Visual Studio Code (Recommandé) Télécharger VSCode
  6. Support PowerShell pour VSCode (Recommandé) Télécharger l'extension
  7. PSScriptAnalyzer (Recommandé) Télécharger PSScriptAnalyzer

Table des matières

Détails de la configuration requise

  • Tous les systèmes Windows 10.0 (Majeure 10, Mineure 0) et supérieurs, à l'exception des éditions Home, sont pris en charge, mais seules les éditions listées dans le tableau ci-dessus ont été testées.
    La colonne "Version" liste les versions testées, mais seules les dernières versions des builds continuent d'être testées.
    Une liste d'autres systèmes et fonctionnalités pris en charge mais non testés se trouve dans L'avenir

  • PowerShell Core n'est pas intégré à Windows, vous devrez l'installer séparément ou utiliser Windows PowerShell qui fait partie du système d'exploitation.

  • .NET Framework version min. 4.5 est requis si vous utilisez Windows PowerShell (édition Desktop) au lieu de PowerShell Core.
    Windows 10 est livré avec min .NET 4.6 (qui inclut .NET 4.5), et Windows 11 est livré avec min .NET 4.8

  • sigcheck64.exe (ou la version 32 bits sigcheck.exe) est un outil de vérification de signature numérique que vous pouvez télécharger depuis le site Microsoft et doit être placé soit dans le répertoire C:\tools, soit dans la variable d'environnement %PATH%.
    Windows Firewall Ruleset l'utilisera pour effectuer une analyse de malware en ligne basée sur le hachage sur VirusTotal pour chaque exécutable qui n'est pas signé numériquement avant qu'une règle de pare-feu ne soit créée pour cet exécutable. Ce n'est qu'une recommandation ; s'il n'y a pas de dans , on vous proposera de le télécharger et si vous refusez, aucune analyse de malware n'est effectuée. En utilisant cette fonctionnalité, vous acceptez les , la et les

Table des matières

Je ne réponds pas aux exigences

Pour le moment, ce pare-feu est testé et conçu pour les ordinateurs de bureau/serveurs Windows les plus récents et cela fonctionne ; l'utiliser sur des systèmes plus anciens nécessite un travail supplémentaire.

Les tests sont effectués sur Windows 64 bits ; une petite fraction des règles ne fonctionnera pas sur un système 32 bits et nécessite un ajustement. La fonctionnalité complète pour un système 32 bits est en cours de développement.
Pour l'instant, vous pouvez charger les règles sur un système 32 bits sans problème, à l'exception de quelques règles probablement non pertinentes pour votre configuration.

Pour savoir comment utiliser ce pare-feu sur des systèmes Windows plus anciens tels que Windows 7 ou Windows Server 2008, consultez Prise en charge héritée

Table des matières

Première utilisation

Voici de brefs avertissements et avis dont l'utilisateur novice doit prendre connaissance avant de déployer le pare-feu.

Avertissement

  • Vous pourriez perdre la connectivité Internet pour certains de vos programmes ou, dans de rares cas, même perdre complètement la connectivité Internet ; si cela se produit, vous pouvez soit autoriser temporairement le réseau sortant dans la GPO, soit exécuter
    .\Scripts\Reset-Firewall.ps1 -Remoting -Service, pour réinitialiser le pare-feu GPO aux valeurs par défaut du système, supprimer toutes les règles et restaurer WinRM et les services modifiés aux valeurs par défaut du système. (après cela, un redémarrage de PowerShell est nécessaire)

  • Dans le répertoire docs se trouve ResetFirewall.md, un guide sur la façon de le faire manuellement, à la main, si pour une raison quelconque vous ne pouvez pas exécuter le script, ou si le script ne résout pas vos problèmes.

  • Vos règles existantes ne seront pas supprimées, sauf si vous avez des règles dans la GPO avec exactement les mêmes noms de groupe que les règles de cet ensemble de règles. Cependant, cela ne s'applique pas à Scripts\Reset-Firewall.ps1 qui effacera complètement les règles GPO et ne laissera que celles du panneau de configuration.

  • Si vous voulez être sûr à 100%, veuillez exporter vos règles GPO comme expliqué dans Exportation\Importation de règles

  • Il vous sera demandé quelles règles charger (si vous sélectionnez le déploiement interactif, voir plus tard). Pour minimiser les problèmes de connectivité Internet, vous devriez déployer au moins toutes les règles génériques de réseau et liées à l'OS appelées "CoreNetworking", "ICMP", "WindowsSystem", "WindowsServices", "Multicast", y compris toutes les règles pour lesquelles vous avez des programmes installés sur le système. N'ignorez pas non plus IPv6, Windows a besoin d'IPv6 même si vous êtes sur un réseau IPv4.
    Il sera facile de supprimer ce dont vous n'avez pas besoin dans la GPO, plutôt que de fouiller plus tard dans le code pour trouver ce que vous avez manqué.

  • La configuration par défaut définira le comportement global du pare-feu qui n'est pas configurable dans la GPO, comme et ou les paramètres globaux . Si vous avez besoin d'une configuration spécifique, veuillez consulter et jeter un œil à . Notez que est automatiquement appelé par

Table des matières

Remarque

  • Charger des règles dans une GPO vide devrait être très rapide, mais charger dans une GPO qui contient déjà des règles sera nettement plus lent (dépend du nombre de règles existantes dans la GPO)

  • Toutes les erreurs et avertissements seront enregistrés dans le répertoire Logs. Vous pouvez consulter ces journaux plus tard si vous souhaitez résoudre un problème. La plupart des avertissements et même certaines erreurs peuvent être ignorés en toute sécurité. Dans certains cas, vous voudrez peut-être résoudre les erreurs si possible.

  • Toute règle qui entraîne "Accès refusé" lors du chargement doit être rechargée en exécutant à nouveau le script spécifique. Voir FAQ pour plus d'informations sur les raisons pour lesquelles cela peut se produire.

  • Si le dépôt a été téléchargé manuellement, transféré depuis un autre ordinateur ou support, vous devriez d'abord débloquer tous les fichiers du dépôt pour éviter les questions OUI/NON intempestives pour chaque script exécuté, en exécutant Scripts\Unblock-Project.ps1.
    Le script maître Scripts\Deploy-Firewall.ps1 le fait si vous oubliez, mais les questions initiales OUI/NON seront toujours présentes dans ce cas.

  • Si vous avez activé la "protection contre les ransomwares" (dans Windows Defender), assurez-vous d'autoriser soit pwsh.exe (édition Core) soit powershell.exe (édition Desktop) ou les deux, sinon des erreurs se produisent en mode développement lors de l'installation des modules.
    Si le code du dépôt est téléchargé dans un dossier sous la protection contre les ransomwares, tout peut être bloqué.
    La console PowerShell peut nécessiter un redémarrage pour que les modifications de "Contrôle d'accès aux dossiers" prennent effet.

  • Par défaut, les règles sont créées pour le groupe Utilisateurs tandis que pour le groupe seulement si nécessaire. Il est recommandé d'avoir un compte utilisateur standard pour une utilisation quotidienne pour des raisons de sécurité. Si vous êtes administrateur et que vous ne souhaitez pas créer de compte standard sur votre ordinateur, vous devrez modifier la variable dans et spécifier .

Table des matières

Démarrage rapide

  1. Si vous n'avez pas de clés SSH et d'autres configurations nécessaires pour cloner via SSH, clonez avec HTTPS ou téléchargez simplement le fichier zip de la version depuis Releases, puis pour la dernière version sous "assets", téléchargez le fichier zip.
    Ces étapes supposent que vous avez téléchargé un fichier zip depuis la section "assets" sous "Releases".

  2. Extrayez l'archive téléchargée quelque part. Ces étapes supposent que vous avez extrait le fichier zip (répertoire racine du dépôt) directement dans le lecteur racine C:\.

  3. Si vous souhaitez utiliser Windows PowerShell, voir Comment ouvrir Windows PowerShell
    Sinon, la procédure pour PowerShell Core et Windows PowerShell est similaire :
    Ouvrez le dossier extrait, faites un clic droit dans un espace vide et il y a une option pour exécuter PowerShell Core en tant qu'administrateur (suppose que vous avez activé le menu contextuel lors de l'installation de PowerShell Core) ; sinon, ouvrez-le manuellement.

  4. Si vous n'avez pas de menu contextuel PowerShell, déplacez-vous vers le lecteur racine C:\ en exécutant les deux lignes suivantes (tapez ou copiez/collez les commandes et appuyez sur Entrée pour chacune), c'est là que vous avez extrait votre fichier zip téléchargé

    root@kitploit:~
    c:
    cd \
    
  5. cd dans le dossier téléchargé :

    root@kitploit:~
    cd WindowsFirewallRuleset*
    
  6. Pour voir la politique d'exécution actuelle, tapez la commande suivante et appuyez sur Entrée :
    (astuce : vous pouvez utiliser la touche TAB pour la complétion automatique en tapant)

Si vous avez besoin d'aide pour décider d'exécuter ou non un ensemble de règles, tapez ? lorsque vous êtes invité à exécuter l'ensemble de règles et appuyez sur Entrée pour obtenir plus d'informations.
Si, pour une raison quelconque, vous souhaitez interrompre et annuler le déploiement (par exemple pour en recommencer un nouveau), appuyez sur CTRL + C sur votre clavier pendant que PowerShell est actif et redémarrez la console PowerShell.

  1. Suivez les instructions de l'invite (par exemple, appuyez sur Entrée pour accepter l'action par défaut), cela prendra environ 15 minutes de votre attention.

    REMARQUE : Si le compte Administrateur utilise un compte Microsoft pour se connecter à l'ordinateur, vous serez invité à fournir des identifiants, qui doivent être l'adresse e-mail et le mot de passe Microsoft, que vous utilisiez Windows Hello ou non. Spécifier un code PIN par exemple ne fonctionnera pas et les autres méthodes d'authentification Windows Hello ne sont pas prises en charge.

    Si des identifiants invalides sont fournis, vous obtiendrez une erreur indiquant Access is denied.
    Si cela se produit, vous devrez redémarrer la console PowerShell et réessayer.

    Pour plus d'informations sur la nécessité de cette opération, voir FAQ

  2. Si vous rencontrez des erreurs, vous pouvez soit les ignorer, soit mettre à jour le script qui a produit l'erreur, puis réexécuter ce script spécifique plus tard.

  3. Une fois terminé, vous souhaiterez peut-être ajuster certaines règles dans la stratégie de groupe locale. Toutes les règles ne sont pas activées par défaut ou vous souhaiterez peut-être basculer le comportement par défaut Autoriser/Refuser.
    Les règles peuvent ne pas couvrir tous les programmes installés sur votre système, auquel cas les règles manquantes doivent être créées.

  4. Maintenant, testez votre connexion Internet (par exemple avec un navigateur Web ou un autre programme). Si vous ne parvenez pas à vous connecter à Internet après avoir déployé ces règles, vous avez plusieurs options :

    • Ouvrir temporairement le pare-feu sortant dans la GPO ou Désactiver le pare-feu
    • Résoudre les problèmes : Guide détaillé de dépannage réseau
    • Vous pouvez Réinitialiser l'état précédent du pare-feu
    • Consultez le répertoire docs pour plus d'options de dépannage et de documentation

Table des matières

Gestion du pare-feu

La section suivante donne quelques conseils pour gérer facilement le pare-feu

Déploiement automatisé et interactif du pare-feu

Le script Deploy-Firewall.ps1 prend en charge plusieurs paramètres pour vous permettre de personnaliser l'automatisation du déploiement comme suit :

  • Pour exécuter automatiquement toutes les règles sans invite et avec une sortie concise, mais uniquement pour les programmes qui existent sur le système, exécutez :```powershell .\Scripts\Deploy-Firewall.ps1 -Force -Quiet
root@kitploit:~
- Pour procéder étape par étape et être invité à confirmer les règles à charger
et à tenter de résoudre les problèmes à la volée, exécutez:```powershell
.\Scripts\Deploy-Firewall.ps1 -Interactive
  • Pour être invité uniquement à la sélection des règles, exécutez Deploy-Firewall sans paramètres:```powershell .\Scripts\Deploy-Firewall.ps1
root@kitploit:~
Pour apprendre la signification des paramètres afin de pouvoir les combiner par vous-même, consultez le commentaire du script `Deploy-Firewall.ps1` ou exécutez la commande suivante :```powershell
Get-Help .\Scripts\Deploy-Firewall.ps1 -Detailed

Gérer les règles GPO

Il existe deux méthodes pour gérer les règles GPO :

  1. Utiliser la stratégie de groupe locale, cette méthode vous donne une liberté limitée sur ce que vous pouvez faire avec les règles de ce dépôt, comme les désactiver, modifier certains attributs ou ajouter de nouvelles règles.
    Pour plus d'informations voir : Gérer le pare-feu GPO

  2. Modifier les scripts PowerShell, cette méthode vous donne un contrôle total, vous pouvez modifier ou supprimer les règles existantes sans restriction ou en ajouter de nouvelles.

Quel que soit votre plan ou votre configuration, vous voudrez sûrement effectuer un travail supplémentaire comme personnaliser les règles, ou ajouter de nouvelles règles pour des programmes non encore couverts par ce pare-feu.

Les règles sont chargées dans la stratégie de groupe locale, si lors de la configuration du pare-feu vous avez accepté la création d'un raccourci vers la console de gestion personnalisée du pare-feu, vous pouvez exécuter ce raccourci, sinon suivez les étapes mentionnées dans Gérer le pare-feu GPO

Pour plus d'informations sur GPO voir : Configurer les paramètres de stratégie de sécurité

Table of Contents

Déployer des ensembles de règles individuels

Si vous souhaitez déployer uniquement des règles spécifiques, il existe deux manières de le faire :

  1. Exécutez Scripts\Deploy-Firewall.ps1 et choisissez Yes uniquement pour les ensembles de règles souhaités, sinon choisissez No et appuyez sur Entrée pour passer l'ensemble de règles actuel.

  2. Dans la console PowerShell, naviguez cd vers le répertoire contenant le script d'ensemble de règles souhaité et exécutez le script individuel.
    Par exemple cd .\Rules\IPv4\Outbound\Software suivi de .\Adobe.ps1 pour charger les règles pour Adobe.

Vous voudrez peut-être exécuter Scripts\Complete-Firewall.ps1 ensuite pour appliquer le comportement par défaut du pare-feu s'il n'est pas déjà défini, ou vous pouvez le faire manuellement dans GPO mais avec un pouvoir limité. « pouvoir limité » signifie que Scripts\Complete-Firewall.ps1 configure certains paramètres de pare-feu qui ne peuvent pas être ajustés dans l'interface graphique du pare-feu.

Dans les deux cas, toutes les règles qui correspondent au groupe d'ensembles de règles, DisplayGroup, seront supprimées avant de charger les règles dans GPO.

Table of Contents

Supprimer des règles

Pour l'instant, il existe trois options pour supprimer les règles de pare-feu :

  1. La façon la plus simple est de sélectionner toutes les règles que vous souhaitez supprimer dans GPO, de cliquer droit et de supprimer.

  2. Pour supprimer des règles selon un fichier, il existe une fonction à cet effet, située dans :
    Modules\Ruleset.Firewall\Public\Remove-FirewallRule.ps1
    cependant vous devez d'abord exporter le pare-feu vers un fichier avant de l'utiliser.

  3. Pour revenir à votre ancien état de pare-feu (celui du panneau de configuration), vous devrez supprimer toutes les règles de GPO et définir toutes les propriétés sur Not configured après avoir cliqué droit sur le nœud :
    Windows Defender Firewall with Advanced Security - Local Group Policy Object

La suppression de toutes les règles ou le retour à l'état précédent peut également être effectué avec Scripts\Reset-Firewall.ps1
Notez que vous devrez également réimporter vos règles GPO exportées si vous en aviez.

Table of Contents

Exporter/Importer des règles

Si vous souhaitez exporter des règles depuis GPO, deux méthodes sont disponibles :

  1. Exporter dans la stratégie de groupe locale en cliquant sur le menu Export Policy..., après avoir cliqué droit sur le nœud :
    Windows Defender Firewall with Advanced Security - Local Group Policy Object

  2. Pour exporter avec PowerShell, exécutez Scripts\Backup-Firewall.ps1
    Si vous souhaitez personnaliser votre exportation, consultez la fonction Export-RegistryRule située dans le module Ruleset.Firewall, qui vous permet de personnaliser votre exportation presque comme vous le souhaitez.

Si vous souhaitez importer des règles, l'importation via GPO est la même que pour l'exportation, et pour importer avec PowerShell, exécutez simplement Scripts\Restore-Firewall.ps1 qui récupérera vos fichiers d'exportation précédents.

Pour personnaliser votre exportation/importation, veuillez consulter Modules\Ruleset.Firewall\Public, où vous trouverez une description sur la façon d'utiliser les fonctions du module d'exportation/importation.

REMARQUE : La fonction Export-FirewallRule est vraiment lente, il est conseillé d'exécuter la fonction Export-RegistryRule à la place, qui est aussi rapide que possible.

Table of Contents

Déploiement à distance du pare-feu

Cette section et ses fonctionnalités sont actuellement expérimentales et pas complètement terminées, pour le moment le déploiement sur un seul ordinateur distant est pris en charge.

Under construction

Dans le déploiement à distance du pare-feu, au moins deux ordinateurs sont impliqués,
l'un est appelé ordinateur de gestion (client) et tous les autres sont appelés ordinateurs gérés (serveurs).

Les scripts sont exécutés par l'administrateur sur l'ordinateur de gestion, et le pare-feu est ensuite déployé ou configuré sur plusieurs ordinateurs serveurs simultanément.

Pour les détails d'implémentation, voir le module Modules\Ruleset.Remote

REMARQUE : La fonctionnalité de session à distance n'est pas exclusive au déploiement à distance du pare-feu, le déploiement sur localhost nécessite par conception une configuration WinRM et PS remoting fonctionnelle également.

Avant que le déploiement à distance puisse être effectué, l'ordinateur distant (serveur) doit être configuré pour accepter la connexion, voici un exemple sur la façon d'établir une connexion SSL :

Pour autoriser l'exécution, configurez le service WinRM et le registre distant sur l'ordinateur serveur en exécutant :

REMARQUE : Si vous utilisez PowerShell Core, omettez -Protocol HTTPS de Enable-WinRMServer ci-dessous, cela activera à la fois HTTP et HTTPS, ce qui est une solution de contournement temporaire pour que le module de compatibilité fonctionne dans une session distante.```powershell

On server computer

Set-ExecutionPolicy -Scope LocalMachine RemoteSigned Set-Location C:\Path\to\WindowsFirewallRuleset Import-Module .\Modules\Ruleset.Remote Enable-WinRMServer -Protocol HTTPS -KeepDefault -Confirm:$false Enable-RemoteRegistry -Confirm:$false

root@kitploit:~
Après avoir effectué ces étapes, dans le répertoire `\Exports` vous trouverez un fichier de certificat SSL (*.cer) qui doit être copié sur l'ordinateur de gestion, également dans le répertoire `\Exports`.\
Par défaut, un certificat SSL auto-signé est créé si l'ordinateur serveur n'en possède pas déjà un.

**REMARQUE :** La configuration manuelle de l'ordinateur serveur n'est effectuée qu'une seule fois lors de l'installation initiale, inutile de la répéter pour les déploiements ultérieurs.

L'étape suivante consiste à passer à l'ordinateur de gestion et à exécuter les scripts comme souhaité, par exemple :```powershell
# On management computer
cd C:\Path\to\WindowsFirewallRuleset\Scripts
Deploy-Firewall -Domain "RemoteComputerName"

Les deux ensembles de commandes ci-dessus doivent être exécutés dans la même édition de PowerShell, par ex. si le serveur a été configuré dans PowerShell Core, le client a également besoin de PowerShell Core pour le déploiement.
Si le serveur ou l'ordinateur de gestion est une station de travail (par ex. pas un serveur Windows ou membre d'un domaine), son profil réseau doit être défini sur privé.

Le déploiement à distance peut être personnalisé en détail aux emplacements suivants :

  • Pour personnaliser le service WinRM voir : Modules\Ruleset.Remote\Scripts\WinRMSettings.ps1
  • Pour personnaliser la configuration de session WSMan voir : Modules\Ruleset.Remote\Scripts\*Firewall.pssc
  • Pour personnaliser le certificat SSL auto-signé voir : Modules\Ruleset.Remote\Public\Register-SslCertificate.ps1
  • Pour personnaliser la configuration des sessions PS et CIM voir : Modules\Ruleset.Remote\Scripts\SessionSettings.ps1

Pour plus d'informations et des conseils de dépannage, voir aussi Aide sur le remoting

Table des matières

Support, mises à jour et documentation

Pour tout support, signalement de problème, suggestion ou personnalisation de ce dépôt et méthodes de mise à jour périodique de ce pare-feu, veuillez vous référer à SUPPORT.md

Table des matières

Le futur

Les fonctionnalités suivantes sont souhaitées et pourraient être disponibles à un moment donné dans le futur :

  1. Administration à distance du pare-feu

    • Déploiement de la configuration du pare-feu sur plusieurs ordinateurs distants sur des réseaux domestiques ou de domaine
  2. Ensembles complets de règles de pare-feu pour les éditions Windows Server et les systèmes dédiés de passerelle.

  3. Analyse du registre à la demande ou planifiée pour valider l'intégrité de la politique de filtrage du pare-feu active et des paramètres du pare-feu

    • Toute règle ou paramètre de pare-feu dans le registre qui ne fait pas partie de ce dépôt est signalé pour examen.
    • Car les logiciels malveillants, les pirates et même les logiciels de confiance peuvent tenter de contourner le pare-feu à tout moment
  4. Fonctionnalité complète pour les éditions suivantes non encore testées de Windows 10.0

    • Windows 10 & 11 Pro for Workstations
    • Windows 10 & 11 IoT Core Blast
    • Windows 10 & 11 IoT Enterprise
    • Windows 10 & 11 S
  5. Fonctionnalité pour les systèmes x86

Table des matières

Télécharger l’outil
  • Une bonne partie du code est dédiée à fournir une solution automatisée pour construire et définir un pare-feu spécialisé pour le système cible et les utilisateurs, minimisant ainsi le besoin de faire quoi que ce soit manuellement, ce qui vous fait gagner un temps d'administration précieux.

  • OSÉditionVersionArchitecture
    Windows 10Pro1809 - 22H2x64
    Windows 10Pro Education20H2x64
    Windows 10Enterprise1809 - 20H2x64
    Windows 10Education20H2 - 22H2x64
    Windows 11Pro Education21H2x64
    Windows 11Pro22H2 - 23H2x64
    Windows 11Enterprise22H2x64
    Windows Server 2019Essentials1809x64
    Windows Server 2019Standard1809x64
    Windows Server 2019Datacenter1809x64
    Windows Server 2022Standard21H2x64
    Windows Server 2022Datacenter21H2x64

    sigcheck64.exe
    PATH

    Conditions d'utilisation de VirusTotal
    Politique de confidentialité de VirusTotal
    Conditions de licence des logiciels Sysinternals
  • Vous voudrez peut-être avoir git pour vérifier les mises à jour, basculer facilement entre les branches ou contribuer au code.

  • VS Code est l'éditeur préféré et recommandé pour naviguer dans le code et/ou modifier les scripts selon vos besoins ou pour contribuer.

  • Si vous obtenez VSCode, vous aurez également besoin de l'extension PowerShell pour la navigation dans le code et les fonctionnalités du langage PowerShell.

  • Pour naviguer et éditer du code avec VSCode, PSScriptAnalyzer est fortement recommandé, sinon l'expérience d'édition peut se comporter étrangement en raison de divers paramètres du dépôt.

  • Il n'y a pas d'exigences matérielles, mais si vous prévoyez d'écrire et de déboguer du code, il est recommandé d'avoir au moins 8 Go de mémoire et un disque SSD pour travailler confortablement sur le projet. Sinon, pour simplement déployer des règles sur votre pare-feu personnel, moins que cela fonctionnera très bien.

  • Stateful FTP
    PPTP
    IPSec
    Scripts\Complete-Firewall.ps1
    Set-NetFirewallSetting

    Scripts\Complete-Firewall.ps1
    Scripts\Deploy-Firewall.ps1
  • Certains scripts nécessitent que vous (carte réseau) soyez connecté au réseau, par exemple pour déterminer l'adresse de diffusion IPv4. (Sinon, des erreurs peuvent être générées)

  • Tout sur le système doit être à jour, car sinon certaines règles peuvent être ignorées ou incorrectes. Cela inclut les mises à jour Windows, les applications du Microsoft Store et tous les autres logiciels.

  • Administrateurs

    DefaultGroup
    Config\ProjectSettings.ps1
    Administrators

    Voir SecurityAndPrivacy.md pour plus d'informations sur les raisons pour lesquelles l'utilisation d'un compte administrateur n'est pas recommandée pour des raisons de sécurité.
    Votre compte administratif utilisé pour déployer le pare-feu doit avoir un mot de passe défini.

  • Les mises à jour de logiciels ou de Windows peuvent renommer les exécutables ou leurs emplacements, et les comptes d'utilisateurs peuvent être renommés par l'administrateur. Par conséquent, il est important de recharger certaines règles de temps en temps selon les besoins pour mettre à jour le pare-feu en fonction des modifications système qui peuvent survenir à tout moment. Ce comportement est appelé Régression logicielle

  • Avant de déployer le pare-feu, il est recommandé de mettre à jour le système et les programmes utilisateur sur l'ordinateur cible, y compris les applications du Windows Store, surtout si le système vient d'être installé, car les mettre à jour plus tard peut nécessiter de recharger certaines règles.

  • root@kitploit:~
    Get-ExecutionPolicy
    

    Rappelez-vous le résultat de la commande ci-dessus. Notez que PowerShell Core par défaut est RemoteSigned tandis que Windows PowerShell par défaut est Restricted sur les éditions non serveur.

  • Définissez la politique d'exécution sur unrestricted pour pouvoir débloquer les fichiers du projet. (Notez que RemoteSigned fonctionnera seulement une fois que les scripts sont débloqués)

    root@kitploit:~
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
    

    Il vous sera peut-être demandé d'accepter le changement de politique d'exécution ; si c'est le cas, tapez Y et appuyez sur Entrée pour accepter.
    Pour plus d'informations, voir À propos des politiques d'exécution

  • À ce stade, vous devez d'abord "débloquer" tous les fichiers du dépôt en exécutant un script appelé
    Scripts\Unblock-Project.ps1, d'ailleurs, les fichiers du dépôt ont été bloqués par Windows pour empêcher les utilisateurs d'exécuter du code de script non fiable téléchargé depuis Internet :

    root@kitploit:~
    .\Scripts\Unblock-Project.ps1
    

    Si demandé, assurez-vous que votre réponse est R c'est-à-dire [R] Exécuter une fois autant de fois que nécessaire pour débloquer le projet. (environ jusqu'à 8 fois)

  • Une fois les fichiers du dépôt débloqués, changez la politique d'exécution en RemoteSigned :

    root@kitploit:~
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
    

    Il vous sera peut-être à nouveau demandé d'accepter le changement de politique d'exécution ; tapez Y et appuyez sur Entrée pour accepter.

  • Les règles pour des programmes tels que votre navigateur Web, jeux, etc. dépendent de variables d'installation.
    La plupart des chemins sont recherchés automatiquement et les variables sont mises à jour de manière transparente ; sinon, vous obtenez un avertissement et une description sur la façon de résoudre le problème.
    Si nécessaire, vous pouvez trouver ces variables d'installation dans des scripts individuels dans le répertoire Rules.
    Il est recommandé de fermer toutes les consoles de gestion MMC telles que gpedit.msc ou secpol.msc avant d'exécuter le script maître à l'étape suivante.

  • Revenez à la console PowerShell et exécutez l'une des deux commandes Deploy-Firewall ci-dessous :

    Pour déployer le pare-feu automatiquement avec le moins d'invites possible, exécutez :

    root@kitploit:~
    .\Scripts\Deploy-Firewall.ps1 -Force
    

    Sinon, pour être invité interactivement à choisir les règles à charger, exécutez :

    root@kitploit:~
    .\Scripts\Deploy-Firewall.ps1
    ```Appuyez sur Entrée et des questions vous seront posées, par exemple sur le type de règles que vous souhaitez.\
    
  • Comme condition préalable au déploiement du pare-feu, certains services système ont été démarrés et configurés en démarrage automatique. Dans le répertoire Logs, vous trouverez Services_<DATE>.log pour vous aider à restaurer ces services à leur état par défaut si vous le souhaitez.
    Par exemple, le service Windows Remote Management ne doit pas s'exécuter s'il n'est pas nécessaire (la valeur par défaut est "Manuel" en démarrage)