8fe4b94ab8f4bc34092400e707e6cdc454a8dee2
Firewall Config Parser & Excel Flow Matrix Generator
Description
Cet outil permet de parser les configurations de différents types de firewalls (Palo Alto, Stormshield, Forcepoint) et de convertir ces informations en un format JSON normalisé basé sur des modèles OpenConfig en YANG.
Il fournit également la possibilité de générer une matrice de flux au format Excel pour visualiser les communications et règles de trafic dans l’infrastructure. Il founit également la possibilité de générer une matrice de routage au format Excel pour visualiser les routes statiques dans l’infrastructure.
Fonctionnalités principales
-
Analyse multi-firewalls
- Développement de scripts Python dédiés à chaque type de firewall :
- Palo Alto
- Stormshield
- Forcepoint
- Extraction automatique des informations pertinentes à partir des fichiers de configuration respectifs.
- address
- address-group
- service
- service-group
- interface
- rules
- routes
- Développement de scripts Python dédiés à chaque type de firewall :
-
Modèle YANG personnalisé
- Conception d’un modèle YANG personnalisé pour stocker les informations spécifiques non couvertes par OpenConfig :
addressaddress-groupserviceservice-group
- Conception d’un modèle YANG personnalisé pour stocker les informations spécifiques non couvertes par OpenConfig :
-
Conversion en JSON normalisé
- Export des configurations dans un format JSON structuré selon les modèles OpenConfig :
openconfig-aclopenconfig-interfacesopenconfig-network-instance
- Intégration des objets personnalisés via le modèle YANG développé.
- Export des configurations dans un format JSON structuré selon les modèles OpenConfig :
-
Génération de matrices de flux
- Script Python qui utilise le JSON normalisé pour générer automatiquement une matrice Excel détaillant :
- les règles de sécurité
- les communications entre objets et groupes d’adresses/services.
- Script Python qui utilise le JSON normalisé pour générer automatiquement une matrice Excel détaillant :
-
Génération de matrices de routage
- Script Python qui utilise le JSON normalisé pour générer automatiquement une matrice Excel détaillant :
- les routes statiques
- Script Python qui utilise le JSON normalisé pour générer automatiquement une matrice Excel détaillant :
Utilisation
Pré-requis
python -m venv .venv
.\.venv\Scripts\activate
pip install -r .\src\requirements.txt
Commandes principales
python3 .\src\main.py stormshield .\src\input\backup\ -f -r
python3 .\src\main.py paloalto .\src\input\nomfichier -f -r
python3 .\src\main.py forcepoint .\src\input\nomfichier -f -r
Options
| Option | Description |
|---|---|
| -o [nom_fichier] | Spécifie le nom du fichier JSON de sortie (optionnel) |
| -f | Génère un rapport Excel de type matrice de flux (optionnel) |
| -r | Génère un rapport Excel de type matrice de routage (optionnel) |
Arborescence du projet
C:.
├───src
│ ├───data # Données static
│ ├───input # Fichiers/Dossiers de configuration
│ ├───modèles # Modèles YANG
│ ├───output # Fichiers JSON normalisés/Excel matrice de flux
│ └───scripts # Fichiers python
│ ├───objets
│ └───style_excel
Structure du JSON généré
.json
├── firewall-device # type de firewall (palo-alto|stormshield|forcepoint)
├── openconfig-interfaces
├── openconfig-network-instances
├── openconfig-acl
└── custom-firewall-objects
├── address
├── address-group
├── service
└── service-group
Fichiers YANG utilisés
| Fichier YANG | Description |
|---|---|
.\src\modèles\openconfig-acl.yang |
Décrit les ACL et règles de firewall standard OpenConfig |
.\src\modèles\openconfig-interfaces.yang |
Modèle pour les interfaces réseau standard OpenConfig |
.\src\modèles\openconfig-network-instance.yang |
Modèle pour les VRF / instances réseau OpenConfig |
.\src\modèles\custom-firewall-objects.yang |
Modèle personnalisé pour les objets spécifiques (address, address-group, service, service-group) |
Auteurs
Projet développé par :
- Julie Chevallier | Computacenter
Description
Languages
Python
100%