Archiv der Kategorie: Lets Encrypt

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

 

Revoking and deleting certificates with the certbot-auto script framework

Wenn ein Zertifikat, welches mit CertBot erstellt wurde, nicht mehr benötigt wird, kann man dieses auch ganz einfach über das Script-Framework deaktivieren und deinstallieren, damit es beim automatischen Erneuern nicht immer wieder unnötigt mit verlängert wird und als Ballast im System verbleibt.

Im folgenden beschreibe ich ganz kurz den Mechanismus:

 

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

 

Requesting certificates with certbot-auto and configuring the apache webserver

In meinem vorangegangenen Beitrag LetsEncrypt server certificates setup for Apache Webserver on Debian habe ich kurz beschrieben wie man am besten LetsEncrypt auf einem Debian Server installiert. Ich habe mich bewußt für den beschriebenen Weg entschieden, da ich es nicht aus den Paketquellen installieren wollte, wobei das natürlich genauso gut funktioniert. Mit der nachfolgenden Beschreibung kann man aber dann genauso umgehen.

Mit dem Script certbot-auto kann man ganz leicht neue Zertifikate beantragen und auch im Apache Webserver konfigurieren.

Übersicht der aktuell konfigurierten Zertifikate erhält man mit dem Befehl „certbot-auto certificates“.

Es empfiehlt sich übrigens den Schalter „--no-self-upgrade“ zu benutzen, um zu verhindern, dass sich das Script selbstständig aktualisiert. Besser ist es, die Aktualisierung in einer Testumgebung vorzunehmen um den produktiven Betrieb nicht zu gefährden.

Jetzt führen wir kurz den Befehl zum Beantragen eines Zertifikates aus:

Um mehrere Subdomains in einem Zertifikat zu beantragen, kann man auch mehrere „-d“ Parameter ergänzen:

 

Jetzt noch das Zertifikat im Apache konfigurieren. In der Apache VHOST-Datei folgende Werte einfügen:

 

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

 

LetsEncrypt server certificates setup for Apache Webserver on Debian

Dieser Beitrag soll zeigen, wie mit wenig Aufwand Zertifikate des Dienstes Let’s Encrypt unter Debian installiert werden können. Dazu muss natürlich selbst die Software noch installiert werden. Außerdem möchte ich auch noch die Benutzung und Konfiguration der Zertifikate im Apache Webserver zeigen. In einem weiteren Artikel werde ich auch noch die SSL-Konfiguration des Apache Webservers zeigen. Die Verlinkung dazu erfolgt dann später noch.

Installation von LetsEncrypt und CertBot

Erstmal clonen wir die Software aus dem GIT-Repo von Let’s Encrypt:

Hier das Listing  aus /opt/letsencrypt:

certbot-auto Script testen und aufrufen

Beim Erstaufruf des certbot-auto Scripts werden die Softwarevoraussetzungen geprüft und vom Script selbst werden div. Pakete nachinstalliert. Am besten benutzt man dafür den Befehl „certbot-auto certificates“

Im folgenden Artikel wird der genaue Beantragungsprozeß und die Installation im Apache-Server beschrieben.

 

 

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