Rene's Blog

GEDÄCHTNISSTÜTZEN UND SONSTIGE ERKENNTNISSE

Kostenlose SSL/TLS Zertifikate von letsencrypt

von Rene Sasse am 1. Juli 2016, keine Kommentare

Certificate Request

Ich nutze startssl.com schon seit ein paar Jahren und hörte in der Vergangen immer mal wieder von Let’s Encrypt. Einem Dienst, der ebenfalls kostenlose SSL Zertifikate anbieten wird. Wer noch kein SSL/TLS Zertifikat hat, sollte sich das Projekt man ganz genau anschauen.

Let’s Encrypt stellt Skript gesteuert kostenlose SSL/TLS Zertifikate zur Verfügung. Es soll damit für jeden User möglich sein, ein SSL Zertifikat zu nutzen. Man lädt das Skript auf den Server, führt es mit passenden Optionen aus und erhält ein Zertifikat welches dann für 3 Monate gültig ist. Soweit ich es beurteilen kann, wird das Zertifikat auch von allen mit genutzten Geräten akzeptiert. Das ist schon mal viel Wert.

Hier ein Link zum 32C3 CCC-TV, in dem alles wichtige über Let‘ Encrypt erzählt wird:
https://media.ccc.de/v/32c3-7528-let_s_encrypt_–_what_launching_a_free_ca_looks_like#video

Die Anleitung

Mit ein paar Handgriffen ist Let’s Encrypt auf dem eigenen Server installiert und das erste Zertifikat abgerufen und installiert:

Erstmal die Repos aktualisieren:
$ sudo apt-get update

Dann git installieren:
$ sudo apt-get install git

Nun das letencrypt git-Repo clonen
$ sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Ab zum Repo
$ cd /opt/letsencrypt

Nun kann das Zertifikat ausgestellt werden. In diesem Beispiel wird nur das Zertifikat erstellt und gespeichert. Die Option -w und -d müssen entsprechend eurer Umgebung gesetzt sein. MEIN.FQDN.TLD gehört zu var/www/servername/html. Dort wird das Skript einen Ordner .well-known/ anlegen und alle Informationen zur Ausstellung speichern und anschließend wieder löschen.

$ ./letsencrypt-auto certonly –webroot -w /var/www/servername/html -d MEIN.FQDN.TLD

Die ausgestellten Zertifikate finden sich dann auf dem Rechner unter
$ ls /etc/letsencrypt/live/MEIN.FQDN.TLD

Im Apache nun das SSL Zertifikat für den virtuellen Host eintragen:

<VirtualHost deine.ip.zum.Host:443>
[….]
// Apache 2.2
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/MEIN.FQDN.TLD/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/MEIN.FQDN.TLD/chain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/MEIN.FQDN.TLD/privkey.pem
[….]
</VirtualHost>

Danach muss der Apache restartet werden. Wenn jetzt der Host mit https aufgerufen wird, und man sich das Zertifikat etwas genauer anschaut, sieht man den Aussteller: Let’s Encrypt Authority. Sofern der Browser sich nicht beschwert ist der Drops nun gelutscht :-)

Automatisches renew (zwangsweise nach 3 Monaten)
$ ./letsencrypt-auto renew

Oder via Cron:
$ crontab -e
Dann folgende Zeile einfügen
10 1 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
Noch ein kleiner Hinweis: Wann immer ihr das letsencrypt-auto Skript nutzt, solltet ihr das Repo neu ziehen
$ cd /opt/letsencrypt
$ sudo git pull

Quellen:
https://www.letsencrypt.org

Schreibe einen Kommentar

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