Projet

Général

Profil

Scénario #23149

Envoi de logs : revoir la façon dont sont gérés les certificats utilisés par rsyslog

Ajouté par Benoit Guinet il y a environ 6 ans. Mis à jour il y a plus de 4 ans.

Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
14/10/2019
Echéance:
31/10/2019
% réalisé:

100%

Points de scénarios:
4.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto

Description

Bonjour,

L'activation de l'envoi des logs sur un serveur distant en TLS fait planter le diagnose (constaté dès eole 2.5.2).
L'envoi des logs fonctionne mais le diagnose échoue à cause de l'appel à une variable qui n'existe pas dans /usr/share/eole/diagnose/06-logs.

Dans /usr/share/eole/diagnose/06-logs

10 rsyslog_crt_file=$(CreoleGet rsyslog_crt_file 2>/dev/null)
31 openssl verify -purpose $purpose -CAfile $rsyslog_ca_file $rsyslog_crt_file #> /dev/null 2>&1

rsyslog_crt_file n'existe pas

# grep -R rsyslog_crt_file /usr/share/eole/creole/* | wc -l
0

Solutions à mettre en œuvre

Critères d'acceptation

  • le test squash est passant
  • la documentation est à jour

Sous-tâches

Tâche #29101: Générer/fournir un certificatFerméMatthieu Lamalle

Tâche #29167: Faire un Test SquashFerméMatthieu Lamalle

Tâche #29168: Compléter la DocFerméMatthieu Lamalle

Tâche #29174: Erreur postemplate lors l'exécution du test squashFerméMatthieu Lamalle

Tâche #29175: Remettre des conditions sur l'affichage des variables liées aux certificats rsyslogFerméMatthieu Lamalle

Tâche #29189: Erreur postemplate en 2.7.1 lors de l'execution du test squashFerméMatthieu Lamalle

Tâche #29204: Erreur lors de l'execution du test squash FerméMatthieu Lamalle

Tâche #29223: Les certificats sont générés après le re-démarrage de rsyslogFerméJoël Cuissinat


Demandes liées

Lié à Distribution EOLE - Tâche #29155: Validation du scénario : Envoi de logs : revoir la façon dont sont gérés les certificats utilisés par rsyslog Fermé 16/10/2019
Dupliqué par Distribution EOLE - Demande #23309: TLS doit fonctionner pour remonter les logs rsyslog Fermé

Révisions associées

Révision 52d3ef92 (diff)
Ajouté par Joël Cuissinat il y a plus de 4 ans

diagnose logs : cosmetic + optimization

Ref: #23149

Historique

#1 Mis à jour par Gilles Grandgérard il y a environ 6 ans

  • Tâche parente mis à #22923

#2 Mis à jour par Joël Cuissinat il y a environ 6 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Joël Cuissinat
  • Temps estimé mis à 3.00 h
  • Restant à faire (heures) mis à 3.0

On dirait bien que le vrai nom de la variable est : rsyslog_cert_file... Et que le bug est là depuis EOLE 2.4.0 :o

#3 Mis à jour par Benoit Guinet il y a environ 6 ans

Effectivement la variable rsyslog_cert_file est définie dans le dictionnaire, cependant elle n'est jamais utilisée dans les templates. C'est la même chose pour rsyslog_privkey_file
Il y a donc probablement des choses à revoir plus en profondeur.

Pour préciser notre situation :
Dans le cadre d'une expérimentation, nous configurons des serveurs eole en tant que client rsyslog pour remonter des logs (en TLS) sur un serveur racdata (cf https://pole.in.ac-nancy-metz.fr/wiki/RacData )

La configuration via gen_config des clients fonctionne dans le cadre suivant :
- nous copions le certificat de l'AC du racdata dans /etc/rsyslog.d/ssl/certs/zephirlog_ca.pem , on est obligé car la valeur de %%rsyslog_ca_file n'est pas modifiable (c'est dommage)
- nous n'activons pas l'authentification TLS des clients sur notre racdata
- En outre, pour aller plus vite dans nos tests nous avons provisoirement désactivé l'authentification TLS du serveur sur les client eole syslog en patchant rsyslog_aggregation.conf avec $ActionSendStreamDriverAuthMode x509/certvalid.

Nous arrivons ainsi à faire remonter nos logs.
Cependant le diagnose n'abouti plus sur les clients , c'était le sens de ma demande.

#4 Mis à jour par Joël Cuissinat il y a environ 6 ans

  • Tâche parente #22923 supprimé

#5 Mis à jour par Joël Cuissinat il y a environ 6 ans

  • Tracker changé de Tâche à Scénario
  • Sujet changé de BUG dans le diagnostic de la journalisation à distance à Envoi de logs : revoir la façon dont sont gérés les certificats utilisés par rsyslog
  • Statut changé de En cours à Nouveau
  • Assigné à Joël Cuissinat supprimé
  • Version cible sprint 2018 08-10 Equipe MENSR supprimé
  • Début 27/02/2018 supprimé
  • Temps estimé 3.00 h supprimé

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

  • Lié à Demande #23309: TLS doit fonctionner pour remonter les logs rsyslog ajouté

#7 Mis à jour par Luc Bourdot il y a environ 6 ans

  • Echéance mis à 20/04/2018
  • Version cible mis à sprint 2018 14-16 Equipe MENSR
  • Début mis à 03/04/2018

#8 Mis à jour par Joël Cuissinat il y a environ 6 ans

  • Release mis à EOLE 2.6.2.1

#9 Mis à jour par Scrum Master il y a environ 6 ans

  • Echéance 20/04/2018 supprimé
  • Version cible sprint 2018 14-16 Equipe MENSR supprimé
  • Début 03/04/2018 supprimé

#10 Mis à jour par Daniel Dehennin il y a presque 6 ans

  • Release changé de EOLE 2.6.2.1 à EOLE 2.6.2.2

#11 Mis à jour par Gilles Grandgérard il y a plus de 4 ans

  • Echéance mis à 20/09/2019
  • Version cible mis à sprint 2019 36-38 Equipe MENSR
  • Début mis à 20/08/2019

#12 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Echéance 20/09/2019 supprimé
  • Version cible sprint 2019 36-38 Equipe MENSR supprimé
  • Début 20/08/2019 supprimé
  • Release changé de EOLE 2.6.2.2 à Carnet de produit (Cadoles)

#13 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Points de scénarios mis à 3.0

#14 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Description mis à jour (diff)
  • Points de scénarios changé de 3.0 à 4.0

#15 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Echéance mis à 31/10/2019
  • Version cible mis à Prestation Cadoles 42-44
  • Début mis à 14/10/2019

#16 Mis à jour par Joël Cuissinat il y a plus de 4 ans

Sur le serveur central, les 3 variables suivantes sont figées dans le dico :

rsyslog_ca_file="/etc/rsyslog.d/ssl/certs/zephirlog_ca.pem" 
rsyslog_cert_file="/etc/rsyslog.d/ssl/certs/rsyslog_cert.pem" 
rsyslog_privkey_file="/etc/rsyslog.d/ssl/private/rsyslog_privkey.pem" 

À la base, on avait prévu de gérer une PKI dédiée mais on va laisser tomber ça : les templates suivants sont à SUPPRIMER :
  • /etc/rsyslog.d/ssl/rsyslog-request.tmpl
  • /etc/rsyslog.d/ssl/rsyslog-ca.tmpl

En mode autosigné ou manuel (variable cert_type), il faut utiliser les certificats configurés dans l'onglet général :

server_cert="/etc/ssl/certs/eole.crt" 
server_key="/etc/ssl/private/eole.key" 
server_pem="/etc/ssl/certs/eole.pem" 

Comme le service rsyslog tourne avec l'utilisateur syslog, il faut copier les fichiers aux bons endroits avec les bons droits :
Pour cela on pourra utiliser la fonction InstallSSLFiles en posttemplate en s'inspirant du code existant :
  • EAD : /usr/share/eole/posttemplate/01-ead
  • Exim : /usr/share/eole/posttemplate/03-mail

En mode auto-signé, la CA devra bien être copiée manuellement sur les clients (comme pour enregistrement_zephir).

La configuration cert_type=letsencrypt n'est pas dans le périmètre du scénario mais les modifications ne doivent pas introduire de régression sur ce mode.

#17 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Lié à Tâche #29155: Validation du scénario : Envoi de logs : revoir la façon dont sont gérés les certificats utilisés par rsyslog ajouté

#18 Mis à jour par Matthieu Lamalle il y a plus de 4 ans

  • Assigné à mis à Matthieu Lamalle

#19 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Statut changé de Nouveau à Terminé (Sprint)

#20 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Description mis à jour (diff)

#21 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Lié à Demande #23309: TLS doit fonctionner pour remonter les logs rsyslog supprimé

#22 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Dupliqué par Demande #23309: TLS doit fonctionner pour remonter les logs rsyslog ajouté

#23 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Release changé de Carnet de produit (Cadoles) à EOLE 2.7.1.2

Formats disponibles : Atom PDF