Kostenlose Zertifikate für TLS/SSL-Verschlüsselung

(Hinweis: Untenstehende Anleitung funktioniert mit Ubuntu 16.04 und 18.04. Für Ubuntu 20.04 nehmt bitte diese Anleitung: 

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-22-04

Die Zertifizierungsstelle Let’s Encrypt (letsencrypt.org) hat sich auf die Fahnen geschrieben, für jeden Serverbetreiber einfach zu installierende TLS-Zertifikate (früher SSL) bereitzustellen – und das dazu noch kostenlos. Ich habe auf meinem Ubuntu-Server (Version 16.04), auf dem Apache läuft, mit wenigen Mausklicks ein Zertifikat erhalten, sodass sich meine Domain mit einem schönen grünen “https” präsentierte. Voraussetzung ist, dass man über eine eigene Domain verfügt, Apache installiert hat und zumindest eine index.html-Seite im Document Root liegen hat. Als erstes habe ich mir die Client-Software Certbot bei Github heruntergeladen.

 

git clone github.com/certbot/certbot

 

Wechsel ins Verzeichnis certbot:

 

cd certbot

 

Nach Eingabe von

 

./certbot-auto

 

werden über 170 MB an zusätzlich notwendigen Paketen installiert. In dem Prozess erscheint eine Auswahlmaske (“Which names would you like to activate HTTPS for”), die die gewünschte Domain aufführen sollte. Mit OK wird bestätigt, und anschließend kann man seine E-Mail-Adresse eintragen. Als nächstes stimme ich den Lizenzbedingungen zu. Schließlich wird noch gefragt, ob alle Domainanfragen auf HTTPS geleitet werden sollen. Das möchte ich, und so wähle ich “Secure” aus.

Mit einem Glückwunsch zu erfolgreicher Installation wird die Empfehlung ausgesprochen, die neue Konfiguration unter ssllabs.com

prüfen zu lassen. Die Prüfung fällt völlig zufriedenstellend aus, meine Domain erhält ein grünes “A”. Auch der Aufruf meiner Domain unter mydomain.de wird sofort umgeleitet zu mydomain.

Auch dieses Seite kann beim Aufspüren von SSL-Fehlern hilfreich sein: https://www.jitbit.com/sslcheck/

Gebe ich allerdings www.mydomain.de ein, erfolgt die Übertragung nicht mehr verschlüsselt. Standardmäßig fügt der Certbot-Client in die Datei mydomain.conf, die unter /etc/apache2/sites-available liegt, folgende Zeilen hinein:

 

RewriteCond %{SERVER_NAME} =mydomain.de [OR]
RewriteCond %{SERVER_NAME} =*.mydomain.de
RewriteRule ^ %{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]

 

Diese drei Zeilen ersetze ich durch:

 

RewriteCond %{HTTP_HOST} !^mydomain\.de$ [NC,OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ mydomain.de/$1 [R=301,L]

 

Nach Neustart des Apache-Servers

 

sudo service apache2 restart

 

wird auch www.mydomain.de zu https umgeleitet.

 

Typo3 und baseURL

Bei einer Typo3-Installation ist es mir passiert, dass das ganze Layout der Seite zerschossen war, nachdem ich die oben beschriebenen Schritte durchgeführt hatte. Der Grund lag in der Zeile

 

baseURL = {$siteURL}

 

Nachdem ich sie geändert hatte zu

 

baseURL = {$siteURL}

 

lief alles wieder rund. (Die siteURL ist im Root Template unter constants definiert.)

Das Zertifikat besitzt eine Gültigkeit von 90 Tagen und kann jeweils nach 60 Tagen für weitere 90 Tage verlängert werden.

 

Zertifikat verlängern

Um die Zertifikate zu verlängern, begebe ich mich ins Verzeichnis ~/certbot. Dort lassen sich die Zertifikate mit einer der folgenden Zeilen erneuern:

 

sudo letsencrypt renew
sudo certbot renew
sudo ./letsencrypt-auto renew
sudo ./certbot-auto renew
sudo ./certbot-auto
sudo ./letsencrypt-auto

 

Im Endeffekt bewirken alle Befehle eine Erneuerung des Zertifikats, bloß die Anzeige im Terminal ist unterschiedlich.

Bis auf die beiden letzten Befehle lassen sich die Zeilen zuvor testen, indem man den Zusatz –dry-run –agree-tos an das Kommando anhängt. Zum Beispiel:

 

sudo letsencrypt renew --dry-run --agree-tos

 

Certbot per PPA installieren

If you run Ubuntu Trusty, Xenial, or Bionic, certbot is available through the official PPA, that can be installed as followed:

 

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update

 

Then, certbot can be installed using:

 

sudo apt-get install certbot

 

Optionally to install the Certbot Apache plugin, you can use:

 

sudo apt-get install python-certbot-apache

 

 

Auch nicht schlecht zu wissen:

https://community.letsencrypt.org/t/certbot-auto-deployment-best-practices/91979

 

Kommentare und Antworten

×

Name ist erforderlich!

Geben Sie einen gültigen Namen ein

Gültige E-Mail ist erforderlich!

Gib eine gültige E-Mail Adresse ein

Kommentar ist erforderlich!

Captcha Code Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren

Captcha ist erforderlich!

Code stimmt nicht überein!

* Diese Felder sind erforderlich.

Sei der Erste, der kommentiert!