Description du noyau
Listing du répertoire era/noyau :
domparsers.py
: lecture depuis un fichier xmldpatterns.py
: implementation des motifs de conception singleton et observateurerreurs.py
: classes pour la levée des exceptionsinitialize.py
: initialisation de l'appliquationfwobjects.py
: les objets du modèlemodels.py
: le modèle
Chargement des objets de la matrice au format xml interne
Dans le fichier era/noyau/initialize.py
, au
lancement de l'application, initialize_app()
permet de charger les
objets de la matrice :
zones, flux_list, extremites, services, groups = parse_firewall_file(fw_file, inherited) init_library_store(extremites, services, groups) matrix_model = create_matrix_model(zones, flux_list)Les flux ainsi créé à l'instanciation contiennent les directives.
Exportation au format xml interne
C'est la méthode _do_save()
de era/ihm/matrix.py
qui permet de sauvegarder au
format xml.
def _do_save(self, view): """Méthode de sauvegarde 'réelle' """ f = open(self.filename, "w") ... view.model.save_zones(f,4) library_store.save(f,4) view.model.save_flux(f,4) ... f.close()
Les services de la librairie standard
Les services ou les groupes de services qui ont été ajoutés à la librairie standard
<services> <service name="8500" protocol="tcp" ports="8500" id="11" libelle="service 8500" /> <service name="udp" protocol="udp" ports="0-65535" id="34" libelle="tous les ports en udp" /> <service name="http" protocol="tcp" ports="80" id="3" libelle="serveur web" /> <service name="pop3s" protocol="tcp" ports="995" id="25" libelle="service pop3s" /> <service name="imap4-ssl" protocol="tcp" ports="585" id="23" libelle="service imap4-ssl" /> <service name="smtp" protocol="tcp" ports="25" id="19" libelle="service mail" /> <service name="ead" protocol="tcp" ports="8501" id="10" libelle="Eole Admin" /> <service name="pop" protocol="tcp" ports="110" id="20" libelle="service pop" /> <service name="dns-udp" protocol="udp" ports="53" id="7" libelle="serveur de noms" /> <service name="ftps" protocol="tcp" ports="989-990" id="29" libelle="service ftps" /> <service name="mdqs" protocol="tcp" ports="666" id="15" libelle="service mdqs" /> </services>