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
|
||||
|
||||
* Script basé sur **Python** (développé et testé sur GNU/Linux)
|
||||
* Utilisation de l'API de pfSense [pfSense REST API Package](https://pfrest.org/)
|
||||
* Script basé sur **Python** (développé et testé sur GNU/Linux).
|
||||
* 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