Automatically renew certificates issued with the certbot-auto script-framework

Die mit Letsencrypt erstellten Zertifikate haben per üblicherweise eine Laufzeit von 90 Tagen. Dies bedeutet natürlich, dass diese auf Grund ihrer relativ kurzen Laufzeit sehr schnell wieder ablaufen. Hier macht es keinen Sinn, zu versuchen, die Ablaufdaten der Zertifikate manuell überwachen zu wollen.

Der sinnvollste und einzig valide Weg ist daher die Überwachung und Erneuerung der Zertifikate per Cron zu automatisieren.

Hier möchte ich daher jetzt meinen Weg darstellen, wie ich die automatischen Überwachung und Erneuerung der Zertifikate umgesetzt habe.

Dafür habe ich mir 2 Bash-Scripts geschrieben, da mir die im Internet verfügbaren Lösungen alle nicht so recht gefallen haben.

Folgendes Script ruft das certbot-auto Script auf und erneuert die Zertifikate, falls notwendig. Über den Parameter „CERTBOT_PARAM“ kann man noch steuern, ob das certbot script wenig, oder gar keine Rückmeldung geben soll. Die Details dazu bitte in der Anleitung zu Letsencrypt nachlesen. Wenn ein Zertifikat erneuert wurde, dann wird der sog. „Renew-Hook“ ausgeführt. Hier in diesem Fall auch ein selbstgeschriebenes Script, welches mir dann eine Mail sendet, dass Zertifikate erneuert worden sind.

 

Hier kommt noch das Script für den Renew-Hook:

Dazu kommen nun noch die Konfigurationsfiles für den Cronjob und die Logrotation:

Dieses Setup funktioniert bei mir bisher prima. Ich bekomme nur eine Mail, wenn ein Zertifikat erneuert worden ist. Klar, die Ausgabe aus dem Log kann man noch verbessern. Bisher habe ich aber dazu noch keine Zeit gefunden. Mir ging es mit dieser Artikelreihe hier darum, einmal exemplarisch zu zeigen, wie Zertifikate mit Letsencrypt komplett implementiert werden können. Dieser Artikel ist vorerst der Abschluß dieser Reihe, da nun alle wichtigen Themen behandelt worden sind.

Später werde ich noch einmal einen Artikel schreiben, wie Letsencrypt z.B. per Cron aktialisiert werden kann, wenn man es, so wie ich, nicht aus den Paketquellen installiert hat.

Folgende Artikel gehören zu dieser Reihe der Implementierung von Letsencrypt Zertifikaten:
————————————————————

Monitoring the certificate lifetime data

LetsEncrypt server certificates setup for Apache Webserver on Debian

Requesting certificates with certbot-auto and configuring the apache webserver

Revoking and deleting certificates with the certbot-auto script framework

Automatically renew certificates issued with the certbot-auto script-framework