Kategorien
Systemadministration Technologien

Certbot: Neuer verbesserter Client für Let’s Encrypt Zertifikate.

Certbot ist der neue Client von Let’s Encrypt und ist Nachfolger des alten letsencrypt-auto Komandozeilen Tools. Ist die Webserverkonfiguration nicht kompliziert und wird Apache verwendet, lassen sich damit ganz leicht Zertifikate erstellen und erneuern.

Installation

für die Installation genügen einige Kommandos in der Konsole. Diese müssen als Root User ausgeführt werden.

cd /opt
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

Den Pfad ( in diesem Beispiel: opt) kann man natürlich frei wählen.

Die Funktion des Tools, lässt sich über folgenden Befehl testen. Eventuell werden beim ersten Aufruf noch automatisch, notwendige Pakete installiert und / oder das Tool aktualisiert.

/opt/certbot-auto --help

Zertifikate erstellen

Falls die Konfiguration bestimmte Voraussetzungen erfüllt kann certbot nicht nur direkt selbst HTTPS aktivieren sondern auch automatisch Zertifikate dafür beantragen. Möglich ist dies über:

/opt/certbot-auto

Hier können dann alle erkannten Domains ausgewählt und die Verschlüsselung aktiviert werden. Die Apache Konfiguration sollte aber vorher einmal gesichert werden.

Wer auf Nummer sicher gehen will, lässt certbot nur die Zertifikate erstellen und kümmert sich selbst um die Konfiguration. Hier ein Beispiel für drei Domains in einem Zertifikat.

/opt/certbot-auto certonly --apache -d domain.de -d subdomain.domain.de anderesub.domain.de

Schlägt dies fehl schafft es certbot nicht das Apache-Module zur Authentifizierung zu aktivieren. Eine Möglichkeit wäre dann noch die Webroot Option, wobei diese mit heute üblichen Rewrites gerne fehlschlägt. Am Ende bleibt somit nur noch der Standalone Modus.

/opt/certbot-auto certonly --standalone -d domain.de -d subdomain.domain.de anderesub.domain.de

Dazu muss aber der Webserver beendet worden sein damit certbot eine eigenen Server auf Port 80 starten kann.

Zertifikate erneuern

Hier offenbarten die alten Clients bislang noch schwächen. Meist mussten selbst kleine Skripte geschrieben werden. Aber dies hat sich inzwischen geändert.

In den meisten Fällen reicht folgender Befehl als Cronjob

/opt/certbot-auto renew

Hier werden alle Zertifikate durchlaufen und bei Bedarf erneuert.

Problematisch ist dies nur für die mit Standalone erstellten Zertifikate. Da hier der Apache noch läuft und certbot keinen Webserver auf Port 80 starten kann.

/opt/certbot-auto renew --pre-hook "/etc/init.d/apache2 stop" --post-hook "/etc/init.d/apache2 start"

Das stoppt den Apache falls ein Zertifikat erneuert werden muss und startet diesen danach wieder.

Quellen:

https://certbot.eff.org/

Von Christian Stengel

Geek, PHP Entwickler, Linux Admin

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.