3.7 KiB
3.7 KiB
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.
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 :
Utilisation
Pré-requis
python -m venv .venv
.\.venv\Scripts\activate
pip install -r .\src\requierements.txt
- Mettre le/les fichier(s) de configurations dans le dossier
/src/input/ - Modifier le fichier
site.jsonde données dans/src/data/
Commandes principales
python3 .\src\main.py stormshield .\src\input\backup\ -m
python3 .\src\main.py paloalto .\src\input\nomfichier -m
python3 .\src\main.py forcepoint .\src\input\nomfichier -m
Options
| Option | Description |
|---|---|
| -o [nom_fichier] | Spécifie le nom du fichier JSON de sortie (optionnel) |
| -m | Génère un rapport Excel de type matrice de flux (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