SSL für die Webseite mit Certbot

In Zeiten der SSL Pflicht für Webseiten bieten sehr viele Webhoster kostenpflichtige SSL Zertifikate an, ist ja auch ein lukrativer Markt.

Warum aber Geld ausgeben wenn man fast das gleiche auch kostenlos erhalten kann? Hier kommt Let’s Encrypt und der Certbot ins spiel.

Certbot ist eine Software für Linux (z.B. Debian), womit SSL Zertifikate für Webseiten kostenlos erstellt werden können und bei dem eigenen Webserver eingesetzt werden.

Der Hersteller selbst bietet eine umfangreiche Anleitung. Auf seiner Webseite.

Damit das funktioniert muss entweder Certbot im Paket schon enthalten sein, oder man benötigt so genannte root Rechte am Server um Certbot installieren zu können.

Als erster Schritt muss man Debian Backports den Server Quelldateien hinzufügen. Wir melden uns am Terminal mit root an.

Nun geben wir …

nano  /etc/apt/sources.list

… ein und fügen bei Debian 9 …

deb http://ftp.debian.org/debian stretch-backports main

… ein.

Wer Debian 8 nutzt gibt …

deb http://ftp.debian.org/debian jessie-backports main

… in der Sources.list ein.

Jetzt kann man die sources.list speichern und macht ein update der apt Listen.

apt-get update

Danach das upgrade mit …

apt-get upgrade

Jetzt können wir Certbot installieren.

apt-get install python-certbot-apache -t stretch-backports

Wir starten certbot und fügen ein SSL Zertifikat dem apache Webserver hinzu indem wir …

certbot --apache

…eingeben.

Nach ein paar kleineren Einstellungen wird automatisch der Apache angepasst und für die Verwendung von SSL Zertifiakten konfiguriert.
Möchte man etwas mehr Kontrolle über die Konfiguration haben geben wir …

certbot --apache certonly

… ein und gehen die Menüs durch bis das Zertifikat erstellt wurde. Jetzt muss der Apache händisch mit dem Zertifikat eingerichtet werden.
Hier bin ich noch nicht zu testen gekommen, muss das also nachtragen sobald ich es durchgespielt habe.

 

Die Laufzeit der Zertifikate liegt bei 90 Tagen. Selbstverständlich kann aber das Zertifikat erneuert werden.
Hierfür könnte man einen automatischen Dienst einrichten, einen Cron-Job oder macht dies von Hand am Webserver mit den passenden root-Rechten.

certbot renew --dry-run

Auf der Webseite von Certbot gibt es aber eine sehr ausführliche Anleitung (englisch).