Let’s-Encrypt-Zertifikate mit aktueller Certbot-Version auf einem Raspbian Stretch erneuern

Einige mit einem Raspberry Pi, die eine Standardinstallation von Raspbian verwenden und Let’s Encrypt einsetzen, dürften dieser Tage elektronische Post von Let’s Encrypt bekommen haben. Da hieß es in etwa folgendermaßen:

Your Let’s Encrypt client used ACME TLS-SNI-01 domain validation to issue a certificate in the past 60 days.

TLS-SNI-01 validation is reaching end-of-life and will stop working on February 13th, 2019.

You need to update your ACME client to use an alternative validation method (HTTP-01, DNS-01 or TLS-ALPN-01) before this date or your certificate renewals will break and existing certificates will start to expire.

Das Problem bei einem aktuellen Raspbian Stretch, welches auf Debian Stretch basiert: in den offiziellen Paketquellen ist nur die Certbot-Version 0.10.1 enthalten, welche allerdings nur die Validierungsmethode TLS-SNI-01 enthält, welche nun aus Sicherheitsgründen nicht mehr unterstützt werden soll. Da ich bei mir auf einige Probleme gestoßen bin, möchte ich hier meinen Weg aufzeigen, wie ich eine aktuelle Version von Certbot unter Raspbian Stretch zum laufen bekommen habe, um Lets-Encrypt-Zertifikate weiterhin verwenden zu können.

Hinweis: Für den Erfolg dieser Anleitung gebe ich keinerlei Garantie. Bei meiner Installation hat es funktioniert, das kann bei einer anderen schon wieder ganz anders aussehen. Daher solltet ihr einigermaßen wissen, was ihr da tut und vorher ein Backup machen sowie wissen, wie man das Backup wieder einspielt!

Dieser Artikel bezieht sich auf folgende Software-Versionen:

  • Raspbian 9 (Stretch)
  • certbot 0.28
  • indirekt Seafile 6.2.3

Um eine akuelle Version von certbot zu bekommen, muss man auf die Backports von Debian zurückgreifen. Bevor ich allerdings auf diese zugreifen konnte, gab es verschiedene Fehlermeldungen, welche ich durch folgende Vorarbeiten umschiffen konnte:

1. Debian-Stretch-Backports aktivieren

Zum Anfang werden erst einmal die Debian-Stretch-Backports aktiviert:

Möchte man mit einem sudo apt-get update die Paketquellen aktualisieren, wird man höchstwahrscheinlich einen Fehler erhalten, dass 2 GPG-Schlüssel nicht vorhanden sind.

 

2. Installation von dirmngr

Die GPG-Schlüssel können nicht sofort installiert werden, da Raspbian Stretch standardmäßig nur eine Minimalinstallation von gpg mit sich bringt. Also installiert man zunächst dirmngr mit folgendem Befehl:

 

3. GPG-Schlüssel für die Backports installieren

Für die Installation der fehlenden GPG-Schlüssel wechselt man zunächst in den Benutzer root (Zeile 1), holt sich die betreffenden Schlüssel von einem Schlüsselserver (Zeile 2), exportiert diese und fügt sie dem Schlüsselbund hinzu (Zeile 3 und 4). Am Ende verlässt man den Benutzer root und kehrt zum Standardbenutzer zurück (Zeile 5).

 

4. Neue Certbot-Version installieren

Nun kann man eine aktuelle certbot-Version installieren, indem man sie sich aus den Backports holt:

 

Falls man noch eine ältere Version von Seafile installiert hat (z.B. 6.2.3), sollte man folgendes beachten: Bei der Installation von certbot kommt es u.a. zu folgender Ausgabe:

Man sollte hier nicht ohne weiteres sudo apt autoremove verwenden. Apt weiß natürlich nicht, dass Seafile installiert ist und hält die Pakete für überflüssig. Sie werden aber weiterhin von Seafile gebraucht. Löscht man diese, wird man nicht mehr auf Seafile zugreifen können. Also die Pakete einfach behalten 😉

 

5. Certbot testen

Am Ende kann man mit folgendem Befehl testen, ob eine Erneuerung der Zertifikate mit einer alternativen Validierungsmethode erfolgreich durchläuft:

 

Let’s-Encrypt-Zertifikate mit aktueller Certbot-Version auf einem Raspbian Stretch erneuern

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.