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
Sous-tâches
Demandes liées
Révisions associées
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
#22923supprimé
#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 Cuissinatsupprimé - Version cible
sprint 2018 08-10 Equipe MENSRsupprimé - Début
27/02/2018supprimé - Temps estimé
3.00 hsupprimé
#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/2018supprimé - Version cible
sprint 2018 14-16 Equipe MENSRsupprimé - Début
03/04/2018supprimé
#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/2019supprimé - Version cible
sprint 2019 36-38 Equipe MENSRsupprimé - Début
20/08/2019supprimé - 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