Let’s Encrypt ist eine Zertifizierungsstelle, mit einer einfachen Möglichkeit, kostenlose TLS/SSL-Zertifikate zu erhalten und zu installieren und damit verschlüsseltes HTTPS auf Webservern (und TLS/SSL auch auf Mailservern) zu ermöglichen. Let’s Encrypt vereinfacht den Prozess durch einen Software-Client: Certbot. Certbot versucht, die erforderlichen Schritte zu automatisieren. Derzeit ist der gesamte Prozess bis zur Installation eines Zertifikats sowohl für den Apache als auch den Nginx Webserver vollständig automatisiert.
Anmerkung: Derzeit ist Certbot standardmäßig nicht in den Debian-Software-Repositorien verfügbar, aber es ist möglich, das buster-backports-Repository in Ihrer /etc/apt/sources.list-Datei so zu konfigurieren, dass Sie einen Backport der Certbot-Software mit APT installieren können.
Backports sind jedoch neu kompilierte Pakete aus Debians Testing- und Unstable-Repositories, die neu kompiliert wurden, um in einer stabilen Debian-Distribution zu laufen. Diese Pakete werden nicht regelmäßig getestet und sind möglicherweise nicht immer auf dem neuesten Stand. Dementsprechend wird der Certbot-Backport die Version 0.31 installieren, während die aktuelle Version derzeit 1.26 ist. Ein relevanter Unterschied zwischen diesen Versionen von Certbot besteht darin, dass die Standardeinstellungen für Version 0.31 TLS v1.0 und TLS v1.1 aktivieren, zwei Sicherheitsprotokolle, die in den meisten großen Webbrowsern veraltet sind und deren Aktivierung eine Sicherheitslücke darstellen kann. Es ist zwar möglich, diese Voreinstellung zu ändern, aber das kann die automatischen Updates der Zertifikate unterbrechen.
Bis eine neuere Version von Certbot in den Debian-APT-Repositorien verfügbar ist, kann die Empfehlung der Certbot-Dokumentation hilfreich sein, eine aktuellere Version über das Paketformat Snap zu installieren.
Um Certbot als Snap unter Debian zu installieren, muss zunächst snapd installiert werden. Snapd ist ein Daemon, der zur Installation, Verwendung und Verwaltung von Snaps benötigt wird. Durch die Installation des snapd-Pakets wird auch der “snap-Befehl” installiert.
Um snapd zu installieren, wird der lokale Paketindex aktualisiert und dann Snapd installiert:
apt update apt install snapd
Als Nächstes wird Core-Snap installiert. Dadurch werden einige Abhängigkeiten installiert, die für jeden installierten Snap benötigt werden:
snap install core snap refresh core
Durch “refresh” wird sichergestellt, dass die neuesten Versionen von Snapd installiert sind.
Anschließend kann der certbot-Snap installiert werden.
Für Snaps gelten Begrenzungsstufen mit unterschiedlichen Gradationen für die Isolation des Snaps von dem übrigen System. Die meisten Snaps werden standardmäßig als –strict installiert, damit wird der Zugriff dieser Programme auf die Dateien im Systems oder im Netzwerk verhindert. Da Certbot die Möglichkeit haben muss, bestimmte Konfigurationsdateien zu bearbeiten, um Zertifikate korrekt einzurichten, enthält dieser Befehl die Option –classic. Diese Stufe erlaubt den Snaps den gleichen Zugriff auf Systemressourcen wie bei herkömmlichen Paketen.
snap install --classic certbot
Certbot wird im Verzeichnis /snap/bin/ installiert. Mit einem Link ist Certbot von überall auf dem System erreichbar:
ln -s /snap/bin/certbot /usr/bin/certbot
Certbot ist nun einsatzbereit, aber um damit SSL-Verbindungen zu nutzen, müssen weitere Schritte an der Apache Konfiguration vorgenommen werden, auf die hier nicht mehr eingegangen wird.
Weitere Informationen zur Konfiguration oder Nutzung von Certbot, Letsencrypt und Debian 10 finden sich auf diesen Seiten:
- https://blog.wturrell.co.uk/letsencrypt-using-cerbot-with-snap-on-debian-10/
- https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-10
- https://community.letsencrypt.org/t/i-cant-understand-how-sslprotocol-sslciphersuite-etc-are-set-using-certbot-apache-plugin/146707
- https://superuser.com/questions/1354732/letsencrypt-certbot-systemd-timer-service-not-working-on-ubuntu-18-04
- https://ycsoftware.net/letsencrypt-certbot-auto-review-not-working-debian-ubuntu-systemd/