Zurück
Standpunkte, Stimmen und Kommentare
Standpunkte, Stimmen und Kommentare
Ohne Werbung können wir dieses Blog leider nicht betreiben. Deshalb bitte auf „Akzeptieren“ klicken, um das Blog mit Werbung zu nutzen und uns sowie unseren Werbepartnern das Setzen von Cookies zu gestatten (Zustimmung ist jederzeit widerrufbar).
Nein, ohne Werbung nutzen Akzeptieren >>
Details zu allen Cookies, über unsere Partnern und zur Möglichkeit, die Zustimmung zu widerrufen, gibt es in den Hinweisen zum Datenschutz.
Auch für private Betreiber von Blogs kann die Verschlüsselung der eigenen Webseite mit SSL sinnvoll sein. Denn die normale http-Verbindung entspricht praktisch einer Postkarte. Jeder, der die Datenpakete auf dem Weg in die “Hände” bekommt, kann (theoretisch) mitlesen. Übrigens ganz gleich, ob der Leser eine Seite abruft oder bei Euch kommentiert bzw. das Kontaktformular ausfüllt. Mit der Nutzung von SSL lässt sich das Mitlesen zumindest etwas erschweren.
Doch bisher war die Beantragung und Einrichtung von SSL durchaus komplex. Denn zunächst müssen ein geheimer Schlüssel (Key) und ein Certificate Signing Request (CSR) erzeugt werden. Dieser CSR muss dann zum Signieren an eine Zertifizierungsstelle (certification authority) übergeben werden. Anschließend sind der Key und das signierte Zertifikat auch noch in den eigenen Webserver (Apache oder nginx) einzubinden. Und da die Zertifikate aus Sicherheitsgründen nur eine begrenzte Laufzeit haben, ist das “Spiel” anschließend regelmäßig zu wiederholen.
Let’s Encrypt will SSL zum Standard machen
Mit der Initiative Let’s Encrypt (“Lasst uns verschlüsseln”) gibt es eine Möglichkeit, das Ganze deutlich zu vereinfachen. Denn Let’s Encrypt will die SSL-Verschlüsselung von Webseiten zum Standard machen. Hinter dem Projekt steht die gemeinnützige Internet Security Research Group (ISRG). Beteiligt sind Sponsoren und Unterstützer wie die Electronic Frontier Foundation (EFF), die Mozilla Foundation, Akamai, Cisco Systems, die Zertifizierungsstelle IdenTrust, die University of Michigan (U-M), die Stanford Law School, die Linux Foundation. Gemeinsam haben sie das Verfahren zur Ausstellung und Erneuerung von SSL-Zertifikaten deutlich vereinfacht.
Auch Let’s Encrypt stellt ganz normale X.509-Zertifikate aus. Das Besondere ist der hohe Automatisierungsgrad. Denn mit seinem Programm certbot führt Euch Let’s Encrypt ziemlich komfortabel durch den Prozess der Erstellung eines Zertifikats. Dazu legt certbot einen zusätzlichen Schlüssel temporär in das Root-Verzeichnis Eures Webservers. Let’s Encrypt ruft diesen Schlüssel auf und signiert, wenn der Zugriff auf die Testdatei funktioniert, Euer neues Zertifikat. So einfach kann SSL sein! Das Programm certbot findet Ihr auf dieser Webseite. Dort bitte einfach Euren Webserver und Eurer Betriebssystem auswählen. Anschließend folgt Ihr der Installationsanleitung. Dann kann eigentlich nichts falsch laufen.
Wir bekomme ich ein Zertifikat von Let’s Encrypt?
Der einfachste Weg ist, der Aufruf mit dem Statement:
Anschließend fragt Euch das Programm, was es wissen muss.
Hier gebt Ihr die 1 an, um das Zertifikat im laufenden Betrieb zu erstellen. Alternativ ist auch möglich, dass service nginx restart temporär einen Webserver startet. Voraussetzung dafür, dass das funktioniert ist, dass Ihr einen ggf. bereits laufenden Webserver abschaltet. Das war für mich keine Alternative.
Im zweiten Schritt fragt service nginx restart Euch, für welche Domains Ihr ein Zertifikat erstellen möchtet. Im Regelfall gebt Ihr hier Eure Domain einmal mit www. und einmal ohne www an. Damit stellt ihr sicher, das Eure Besucher auch beim Umleiten von der einen zur anderen Adresse keine Zertifikatswarnung erhalten.
Anschließend will certbot wissen, wo er die Prüfdatei für Let’s Encrypt ablegen soll. Dazu drückt Ihr wieder die 1 und gebt anschließend den Pfad zu Eurem Webserver an.
Anschließend müsste Ihr das für alle weiteren Domains wiederholen. Wobei Ihr in der Regel einfach die vorherige Eingabe mit 2 übernehmen könnt. Vorausgesetzt natürlich, dass Eurer Webserver die unterschiedlichen Domains, für die Ihr ein Zertifikat erstellen wollt, aus dem gleichen Verzeichnis heraus bedient. Sobald Ihr für alle Domains das Webroot-Verzeichnis angegeben habt, geht es weiter.
Wobei dieser Schritt nach der Ausgabe von Waiting for verification… immer etwas dauert. Denn jetzt erzeugt Euer Webserver den Key und sendet den CSR ab. Anschließend prüft Let’s Encrypt die Anforderung und erstellt – nach einer positiven Prüfung – das Zertifikat. Abweichend von der tatsächlichen Ausgabe habe ich hier mal zwei Angaben fett gesetzt. Diese Infos benötigt Ihr später, um das Zertifikat auch in Eurem Webserver (s.u.) einzubinden.
Das geht übrigens auch auf der Kommandozeile
Kommandozeilen-Fetischichten können übrigens gleich die notwendigen Parameter an den Aufruf dranhängen. Das sieht dann wie folgt aus:
Die Parameter sind schnell erklärt:
Einbinden der Let’s Encrypt Zertifikate in den Webserver am Beispiel von nginx
Die Zertifikate von Let’s Encrypt sind ganz normale X.509-Zertifikate. Die Einbindung erfolgt genauso wie bei kommerziellen Zertifikaten. Im Fall von nginx sieht das bei mir im Prinzip so aus:
Achtung! Diese Zeilen sind nur ein Auszug aus meiner .conf-Datei. Natürlich müsst Ihr das für Euren Webserver passend machen. Danach könnt Ihr den Webserver wieder mit service nginx restart durchstarten und dann habt Ihr fertig. Zumindest für die nächsten 90 Tage. Denn länger sind die Zertifikate von Let’s Encrypt (bisher) nicht.
Automatische Erneuerung der Zertifikate mit cron
Aber auch diese zeitliche Beschränkung kein großes Problem. Denn certbot kann die Zertifikate selbständig erneuern. Dazu ergänzt Ihr einfach Eure crontab um den passenden Aufruf und startet anschließend cron einmal mit service cron restart einmal durch.
Let’s Encrypt empfiehlt, das zweimal am Tag einzurichten (*/12) und Euch den Minutenwert (bei mir 41) auszusuchen. Daher sucht Ihr Euch an dieser Stelle einfach eine beliebige Minute aus, um die Last bei Let’s Encrypt zu verteilen. Und dann seit Ihr tatsächlich fertig. Jetzt läuft bei Euch ein Zertifikat von Let’s Encrypt auch in Verbindung mit WordPress.
Kommentar (1)
Pinkback: Let's Encrypt für WordPress ohne PlugIn nutzen - ruhrmentar