Seite wählen

Let’s Encrypt wird mit der Zeit immer professioneller und einfacher zu nutzen. Meine Anleitung aus 2015 ist schon nicht mehr aktuell.

Der damals noch aktuelle letsencryptauto wurde abgelöst durch den certbot, der nun noch mehr automatisiert als damals. Wie der neue Client genutzt wird, erfahren Sie im folgenden Artikel.

Installation und erste Benutzung

Die Installation des certbot ist unter Debian noch weiter vereinfacht worden. Auf der certbot-Website findet man für jeden Webserver/jedes OS eine kurze Anleitung, wie das Tool aus den Paketquellen installiert werden kann.

Hat man den Client also nach oben genannter Anleitung installiert, kann man ihn auch schon nutzen. Ein einfaches

certbot --apache

und man wird durch die komplette Konfiguration geführt. Möchte man nicht alle Domains in einem Zertifikat haben, wählt man einfach die ungewünschten Domains ab und erstellt die Zertifikate für die abgewählten Domains in einem zweiten Aufruf des certbot.

Während der Konfiguration fragt der Client auch ab, ob man alle HTTP-Requests auf HTTPS umleiten möchte und erstellt die entsprechende Konfiguration in /etc/apache2/sites-available/ mit der Endung -le-ssl.conf.

Sollten bereits SSL-Webseiten konfiguriert sein, die ersetzt werden sollen, sollten die kompletten SSL-Virtualhost-Direktiven entfernt werden.

Für jede Domain, die man im Apache anlegt, kann man einfach den Client neu ausführen und die entsprechende Domain auswählen, um sie per SSL erreichbar zu machen.

Zertifikate erneuern

Auch das Erneuern der nur 90 Tage gültigen Zertifikate ist nun noch wesentlich einfacher als mit dem alten Client.

certbot renew --dry-run

liest alle Konfigurationen ein und startet einen Trockenlauf, um die Funktion des Renew zu testen, ohne dabei Änderungen an den bestehenden Zertifikaten durchzuführen. Bei einem erfolgreichen Renew erscheint die Meldung

Congratulations, all renewals succeeded.

und man kann den Renew automatisieren. Hierzu habe ich folgende Zeile in meine Crontab eingetragen:

0       0       *       *       *       /usr/bin/certbot renew -q --post-hook "/usr/sbin/service apache2 restart"

Es wird also täglich geprüft, ob Zertifikate erneuert werden müssen und falls ja, wird ein Renew durchgeführt. Ist das Ablaufdatum noch zu weit entfernt, „verweigert“ der certbot seinen Dienst und tut nichts. -q gibt dem Client die Anweisung, nur eine Rückmeldung auszugeben, sofern Fehler beim Renew aufgetreten sind.

Fazit

Durch den neuen Client ist Let’s Encrypt nun noch sehr viel leichter zu bedienen und es gibt auch für unbedarfte „Administratoren“ keine Entschuldigung mehr, Webseiten ohne SSL zu betreiben.

Durch den neuen Renew-Prozess, der auch prüft, ob ein Renew überhaupt notwendig ist, ist nach dem Erstellen von Zertifikaten nur im Fehlerfall eine Handlung des Administrators notwendig. Prüft man nun noch mit Hilfe eines Monitoring-Systems auf ablaufende SSL-Zertifikate kann auch hier nicht viel schiefgehen und man könnte sogar die Mails ignorieren… was ich natürlich aber nicht empfehle!