Vérifier automatiquement l'expiration de certificats SSL
Cet article explique comment utiliser le script ssl-cert-check afin de vérifier automatiquement si un certificat SSL arrive à expiration ou non.
1. Installation
Ouvrez un terminal en root et lancez les commandes suivantes, pour mettre en place le script de vérification sur votre système :
cd /usr/local/bin
wget http://prefetch.net/code/ssl-cert-check
chmod +x ssl-cert-check
2. Utilisation
Pour vérifier la validité d'un certificat, on pourra utiliser une commande similaire à celle-ci :
ssl-cert-check -s www.tux-planet.fr -p 443
Le script permet également de vérifier l'expiration de certificats en local. Il suffit de lui renseigner le chemin du fichier .pem :
ssl-cert-check -c /etc/ca/cacert.pem
3. Vérification automatique
Pour aller plus loin, on peut mettre en place une vérification automatique des certificats via une crontab. L'utilisation de l'option -e permettra de recevoir un mail en cas d'expiration.
Voici un exemple de ligne à mettre dans la crontab :
# Check SSL expiration
0 1 * * * ssl-cert-check -c /etc/ca/*.pem -e seb@mail.com > /dev/null
Bien entendu, ce procédé restera intéressant que dans les cas où l'on doit vérifier une quantité importante de certificats contenus dans un répertoire.
9 Commentaires pour "Vérifier automatiquement l'expiration de certificats SSL"
Flux des commentaires de cet article Ajouter un commentaireTu fais pas un crontab toutes les minutes avec ce que tu as mis ? 1 à 2 fois par jour ne suffirait pas ?
Pas mal.
/me veut un RPM pour sa distrib préférée qui, ô miracle, est aussi celle de l'auteur de cet article
pas mal le script... on se demande bien d'où vient l'inspiration!!!
c'est un peu comme si t'avais plein de certificats à vérifier suite au récents problèmes
Aller, demain, je publie un article sur le gw
@Oncle Tom : effectivement, il y a une erreur dans la crontab. Je vais la corriger.
@bochecha : visiblement, il n'existe pas de rpm pour ce script. Mais bon il reste assez simple à mettre en place.
@matao : faut bien puiser son inspiration quelque part. Ces sûr que si on n'avait pas autant de certificats au CRI et si leur gestion n'était pas aussi pourrit, je n'aurais jamais prêté attention à ce script, découvert par hasard sur le net.
@pti-seb : Effectivement, il reste simple a mettre en place... Mais on pourrait imaginer enrober tout ça dans un service dans /etc/init.d.
Ainsi, on pourrait utiliser chkconfig pour le faire démarrer dans le runlevel souhaité. On pourrait le lancer manuellement avec "service checkt-crt [start|stop|restart]" ce qui aurait pour effet de mettre en place / modifier la crontab qui serait elle prise dans un fichier de conf à part.
Ca devient tout de suite plus sympa à gérer qu'en le faisant à la main, et du coup un RPM (ou plutôt un "package" car tout le monde n'utilise pas RPM
commence à devenir intéressant.
Et du coup, si personne ne s'en occupe, ça me donne une idée pour mon prochain RPM dans Fedora / EPEL
@bochecha : effectivement ta vision des choses est bonne. Si tu fait un rpm, faudra nous prévenir.
Le RPM est en cours de création
A suivre...
Il existe aussi un test nagios (dispo dans pas mal de distribution):
vérifie si le certificat de verisign.com est valide et remonte une alerte s'il reste 14 jours avant expiration.
Pas mal le plugin nagios aussi, je ne connaissais pas.
Merci.