24.09.2021 | Apache, Linux
SSL Ablaufdatum über die Konsole abfragen

Ein Problem, was ich hin und wieder habe ist, dass ich vergesse manuell erstellte Let’s Encrypt Zertifikate zu erneuern. In der Regel werden sie automatisiert im Hintergrund via CronJob aktualisiert. Auf Testumgebungen, die jedoch ab und an auch mal eine Weile brach liegen und manuell erneuert werden, kann es dann auch mal in Vergessenheit geraten.

Eine Möglichkeit, die Gültigkeit eines Zertifikates abzufragen ist ein CronJob, der via openssl den Status abfragt und zurückgibt. Der Rückgabewert bzw. die Information kann dann nach belieben in eine Logdatei geschrieben oder auch per Mail versandt werden.

Zur Abfrage läuft auf meinem Ubuntu OpenSSL in der Version 1.1.1 (OpenSSL 1.1.1).

root@herakles:/home/breit # echo | openssl s_client -connect websitewerker.de:443 2>/dev/null | openssl x509 -noout -dates

notBefore=Aug 15 15:47:09 2021 GMT
notAfter=Nov 13 15:47:07 2021 GMT

Ein kleines ShellScript, mit dem Ziel eine Logdatei zu generieren, könnte dann in etwa wie nachfolgend aufgebaut sein:

#!/bin/bash
logfile=`date +%F `_ssl.log

echo "DomainXZY.de" >/shell/$logfile
echo | openssl s_client -connect www.domainxyz.de:443 | openssl x509 -noout -dates >> /shell/$logfile
echo "---" >> /shell/$logfile

echo "Sub.DomainXYZ.de" >>/shell/$logfile
echo | openssl s_client -connect sub.domainxyz.de:443 | openssl x509 -noout -dates >> /shell/$logfile
echo "---" >>/shell/$logfile

[...]

Generiert wird dann im Ordner „/shell“ die Datei „YYYY-MM-TT_ssl.log“ (2021-09-24_ssl.log) mit dem Inhalt:

www.domainxyz.de
notBefore=Sep 23 08:43:11 2021 GMT
notAfter=Dec 22 08:43:10 2021 GMT
---
sub.domainxyz.de
notBefore=Sep 23 08:43:11 2021 GMT
notAfter=Dec 22 08:43:10 2021 GMT
---

[...]

 

geschrieben von Jens

, , ,

keine Kommentare