Scénario #23149
Envoi de logs : revoir la façon dont sont gérés les certificats utilisés par rsyslog
100%
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¶
- Pour EOLE >= 2.7.1
- Vérifier/corriger la remontée de logs en mode TLS
- Vérifier/corriger le test diagnose associé
- Ajouter un test squash (en s'inspirant/mutualisant de SYSLOG-T01 - Vérifier l'envoi de logs distants en mode RELP
- Vérifier/compléter la documentation si nécessaire
Critères d'acceptation¶
- le test squash est passant
- la documentation est à jour
Subtasks
Related issues
Associated revisions
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