Jörgs Webnotizen

HTTPS-Verschlüsselung mit Letsencrypt unter Debian Jessie

Seit kurzem findet sich letsencrypt in den Backports von Debian Jessie, so dass man dieses bequem über das Paketmanagement von Debian installieren kann. Ich habe dies zum Anlass genommen, eine HTTPS-Verschlüsselung für mein Forum einzurichten. Als erstes habe ich dazu die Backports in die /etc/apt/sources.list eingetragen:


deb http://http.debian.net/debian jessie-backports main

… und den Paketmanager auf den neuesten Stand gebracht:


aptitude update

Danach installierte ich letsencrypt aus den Backports, und da ich den Apache als Webserver verwende das Python-Script python-letsencrypt-apache


aptitude -t jessie-backports install letsencrypt python-letsencrypt-apache

Die weitere Vorgehensweise kann man im User Guide von letsencrypt nachlesen. Um das Limit von Zertifikatserstellungen nicht zu überschreiten, wird empfohlen, beim Testen die Option --test-cert zu verwenden.

Bei der Verwendung des von mir installierten Apache-Plugins ist der Kommandozeilenaufruf recht simpel:


letsencrypt --test-cert --apache -d example.com -d www.example.com -d example.net -d www.example.net

Man kann also verschiedene Domains angeben, die auch unterschiedlichen VirtualHosts zugeordnet sind.

Hiernach muss man dem Subscriber Agreement zustimmen, eine Emailadresse angeben, an die Nachrichten bez. des Zertifikates geschickt werden, und bestimmen, ob die unverschlüsselte Webseite weiterhin erreichbar sein soll.

Leider gab letsencrypt in meinem Fall eine Fehlermeldung aus:

NameError: free variable ‚addrs‘ referenced before assignment in enclosing scope

Es handelt sich um einen Bug, der in den Versionen 0.4.1 und 0.5.0 behoben wurde, siehe diesen Bugreport. In den Debian Backports befindet sich noch die ungefixte Version 0.4.0. Da der im Bugreport empfohlene Workaround, einen VirtualHost voranzulegen, bei mir nicht funktionierte, habe ich kurzerhand das betreffende Python-Script manuell gepatcht. Danach liefen die Zertifizierung und das Anlegen des VirtualHosts durch (und im einem weiteren Durchlauf ohne die Option --test-cert holte ich dann das eigentliche Zertifikat). Man kann aber auch das aktuelle letsencrypt von GitHub beziehen, wie es im User Guide beschrieben ist, oder wartet einfach noch etwas, bis der Maintainer eine neuere Version in die Backports hochlädt.

Meine Webnotizen sind noch nicht per HTTPS aufrubar (bzw. verfügen über kein passendes Zertikat) – ich werde diese aber mittelfristig auch zu einem eigenen VServer umziehen, und dann wohl auch für dieses Blog mithilfe von letsencrypt eine Verschlüsselung einrichten.

Tags: Apache

Kommentare

Ich habe hier aufgehört zu lesen:

„Ich habe dies zum Anlass genommen, mein Forum, welches ich dazu auf einen VServer umgezogen habe, zu verschlüsseln.“

OK, das war etwas missverständlich ausgedrückt.

Die Verschlüsselung mit kostenlosen Zertifikaten für mehrere Domains ist auf einem normalen Webspace halt so nicht möglich. Das ist aber nicht der einzige Grund für den Umzug, nur Anlass dafür, dass ich diesen für die Foren-Domain schon mal vorgezogen habe. Den VServer habe ich schon länger, nicht extra dafür bestellt!

Ich habe den Nebensatz mit dem VServer mal entfernt – sonst kommt das bei einigen möglicherweise wirklich als Anleitung rüber, dass man sich nur wegen der Verschlüsselung mal so eben einen Server mieten soll.

Was Anonymous wohl meinte: unabhängig ob vServer oder nicht, die Aussage ist komplett falsch. Dein Forum ist nicht verschlüsselt. Allein der Transport der Daten zwischen Forum-Webserver und dem Browser des Betrachters erfolgt verschlüsselt. Mehr nicht.

Danke für den Hinweis – das war an der Stelle wohl zu salopp formuliert (in der Annahme, dass aus der Überschrift schon hervorgeht, dass eine Transport-Verschlüsselung gemeint ist). Ich habe den Satz nochmal korrigiert.

Kommentar schreiben

* Pflichtfeld

Erstkommentare werden erst nach Freischaltung veröffentlicht