Unsere Themen im Blog: Linux

   

Certbot – Let’s encrypt Zertifikate automatisch erneuern

Cliff (Username: cHAp) (Administrator) on 15.01.2018

Ich habe bereits eine Anleitung geschrieben, wie ihr mit Certbot schnell Zertifikate erstellen könnt. In dieser Anleitung geht es nun darum, wie ihr diese Zertifikate automatisch erneuern lassen könnt.

Ich habe bereits eine Anleitung geschrieben, wie ihr mit Certbot schnell Zertifikate erstellen könnt. In dieser Anleitung geht es nun darum, wie ihr diese Zertifikate automatisch erneuern lassen könnt.

Ich habe bereits eine Anleitung geschrieben, wie ihr mit Certbot schnell Zertifikate erstellen könnt. In dieser Anleitung geht es nun darum, wie ihr diese Zertifikate automatisch erneuern lassen könnt.

Das automatische Erneuern lässt sich mit folgendem Befehl durchführen

certbot renew

Wenn ihr den Befehl testen wollt, dann könnt ihr ihn einfach in der Console eingeben mit folgendem Parameter:

certbot renew --dry-run

Dies bewirkt, dass das Update nur simuliert wird und keine Änderung an den Zertifikaten vorgenommen wird.

Ich habe bei mir den Webserver nginx laufen. Daher verwende ich hier für die Beispiele immer diesen Webserver. Certbot lässt sich jedoch ebenso für apache2 oder andere Webserver nutzen.

Nun gibt es 2 Varianten, wie ihr die Zertifikate updaten könnt. Ihr müsst die Variante wählen, die ihr bereits zum Erstellen der Zertifikate genutzt habt oder die Datei „/etc/letsencrypt/renewal/eure_domain.conf“ anpassen.

Wenn ihr nicht wisst, welche Variante ihr wählen müsst, dann könnt ihr folgende Datei öffnen und nachschauen:

nano /etc/letsencrypt/renewal/eure_domain.conf

Dort sollte nun stehen:

authenticator = webroot
 
oder
 
authenticator = standalone

1. Standalone

Wenn ihr den Webserver als „Standalone“ installiert habt, dann müsst ihr folgenden Befehl ausführen:

/usr/bin/certbot renew --pre-hook "/usr/sbin/nginx stop" --post-hook "/usr/sbin/nginx start"

Der Befehl bewirkt, dass der nginx Server zuerst gestoppt wird, bevor das Zertifikat erneuert wird. Danach wird der Server wieder gestartet. Dies ist notwendig, da sonst der benötigte Port bereits von nginx belegt wird.

2. Webroot

Bei der Variante „Webroot“ muss dieser Befehl verwendet werden:

/usr/bin/certbot renew  --post-hook "/usr/sbin/nginx restart"

Bei dieser Variante bleibt nginx dauerhaft online.

 

Crontab anlegen

Nachdem ihr den obigen Befehl erfolgreich ausprobiert habt, legen wir jetzt einen Cronjob an, damit dieser automatisch ausgeführt wird.

Das geht mit

crontab -e

Wenn ihr noch keinen Crontab angelegt habt, dann sollte folgende Meldung erscheinen. Hier drückt ihr einfach „1“.

crontab -e
no crontab for root - using an empty one

Select an editor. To change later,
 run "select-editor".
  1. /bin/nano           <---- easiest
  2. /usr/bin/vim,tiny

Nun solltet ihr folgendes sehen.

# daemon's notion of time and timezones.
#
# Output ...
# ...
# m h  dom min dow      comand

Fügt am Ende der Datei folgende Zeile ein:

Standalone

PATH=/usr/sbin:/usr/bin:/sbin:/bin
0 4 1 * * /usr/bin/certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"

Webroot

PATH=/usr/sbin:/usr/bin:/sbin:/bin
0 4 1 * * /usr/bin/certbot renew  --post-hook "service nginx restart"

Die erste Zeile ist notwendig, da später der Service „nginx“ gestartet werden soll. Dazu müssen hier erst die passenden Umgebungsvariablen gesetzt werden.

 

Erklärung

1. Stelle: Minute -> 0
2. Stelle: Stunde -> 4
3. Stelle: Tag des Monats -> 1
4. Stelle: Monat -> *
5. Stelle: Wochentag -> *

Das Skript wird also immer am 1. Tag jeden Monats nachts um 4:00 gestartet.

 

Quelle:

https://certbot.eff.org/docs/using.html#renewal

 


Kurz Profil über Cliff

xProg.de Gründer. Jahrgang 1986. Stolzer Familienvater. Habe Früh mit Computer und Hardware angefangen. Die ersten Self-Made Computer waren nicht die besten, funktionierten aber tadellos. Kenne noch 56k-Modems, und habe mit Windows 3.1 angefangen meine ersten Texte zu schreiben, über Windows 95, bis zu Windows 7 dann aktiv eingestiegen. Auch arbeite ich aktiv mit Linux für Homebase als auch auf der Serverebene. 

Auf die Idee Anleitungen zu schreiben kam ich, als ich zum Thema Debian was gesucht habe. Leider waren viele Anleitungen oder vorschläge veraltet und daher leider nutzlos.

Wenn meine Anleitungen auch veraltet sein sollten, dann schreibt mir das bitte und ich versuche sie zu aktualisieren.

Wer mich (finanziell) unterstützen möchte, der kann mir hier gerne etwas spenden.

Webseite: https://www.mailda.de
Facebook: https://www.facebook.com/cain.j.dawson
Twitter: https://twitter.com/CainDawsonDE

Letzte Artikel von Cliff

 

zurück

Hinweis: Darum zeigen wir auf xProg.de Werbung!

Bislang wurde kein Kommentar abgegeben. Seien Sie der erste, der kommentiert. Kommentar abgeben