Files

116 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

2025-12-22 16:00:40 +01:00
# 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 linfrastructure.
Il founit également la possibilité de générer une **matrice de routage au format Excel** pour visualiser les routes statiques dans linfrastructure.
2025-12-22 16:00:40 +01:00
## Fonctionnalités principales
1. **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
2. **Modèle YANG personnalisé**
- Conception dun modèle YANG personnalisé pour stocker les informations spécifiques non couvertes par OpenConfig :
- `address`
- `address-group`
- `service`
- `service-group`
3. **Conversion en JSON normalisé**
- Export des configurations dans un format JSON structuré selon les modèles OpenConfig :
- `openconfig-acl`
- `openconfig-interfaces`
- `openconfig-network-instance`
- Intégration des objets personnalisés via le modèle YANG développé.
5. **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 dadresses/services.
6. **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
2025-12-22 16:00:40 +01:00
## Utilisation
### Pré-requis
```bash
python -m venv .venv
.\.venv\Scripts\activate
pip install -r .\src\requirements.txt
2025-12-22 16:00:40 +01:00
```
#### Commandes principales
```bash
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
2025-12-22 16:00:40 +01:00
```
#### 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)
2025-12-22 16:00:40 +01:00
---
## Arborescence du projet
```bash
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é
```bash
.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