Actualiser README.md
This commit is contained in:
		
							
								
								
									
										68
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								README.md
									
									
									
									
									
								
							| @@ -10,5 +10,69 @@ Le script a été codé pour répondre à deux objectifs : | |||||||
|  |  | ||||||
| ## ⚡ Caractéristiques | ## ⚡ Caractéristiques | ||||||
|  |  | ||||||
| * Script basé sur **Python** (développé et testé sur GNU/Linux) | * Script basé sur **Python** (développé et testé sur GNU/Linux). | ||||||
| * Utilisation de l'API de pfSense [pfSense REST API Package](https://pfrest.org/) | * Utilisation de l'API de pfSense fournie par [pfSense REST API Package](https://pfrest.org/). | ||||||
|  | * Génération des flux graphiques avec la bibliothèque python **Graphviz**. | ||||||
|  | * Génération d'un fichier PNG par interface. | ||||||
|  | * Distinction entre un VLAN/réseau de destination et un hôte de destination. | ||||||
|  | * Mapping des interfaces, des ports et des destnations. | ||||||
|  |  | ||||||
|  | ## 💾 Installation | ||||||
|  |  | ||||||
|  | 1. Prérequis | ||||||
|  |  | ||||||
|  | Installation des bibliothèques Python : | ||||||
|  |  | ||||||
|  | ```Bash | ||||||
|  | pip install requests graphviz | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Installation de **pfSense REST API Package** : [https://github.com/jaredhendrickson13/pfsense-api?tab=readme-ov-file#quickstart](https://github.com/jaredhendrickson13/pfsense-api?tab=readme-ov-file#quickstart) | ||||||
|  |  | ||||||
|  | Une fois le paquet **pfSense REST API** installé, configurez la ou les interface(s) d'écoute sur **pfSense** puis générez une clé qui nous servira pour l'authentification à l'API.  | ||||||
|  |  | ||||||
|  | 2. Configuration du script | ||||||
|  |  | ||||||
|  | Récupérez les fichiers **pyfrc2g.py** et **config.py**. | ||||||
|  |  | ||||||
|  | Configurez l'**URL** de votre pfSense et vos **credentials** dans le fichier **pyfrc2g.py**. | ||||||
|  |  | ||||||
|  | Exemple : | ||||||
|  | ```python | ||||||
|  | # --- CONFIG --- | ||||||
|  | PFS_URL = "https://pfs01.domaine.lan/api/v2/firewall/rules" | ||||||
|  | PFS_TOKEN = "VOTRE_CLE_GENEREE_AVEC_PFSENSE_REST_API" | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Configurez ensuite vos interfaces, les réseaux, les adresses des interfaces et les ports dans le fichier **config.py**. C'est certainement récupérable depuis pfSense mais je suis allé au plus facile à mettre en place. | ||||||
|  |  | ||||||
|  | Exemple : | ||||||
|  | ```python | ||||||
|  | # --- CONFIG --- | ||||||
|  | PFS_URL = "https://pfs01.domaine.lan/api/v2/firewall/rules" | ||||||
|  | PFS_TOKEN = "VOTRE_CLE_GENEREE_AVEC_PFSENSE_REST_API" | ||||||
|  | ``` | ||||||
|  | INTERFACE_MAP = { | ||||||
|  |     "wan": "WAN", | ||||||
|  |     "lan": "ADMINISTRATION", | ||||||
|  |     "opt1": "LAN", | ||||||
|  |     "opt2": "DMZ" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | NET_MAP = { | ||||||
|  |     "wan": "WAN SUBNET", | ||||||
|  |     "lan": "ADMINISTRATION SUBNET", | ||||||
|  |     "opt1": "LAN SUBNET", | ||||||
|  |     "opt2": "DMZ SUBNET" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | ADDRESS_MAP = { | ||||||
|  |     "wan:ip": "WAN ADDRESS", | ||||||
|  |     "lan:ip": "ADMINISTRATION ADDRESS", | ||||||
|  |     "opt1:ip": "LAN ADDRESS", | ||||||
|  |     "opt2:ip": "DMZ ADDRESS" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | PORT_MAP = { | ||||||
|  |     "WEB_ACCESS": "80/443" | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user