Le format XML interne
Les composantes du tableau des flux sont :
- les flux ;
- les zones ;
- les directives montantes et descendantes.
Le format XML interne suit une DTD qui correspond à la modélisation par flux. Les noms des balises correspondent aux noms des objets ERA. Il y a la liste des zones, puis les extrémités et les services, les groupes de services, et enfin les flux contenant les directives.
La représentation interne en objets est la suivante :
- Directive(FwObject) : directive ;
- Service(FwObject), ServiceGroupe(FwObject) : service et liste de services ;
- Zone(FwObject), Extremite(FwObject) ;
- Flux(FwObject).
Les directives optionnelles
Dans le fichier era.noyau.constants.py
il y a deux constantes intéressantes ici
-
DIRECTIVE_OPTIONAL = 1
-
DIRECTIVE_ACTIVE = 2
Ces filtres permettent de savoir si une directive est optionnelle ou non. Pour cela, il faut regarder l'attribut attrs
de la directive.
Si directive.attrs = 0
, alors la directive n'est ni optionnelle, ni active.
-
attrs=0
: pas optionnelle -
attrs=1
: optionnelle mais pas active -
attrs=3
: optionnelle et active - la valeur 2 correspond à non optionnelle mais active, ce qui n'a pas de sens. Les valeurs autorisées sont donc
[0,1,3]
-
ACTION_DENY
= 1 : barrage -
ACTION_ALLOW
= 2 : pont -
ACTION_FORWARD
= 4 : redirect -
ACTION_DNAT
= 8 : dnat -
ACTION_MASK
= 16 : masque
Exemple
Exemple d'une directive de type masque :
action="16" attrs="0" nat_extr="exterieur_bastion" nat_port="0"
Exemple d'une directive de type dnat :
action="8" attrs="0" nat_extr="serveur_web" nat_port="80"