Files

116 lines
4.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
## 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
## Utilisation
### Pré-requis
```bash
python -m venv .venv
.\.venv\Scripts\activate
pip install -r .\src\requirements.txt
```
#### 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
```
#### 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
```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