Benutzer-Werkzeuge

Webseiten-Werkzeuge


manuals:ueberblick:letsencrypt

Let's Encrypt

Um Web-Seiten sicher zu betreiben, ist es wichtig eine SSL Verschlüsselung anzubieten.

Durch eine SSL Verschlüsselung wird die Kommunikation zwischen Server und Web-Browser verschlüsselt und so kann niemand z. B. Passwörter oder andere wichtige Informationen mitlesen.

Grundsätzlich funktioniert das auch mit selbst erzeugten Zertifikate, aber dann kommt es zu unschönen Fehlermeldungen, dass den Zertifikaten nicht ertraut wird.

Hintergrund hierfür ist, dass SSL-Zertifikate durch ein CA bestätigt sein müssen, damit der Browser die Echtheit anzeigt. Diese Bestätigungen sind für eine private Seite viel zu teuer. Es gibt aber auch den Dienst „Let's Encrypt“, der bestätigte SSl-Zertifikate kostenlos anbietet.

Zertifikate auf lion

Auf lion laufen zwei virtuelle nginx-Web-Server mit den URL's:

  • koecher.heim-server.de
  • hse.koecher.it

Das Paket letsencrypt wurde mit $ sudo apt install letsencrypt installiert.

Erzeugung der Zertifikate

Für koecher.heim-server.de konnte das Zertifikat direkt erzeugt werden, da ein Zugriff aus dem Netz auf das Web-Verzeichnis möglich ist. !Achtung! letsencrypt muss immer als root gestartet werden.

# letsencrypt certonly --webroot -w /var/www/koecher.heim-server.de/html -d koecher.heim-server.de 

Für hse.koecher.it funktioniert das nicht, weil es ein tomcat - Server ist, auf den nicht geschrieben werden kann. Daher muss nginx zunächst gestoppt werden.

# systemctl stop nginx
# letsencrypt certonly --standalone -d hse.koecher.it

Die Zertifikate werden in '/etc/letsencrypt/live/<domain>/' abgelegt. Ich habe symlinks in '/etc/nginx/ssl' erzeugt und die Zertifikate zugewiesen, Beispiel in '/etc/nginx/sites-available/hse.koecher.it.conf':

$ ls -l /etc/nginx/ssl
insgesamt 8
lrwxrwxrwx 1 root root   50 Nov 14 16:56 hse.koecher.it-cert.pem -> /etc/letsencrypt/live/hse.koecher.it/fullchain.pem
lrwxrwxrwx 1 root root   48 Nov 14 16:56 hse.koecher.it-key.pem -> /etc/letsencrypt/live/hse.koecher.it/privkey.pem
$ cat /etc/nginx/sites-avaiable/hse.koecher.it
...
	ssl_certificate /etc/nginx/ssl/hse.koecher.it-cert.pem;
	ssl_certificate_key /etc/nginx/ssl/hse.koecher.it-key.pem;
...

Erneuern der Zertifikate

Die Zertifikate haben immer nur eine Gültigkeit von 90 Tagen. Grundsätzlich können die Zertifikate mit dem Befehl

# letsencrypt renew --agree-tos --email andreas@koecher.it

einfach erneuert werden. Eine Automatisierung ist allerdings nicht so einfach möglich, weil der nginx hierfür wieder gestoppt werden muss und das sollte nicht so häufig gemacht werden. Das Programm prüft, ob die Zertifikate erneuert werden müssen und führt dann eine Signierung des Pub-Key durch.

Die Erneuerung der Zertifikate kann auch mit

# certbot renew

durchgeführt werden.

Am 04.02.2017 habe ich das erste Mal eine Aktualisierung durchgeführt.

  • Für die Domain hse.koecher.it hat das Programm funktioniert, wenn der nginx ausgeschaltet war.
  • Die Domain koecher.heim-server.de lief zunächst auf einen Fehler, weil der nginx inzwischen auf eine Konfiguration für dokuwiki umgestellt wurde. Mit der Originalkonfiguration aus sites-available lief die Aktualisierung fehlerfrei durch.

Erneute Aktualisierung am 01.05.2017, keine Probleme.
Erneute Aktualisierung am 21.07.2017, diesmal auf dem Server lion. Alles ok.
Erneute Aktualisierung am 11.10.2017, koecher.heim-server hat sich am 19.09. automatisch erneuert, hse.koecher.it ok.
Erneute Aktualisierung am 01.01.2018, koecher.heim-server hat sich am 18.11. automatisch erneuert, hse.koecher.it ok.
Aktualisierung 02.09.2018 ok
Aktualisierung 21.01.2019 ok

manuals/ueberblick/letsencrypt.txt · Zuletzt geändert: 2019-01-21 16:10 von andreas