62 lines
3.5 KiB
Markdown
62 lines
3.5 KiB
Markdown
# 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" }
|
|
]
|
|
}
|
|
``` |