Bestand automatisiert erfassen
Die Zertifikate, die dich nachts wecken, stehen in keiner Liste. Solche Zertifikate sitzen im Monitoring-Agenten, im internen Wiki und auf dem Gerät, das seit Jahren niemand angefasst hat.
while read -r host; do
ende=$(openssl s_client -connect "$host:443" -servername "$host" </dev/null 2>/dev/null \
| openssl x509 -noout -enddate | cut -d= -f2)
printf '%-40s %s\n' "$host" "${ende:-KEINE ANTWORT}"
done < hosts.txt
# Dienste mit STARTTLS gehören genauso auf die Liste
openssl s_client -connect mail.example.com:25 -starttls smtp </dev/null 2>/dev/null \
| openssl x509 -noout -dates -subject-servername ist Pflicht, sobald mehrere virtuelle Hosts hinter einer Adresse liegen. Ohne SNI bekommst du das Standardzertifikat des Servers und wunderst dich über den falschen Namen.
sudo find /etc /opt /srv -type f \( -name '*.pem' -o -name '*.crt' -o -name '*.cer' \) \
-exec sh -c 'openssl x509 -noout -subject -enddate -in "$1" 2>/dev/null \
&& echo " Datei: $1"' _ {} \;Der Fund ist regelmäßig größer als erwartet. Trage jedes gefundene Zertifikat mit Ablaufdatum, verantwortlicher Person und Erneuerungsweg in eine Liste ein, bevor du mit der Automatisierung anfängst.