Projet

Général

Profil

Tâche #15750

Distribution EOLE - Scénario #15554: Traitement express (13-15)

AMON 2.4.2 & ERA - faire fonctionner un modèle de pare-feu utilisant un protocole dans une variable

Ajouté par Edmundo QUINTELA DO CARMO il y a presque 10 ans. Mis à jour il y a presque 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
31/03/2016
Echéance:
% réalisé:

100%

Temps estimé:
2.00 h
Temps passé:
Restant à faire (heures):
0.0

Description

Bonjour à tous,

Sur un AMON 2.4.2, je n'arrive pas à faire fonctionner un modèle de pare-feu utilisant un protocole dans une variable.

Lors de l'instanciation, j'ai l'impression que le compilateur de règles de pare-feu ne transforme pas la variable en valeur et du coup les règles ne sont pas appliquées :

# ERA_DEBUG=1 /etc/init.d/bastion restart
 * Réinitialisation du pare-feu
 * Activation du mode forteresse sur eth0
 * Activation du mode forteresse sur eth1
 * Activation du mode forteresse sur eth2
 * Activation du mode forteresse sur eth3                      [ OK ]
 * Regénération des règles de pare-feu (modèle "4zones-scribe-av-nginx-pronote-edt-2-4-2")
#--------------------------------------------------
Attention, erreur de coherence des directives Era
protocol should be in (udp, tcp, esp, tout or icmp), found %%proto_relais_edt
#--------------------------------------------------
Traceback (most recent call last):
  File "./backend/compiler", line 149, in run
    compiler.compile(matrix_model)
  File "/usr/share/era/backend/compiler.py", line 134, in compile
    self._process_flux(flux)
  File "/usr/share/era/backend/compiler.py", line 495, in _process_flux
    default_policy=up_directives_store.default_policy)
  File "/usr/share/era/backend/compiler.py", line 521, in _process_directives
    rules = proc.process()
  File "/usr/share/era/backend/processors.py", line 474, in process
    service_param = ParameterFactory.service2(service, self.directive.serv_inv)
  File "/usr/share/era/backend/iptrule.py", line 914, in service2
    ', found %s' % protocol)
ValueError: protocol should be in (udp, tcp, esp, tout or icmp), found %%proto_relais_edt non appliquées !               [fail]
 * Réinitialisation du pare-feu
 * Activation du mode forteresse sur eth0
 * Activation du mode forteresse sur eth1
 * Activation du mode forteresse sur eth2
 * Activation du mode forteresse sur eth3
Le serveur est protégé. Pour relancer le pare-feu, exécuter "CreoleService bastion reload"             [ OK ]

Pourtant, le service est bien déclaré dans ERA 2.42 :

<service name="relais_edt" protocol="%%proto_relais_edt" ports="%%port_relais_edt" id="80" libelle="Port d'écoute du Relais EDT" tcpwrapper=""/>

Et le protocole bien spécifié dans le "config.eol" :

"proto_relais_edt": {"owner": "gen_config", "val": "tcp"}

Sachant que si le protocole est fixé dans ERA, les règles du pare-feu sont bien appliquées sans erreur :

<service name="relais_edt" protocol="tcp" ports="%%port_relais_edt" id="80" libelle="Port d'écoute du Relais EDT" tcpwrapper=""/>

Quelqu'un pourrait m'éclairer là-dessus ?

Merci d'avance !

Révisions associées

Révision 7062f6c5 (diff)
Ajouté par Joël Cuissinat il y a presque 10 ans

Désactivation du "protocole variable" et du choix "vide"

Ref: #15750 @1h
Ref: #15077 @20m

Historique

#1 Mis à jour par Gérald Schwartzmann il y a presque 10 ans

  • Sujet changé de AMON 2.4.2 & ERA - Variable protocole réseau à AMON 2.4.2 & ERA - faire fonctionner un modèle de pare-feu utilisant un protocole dans une variable

#2 Mis à jour par Joël Cuissinat il y a presque 10 ans

  • Assigné à mis à Joël Cuissinat

#3 Mis à jour par Joël Cuissinat il y a presque 10 ans

Je confirme le problème : le type de protocole est analysé et utilisé dans la fonction service2 du fichier /usr/share/era/backend/iptrule.py avant la templatisation du modèle.
Comme ce code conditionne la façon dont la règle sera générée, on ne peut pas uniquement se contenter de supprimer les validations comme cela a pu être fait par ailleurs.

De ce fait, je pense que ce problème ne sera pas corrigé et qu'il faudrait même désactiver la possibilité de créer un service avec protocole variable dans l'interface puisque ce n'est pas fonctionnel.

#4 Mis à jour par Joël Cuissinat il y a presque 10 ans

  • Tracker changé de Demande à Tâche
  • Temps estimé mis à 2.00 h
  • Tâche parente mis à #15554
  • Restant à faire (heures) mis à 2.0

=> mettre un mot dans la doc + voir si on peut griser la case

#5 Mis à jour par Joël Cuissinat il y a presque 10 ans

  • Statut changé de Nouveau à En cours

#6 Mis à jour par Joël Cuissinat il y a presque 10 ans

  • % réalisé changé de 0 à 50
  • Restant à faire (heures) changé de 2.0 à 0.5

#7 Mis à jour par Joël Cuissinat il y a presque 10 ans

  • Statut changé de En cours à Résolu
  • % réalisé changé de 50 à 100
  • Restant à faire (heures) changé de 0.5 à 0.25

#8 Mis à jour par Klaas TJEBBES il y a presque 10 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) changé de 0.25 à 0.0

Problème documenté (ne fonctionne pas).
Désactivé dans ERA sur 2.6.

Formats disponibles : Atom PDF