Project

General

Profile

Scénario #23149

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

Added by Benoit Guinet over 5 years ago. Updated almost 4 years ago.

Status:
Terminé (Sprint)
Priority:
Normal
Assigned To:
Category:
-
Start date:
10/14/2019
Due date:
10/31/2019
% Done:

100%

Story points:
4.0
Remaining (hours):
0.00 hour
Velocity based estimate:
Release:
Release relationship:
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

Subtasks

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


Related issues

Related to 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é 10/16/2019
Duplicated by Distribution EOLE - Demande #23309: TLS doit fonctionner pour remonter les logs rsyslog Fermé

Associated revisions

Revision 52d3ef92 (diff)
Added by Joël Cuissinat almost 4 years ago

diagnose logs : cosmetic + optimization

Ref: #23149

History

#1 Updated by Gilles Grandgérard over 5 years ago

  • Parent task set to #22923

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

  • Status changed from Nouveau to En cours
  • Assigned To set to Joël Cuissinat
  • Estimated time set to 3.00 h
  • Remaining (hours) set to 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 Updated by Benoit Guinet over 5 years ago

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

  • Parent task deleted (#22923)

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

  • Tracker changed from Tâche to Scénario
  • Subject changed from BUG dans le diagnostic de la journalisation à distance to Envoi de logs : revoir la façon dont sont gérés les certificats utilisés par rsyslog
  • Status changed from En cours to Nouveau
  • Assigned To deleted (Joël Cuissinat)
  • Target version deleted (sprint 2018 08-10 Equipe MENSR)
  • Start date deleted (02/27/2018)
  • Estimated time deleted (3.00 h)

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

  • Related to Demande #23309: TLS doit fonctionner pour remonter les logs rsyslog added

#7 Updated by Luc Bourdot over 5 years ago

  • Due date set to 04/20/2018
  • Target version set to sprint 2018 14-16 Equipe MENSR
  • Start date set to 04/03/2018

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

  • Release set to EOLE 2.6.2.1

#9 Updated by Scrum Master over 5 years ago

  • Due date deleted (04/20/2018)
  • Target version deleted (sprint 2018 14-16 Equipe MENSR)
  • Start date deleted (04/03/2018)

#10 Updated by Daniel Dehennin over 5 years ago

  • Release changed from EOLE 2.6.2.1 to EOLE 2.6.2.2

#11 Updated by Gilles Grandgérard about 4 years ago

  • Due date set to 09/20/2019
  • Target version set to sprint 2019 36-38 Equipe MENSR
  • Start date set to 08/20/2019

#12 Updated by Joël Cuissinat about 4 years ago

  • Due date deleted (09/20/2019)
  • Target version deleted (sprint 2019 36-38 Equipe MENSR)
  • Start date deleted (08/20/2019)
  • Release changed from EOLE 2.6.2.2 to Carnet de produit (Cadoles)

#13 Updated by Joël Cuissinat about 4 years ago

  • Story points set to 3.0

#14 Updated by Joël Cuissinat about 4 years ago

  • Description updated (diff)
  • Story points changed from 3.0 to 4.0

#15 Updated by Joël Cuissinat almost 4 years ago

  • Due date set to 10/31/2019
  • Target version set to Prestation Cadoles 42-44
  • Start date set to 10/14/2019

#16 Updated by Joël Cuissinat almost 4 years ago

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

  • Related to 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 added

#18 Updated by Matthieu Lamalle almost 4 years ago

  • Assigned To set to Matthieu Lamalle

#19 Updated by Joël Cuissinat almost 4 years ago

  • Status changed from Nouveau to Terminé (Sprint)

#20 Updated by Joël Cuissinat almost 4 years ago

  • Description updated (diff)

#21 Updated by Joël Cuissinat almost 4 years ago

  • Related to deleted (Demande #23309: TLS doit fonctionner pour remonter les logs rsyslog)

#22 Updated by Joël Cuissinat almost 4 years ago

  • Duplicated by Demande #23309: TLS doit fonctionner pour remonter les logs rsyslog added

#23 Updated by Joël Cuissinat almost 4 years ago

  • Release changed from Carnet de produit (Cadoles) to EOLE 2.7.1.2

Also available in: Atom PDF