Project

General

Profile

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

Added by Edmundo QUINTELA DO CARMO over 5 years ago. Updated over 5 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
03/31/2016
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:
Remaining (hours):
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 !

Associated revisions

Revision 7062f6c5 (diff)
Added by Joël Cuissinat over 5 years ago

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

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

History

#1 Updated by Gérald Schwartzmann over 5 years ago

  • Subject changed from AMON 2.4.2 & ERA - Variable protocole réseau to AMON 2.4.2 & ERA - faire fonctionner un modèle de pare-feu utilisant un protocole dans une variable

#2 Updated by Joël Cuissinat over 5 years ago

  • Assigned To set to Joël Cuissinat

#3 Updated by Joël Cuissinat over 5 years ago

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 Updated by Joël Cuissinat over 5 years ago

  • Tracker changed from Demande to Tâche
  • Estimated time set to 2.00 h
  • Parent task set to #15554
  • Remaining (hours) set to 2.0

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

#5 Updated by Joël Cuissinat over 5 years ago

  • Status changed from Nouveau to En cours

#6 Updated by Joël Cuissinat over 5 years ago

  • % Done changed from 0 to 50
  • Remaining (hours) changed from 2.0 to 0.5

#7 Updated by Joël Cuissinat over 5 years ago

  • Status changed from En cours to Résolu
  • % Done changed from 50 to 100
  • Remaining (hours) changed from 0.5 to 0.25

#8 Updated by Klaas TJEBBES over 5 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 0.25 to 0.0

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

Also available in: Atom PDF