Certbot ohne TLS-SNI-01 Validierung nutzen

In zwei einfachen Schritten TLS-SNI-01 entfernen

Let’s Encrypt entfernt die Unterstützung für die Domain Validierung mit TLS-SNI-01. Wie viele andere habe ich soeben eine Mail erhalten, die mir für eine Doman bestätigt hat, dass ich noch das als unsicher eingestufte TLS-SNI-01 verwende. Wenn auch du eine e-Mail erhalten hast mit dem Titel “Action required: Let’s Encrypt certificate renewals”, here eine kleine Anleitung in 2 einachen Schritten, um das Problem zu beheben.

  1. Versichere dich, dass du eine Certbot Version größer als 0.28 verwendest:
certbot --version || /path/to/certbot-auto --version

Wenn deine Version geringer als Version 0.28 ist, so musst du zunächst den Certbot upgraden. Bitte besuche dazu  https://certbot.eff.org/ 958 und folge den Instruktionen für dein Betriebssystem und deinen Webserver.

2. Nutzt die folgende Regular Expression, um alle Verweise auf tls-sni-01 in der Konfiguration ( renewal configuration) zu entfernen:

sudo sh -c "sed -i.bak -e 's/^\(pref_challs.*\)tls-sni-01\(.*\)/\1http-01\2/g' /etc/letsencrypt/renewal/*; rm -f /etc/letsencrypt/renewal/*.bak"

3. Mache einen vollständigen Testlauf (Dry Run)

sudo certbot renew --dry-run
The following certs were successfully renewed:
  /etc/letsencrypt/live/holgerstrid.de/fullchain.pem (success)
  /etc/letsencrypt/live/WEBSITE-A/fullchain.pem (success)
  /etc/letsencrypt/live/WEBSITE-B/fullchain.pem (success)
  /etc/letsencrypt/live/WEBSITE-C/fullchain.pem (success)
  ...

** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Running post-hook command: systemctl reload dovecot; systemctl reload postfix
0 renew failure(s), 0 parse failure(s)

Sofern der Testlauf erfolgreich war und die Certbot Version 0.28 oder höher lautet, so ist alles okay. Wenn es fehlgeschlagen ist, so musst du die Validierungsprobleme beheben und es erneut probieren. Wie gezeigt hat es bei mir oben soweit gut funktioniert, nur ein Zertifikat ist fehlgeschlagen. Dies liegt jedoch nicht an der Änderung, sondern daran, dass ich einen Webserver und einen Mailserver auf meinem System betreibe. Dadurch kann ich das Mailserv er Certifikat nicht im Standalone Modus wechseln. An einem Workaround arbeite ich noch.

Wenn du die _Meldung Verbindung abgelehnt (connection refused) oder Zeitüberschreitung bei der Verbindung, so könnte die Firewall den port 80 blockieren. tls-sni-01 benutzt zwar den Port 443, aber http-01 nutzt den Port 80. Im Idealfall erlaubt dein Webserver beide Ports. Wenn das nicht möglich ist, so kannst du auf die dns-01 Challenge wechseln oder einen ACME Client verwenden der tls-alpn-01 unterstützt.

Das englische Original findet sich unter: https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210

Leave a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.