L'utilitaire ligne de commande
L'utilitaire compiler
génère la sortie
iptables. Il prévoit la possibilité d'avoir une sortie fichier ou bien
stdout.
usage
compiler [options] era_model_file.xml
Liste des options :
"-i", "--init-file"
spécifie le fichier de configurationNote: Le fichier de configuration par défaut est./data/config.ini
"-o", "--output"
spécifie le fichier de sortie
Le fichier de configuration externe
Le fichier provenant de la spécification sur les directives optionnelles (directives optionnelles actives, optionnelles déactivées)
-f ou --external_file [fichier.csv]Cela permet de prendre en compte des spécification externes au fichier xml au moment de la génération du script iptables.
[tag,attrs,occurences] # attrs in {1,3}
Organisation du backend
processors.py
permet de faire le lien entre les directives et les règles iptables.iptrules.py
permet de construire syntaxiquement différents types de règles.compiler.py
permet la génération du script iptables complet. Le comilateur utilise le processeur et le générateur de règles iptables (les deux fichiers précédents).
Du modèle de règles iptables à la compilation proprement dite :
Construction d'une règle iptable
Tout est dans
iptrules.py
La modélisation d'une règle se décompose en des options et d'une cible :
Etant donné le grand nombre de paramètres, la hiérarchie de classes est assez riche.
Les différents types de paramètres sont réunis dans une usine : ParameterFactory
:
Les processeurs
Le fichier processors.py
est composé
de plusieurs processeurs. get_compiler
est une usine qui permet de
récupérer le bon processeur.