Project

General

Profile

Tâche #33353

Scénario #33284: Créer un Agent Zéphir qui test la validité des certificats

Créer l'agent

Added by Emmanuel GARETTE 11 months ago. Updated 10 months ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
10/18/2021
Due date:
% Done:

100%

Remaining (hours):
0.0

scribe-cert-agents-not-expired-OK.png View (25.3 KB) Daniel Dehennin, 12/02/2021 02:12 PM

scribe-cert-agents-expired-but-OK.png View (25.6 KB) Daniel Dehennin, 12/02/2021 02:12 PM

Associated revisions

Revision de156d8b (diff)
Added by Emmanuel GARETTE 11 months ago

création d'un agent Zéphir pour vérifier la validité des certificats (ref #33284)

Revision 2f18fdd5 (diff)
Added by Emmanuel GARETTE 11 months ago

ajout de variables pour l'agent Zéphir de validation des certificats (ref #33284)

Revision 23db7bb2 (diff)
Added by Emmanuel GARETTE 10 months ago

une commande avec le code retour 1 ne renvoit pas forcement vers errback, valider en plus de pid (ref #33284)

History

#1 Updated by Emmanuel GARETTE 11 months ago

  • Subject changed from Créé l'agent to Créer l'agent

#2 Updated by Emmanuel GARETTE 11 months ago

  • Status changed from Nouveau to À valider
  • % Done changed from 0 to 100

#3 Updated by Emmanuel GARETTE 11 months ago

  • Status changed from À valider to Résolu

#4 Updated by Joël Cuissinat 11 months ago

zephir-client$ git branch -r --contains de156d8b
  origin/HEAD -> origin/master
  origin/dist/eole/2.8.1/master
  origin/master

#5 Updated by Joël Cuissinat 11 months ago

Ajout de pas dans https://dev-eole.ac-dijon.fr/squash/test-cases/4363/info

Les cas expirés et "pas encore valide" n'ont pas l'air gérés par l'agent ?

#6 Updated by Joël Cuissinat 11 months ago

  • Status changed from Résolu to En cours

#7 Updated by Emmanuel GARETTE 11 months ago

  • Status changed from En cours to Résolu

<gnunux> en fait il y plusieurs fonctions qui valident les certificats dans le diagnose
<gnunux> c'est encore une fois un empilement de fonctionnalité
<gnunux> moi j'ai repris que celle qui permet de voir si le certificat va bientot expiré
<gnunux> ce que je veux dire c'est que pour ce certif ok ca regarde la date de début, mais pas pour les autres certificats
<gnunux> la fonction utilisé pour les certificats autosignés n'est pas utilisé (et n'est pas compatible) avec les autres types de certificats

#8 Updated by Daniel Dehennin 10 months ago

En suivant les étapes du test squash:

Lorsque le certificat est valide

root@scribe:~# /usr/share/eole/diagnose/05-common 
*** Validité du certificat
.                    eole.crt => Ok
.                DNS reconnus => scribe.domscribe.ac-test.fr addc.domscribe.ac-test.fr scribe.ac-test.fr

Lorsque le certificat est expiré

root@scribe:~# /usr/share/eole/diagnose/05-common 
*** Validité du certificat
.                    eole.crt => Erreur :  certificate has expired
 certificate has expired

#9 Updated by Daniel Dehennin 10 months ago

Arf, le test de validité n’est pas effectué dans le cas autosigné eole-common:source:diagnose/05-common@f4103bd#L94.

Pour tester, je l’ai ajouté:

--- /usr/share/eole/diagnose/05-common.orig    2024-11-30 22:15:24.740000000 +0100
+++ /usr/share/eole/diagnose/05-common    2024-11-30 22:12:38.308000000 +0100
@@ -94,6 +94,7 @@
 if [ ${cert_type} = "autosigné" ]
 then
     EchoGras "*** Validité du certificat" 
+    TestValidCerts ${server_cert} ${server_pem}
     if [ $server_cert != "/etc/ssl/certs/eole.crt" ]
     then
         TestCerts $server_cert 10 "certificat expiré" 

Ce qui donne

root@scribe:~# /usr/share/eole/diagnose/05-common
*** Validité du certificat
.                DNS reconnus => scribe.domscribe.ac-test.fr addc.domscribe.ac-test.fr scribe.ac-test.fr
.                Expiration => dans moins de 15 jours.
.                Date de fin => dim. 01 déc. 2024 21:06:26 CET
.                         CA =>  CA-scribe.domscribe.ac-test.fr
.                Certificat  => valide

.                    eole.crt => Ok
.                DNS reconnus => scribe.domscribe.ac-test.fr addc.domscribe.ac-test.fr scribe.ac-test.fr

#10 Updated by Daniel Dehennin 10 months ago

En tout cas, l’agent Zéphir à 1j de l’expiration est toujours OK.

#11 Updated by Emmanuel GARETTE 10 months ago

  • Status changed from Résolu to En cours
  • % Done changed from 100 to 50

#12 Updated by Emmanuel GARETTE 10 months ago

  • Status changed from En cours to Résolu
  • % Done changed from 50 to 100

OK maintenant :

root@eolebase:~# diagnose 
[..]
*** Validité du certificat
.                    eole.crt => Ok
.                DNS reconnus => eolebase.ac-test.fr
[..]
root@eolebase:~# elinks http://eolebase.ac-test.fr:8090/agents/0/localcert/ | grep -C2 Chemin
  Surveillance des certificats

   Chemin du certificat    Validité
   /etc/ssl/certs/eole.crt Valide

root@eolebase:~# systemctl stop ntp
root@eolebase:~# END_DATE=$(openssl x509 -in /etc/ssl/certs/eole.crt -noout -enddate|cut -d"=" -f2)
root@eolebase:~# Y=$(date -d "$END_DATE" +%Y)
root@eolebase:~# M=$(date -d "$END_DATE" +%m)
root@eolebase:~# D=$(date -d "$END_DATE" +%d)
root@eolebase:~# HH=$(date -d "$END_DATE" +%H)
root@eolebase:~# MM=$(date -d "$END_DATE" +%M)
root@eolebase:~# date $M$D$HH$MM$((Y+1))
mer. 03 déc. 2025 22:14:00 CET
root@eolebase:~# systemctl restart z_stats.service
root@eolebase:~# diagnose
[..]
*** Validité du certificat
.                    eole.crt => Erreur :  certificate has expired
 certificate has expired
[..]
root@eolebase:~# elinks http://eolebase.ac-test.fr:8090/agents/0/localcert/ | grep -C2 Chemin
  Surveillance des certificats

   Chemin du certificat    Validité
   /etc/ssl/certs/eole.crt Fin de validité dans moins de 30 jours

#13 Updated by Joël Cuissinat 10 months ago

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

Vu, création d'un nouveau scénario pour les cas mal gérés en mode auto-signé => #33551

Also available in: Atom PDF