Let’s Encrypt : vérifier le statut et la date d’expiration du certificat

Il y a maintenant quelque temps, je vous avais écrit un article pour créer facilement un certificat SSL avec Let’s Encrypt pour son site web. Cela permet de passer son site web en HTTPS sans se prendre la tête et c’est de toute façon aujourd’hui la norme. Même Google a indiqué le prendre en compte pour l’expérience utilisateur donc difficile de s’en passer en termes de SEO. Il est rare de voir des sites sans cette protection et en général, il s’agit de vieux sites qui ne reçoivent plus de mises à jour depuis longtemps.

Pour un site qui ne propose pas de formulaire et donc n’échange pas de données particulières avec son utilisateur qui le consulte, ce n’est pas forcément très grave même si c’est préférable de proposer le HTTPS. Par contre, à l’inverse, si votre site propose par exemple un espace membre derrière une authentification sur Laravel ou même un simple formulaire pour se connecter à l’administration et qu’il n’y a pas le HTTPS, là ça se complique. Des données confidentielles telles que le mot de passe peuvent alors transiter en clair et ça, c’est très mauvais pour la sécurité. Bien sûr, le HTTPS n’est pas la seule sécurité à mettre en place, mais c’est déjà un bon début !

Vérifier la date d’expiration d’un certificat SSL avec OpenSSL

Dans un premier temps, nous alors voir le cas généraliste en utilisant OpenSSL qui va nous donner des informations très basiques mais bien utiles. C’est une commande facile à utiliser et vous allez avoir une réponse qui tient en deux lignes. Pour vérifier les dates de validité avec OpenSSL, vous pouvez faire la commande suivante sur un nom de domaine :

openssl s_client -connect lenomdedomaine.com:443 -servername lenomdedomaine.com </dev/null 2>/dev/null | openssl x509 -noout -dates

Pour comprendre rapidement ce que fait cette commande voici quelques explications. Openssl s_client -connect yourdomain.com:443 -servername yourdomain.com établit une connexion sécurisée au serveur sur le port 443 (HTTPS) et récupère le certificat SSL du domaine spécifié. Le </dev/null 2>/dev/null redirige l’entrée standard et masque les erreurs pour ne traiter que les informations pertinentes du certificat. Ensuite, | openssl x509 -noout -dates traite ces informations pour extraire uniquement les dates de début (notBefore) et de fin (notAfter) du certificat, les affichant ainsi sans autres détails superflus. Cela permet de vérifier rapidement la période de validité du certificat SSL d’un site web.

Cette commande devrait alors vous produire un résultat qui ressemble à ça dans votre terminal :

notBefore=Nov 29 12:38:03 2023 GMT
notAfter=Feb 27 12:38:02 2024 GMT

Obtenir des informations sur son certificat SSL Let’s Encrypt avec Certbot

Si vous avez utilisé Certbot comme je le fais dans mon tutoriel mentionné au début de cet article, la commande sera directement disponible. Pour avoir une vue détaillée de l’ensemble de l’état de vos certificats SSL Let’s Encrypt sur votre serveur Linux, vous pouvez lancer la commande suivante en tant qu’administrateur :

sudo certbot certificates

Cette commande affichera une liste détaillée de tous les certificats gérés par Certbot sur votre serveur, y compris leurs dates d’expiration. Vous devriez alors obtenir quelque chose comme ça en réponse :

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: lenomdedomaine.fr
    Serial Number: **************************************************
    Key Type: RSA
    Domains: lenomdedomaine.fr
    Expiry Date: 2024-02-27 12:38:02+00:00 (VALID: 70 days)
    Certificate Path: /etc/letsencrypt/live/lenomdedomaine.fr/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/lenomdedomaine.fr/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Vous savez maintenant comment consulter la date d’expiration de votre certificat SSL Let’s Encrypt. Si ce n’est pas automatique, n’oubliez pas de renouveler vos certificats avant leur expiration pour éviter les interruptions de service. Let’s Encrypt propose généralement des certificats valables pour 90 jours.

Laisser un commentaire