# Audit de Filtrage Web par PowerShell Ce projet contient un script PowerShell conçu pour auditer l'efficacité des politiques de filtrage web d'un pare-feu ou d'un proxy. Il teste une liste d'URLs prédéfinies, vérifie si le résultat (bloqué ou autorisé) correspond à l'attente, et génère un rapport de conformité. ## Fonctionnalités - **Audit basé sur des catégories** : Testez des listes d'URLs organisées par catégories (Réseaux sociaux, Adulte, Actualités, etc.). - **Configuration flexible via JSON** : Toutes les catégories et URLs sont définies dans un fichier `urls.json` facile à éditer. - **Validation à double sens** : Vérifie non seulement que les sites interdits sont bien bloqués, mais aussi que les sites autorisés sont bien accessibles. - **Calcul de score** : Attribue un score de conformité global et par catégorie. - **Support des Proxys** : Peut fonctionner à travers un proxy HTTP, avec ou sans authentification. - **Simulation d'un navigateur** : Utilise un `User-Agent` de navigateur standard pour éviter les blocages anti-bots qui pourraient fausser les résultats. - **(À venir)** Génération d'un rapport HTML interactif. ## Prérequis - **PowerShell 5.1** ou une version supérieure. - Accès à Internet depuis la machine exécutant le script. - Les permissions nécessaires pour exécuter des scripts PowerShell. Si vous rencontrez une erreur, vous pouvez l'autoriser pour la session en cours avec la commande : ```powershell Set-ExecutionPolicy RemoteSigned -Scope Process ``` ## Installation 1. Créez un dossier pour votre projet (par exemple, `C:\Scripts\AuditFirewall`). 2. Copiez le script principal (par exemple, `Audit-WebFilter.ps1`) dans ce dossier. 3. Créez un fichier nommé `urls.json` dans le même dossier. ## Configuration Le cœur de l'audit réside dans le fichier `urls.json`. Il définit les catégories et les URLs à tester, ainsi que le résultat attendu pour chacune. ### Structure du fichier `urls.json` ```json {"categorie": [ { "id": 1, "nom": "Alcool", "description": "Pages web qui promeuvent, préconisent ou vendent de l'alcool, y compris de la bière, du vin et des alcools forts.", "urls" : [ { "url": "https://www.wine-searcher.com", "reputation": "Information sur l'alcool", "expected_action": "allow" }, { "url": "https://www.alcool-info-service.fr", "reputation": "Prévention alcool", "expected_action": "allow" }, { "url": "https://www.thebar.com", "reputation": "Bars", "expected_action": "block" }, { "url": "https://www.cocktaildb.com", "reputation": "Cocktails", "expected_action": "block" }, { "url": "https://www.diffordsguide.com", "reputation": "Cocktails", "expected_action": "allow" } ] }, { "id": 2, "nom": "Anonymiseur", "description": "Pages web qui font la promotion de serveurs mandataires et d'anonymiseurs pour la navigation sur des sites web dans le but de contourner les filtres.", "urls" : [ { "url": "https://www.whonix.org", "reputation": "Navigateurs anonymes", "expected_action": "block" }, { "url": "https://brave.com", "reputation": "Navigateurs anonymes", "expected_action": "allow" }, { "url": "https://duckduckgo.com", "reputation": "Services de confidentialité", "expected_action": "allow" }, { "url": "https://startpage.com", "reputation": "Services de confidentialité", "expected_action": "allow" }, { "url": "https://www.ghostery.com", "reputation": "Services de confidentialité", "expected_action": "allow" } ] } ```