In diesem Artikel möchten wir Ihnen zeigen wie Sie ein kostenloses SSL Zertifikat mithilfe von Let’s Encrypt einrichten und Ihre Webseite auf die sichere Kommunikation vorbereiten können. Wie wir Ihnen in unserem Artikel zum Thema SSL Zertifikaten und https bereits gezeigt haben, gilt SSL für Google und andere Suchmaschinen inzwischen als relevanter Ranking-Faktor. Falls Sie auf Ihrer Webseite noch kein SSL verwenden sollten Sie daher darüber nachdenken eine Verschlüsselung einzurichten. Keine Sorge, der Vorgang ist nicht sonderlich schwierig oder aufwendig.
Was ist Let’s Encrypt
Zuerst möchten wir Ihnen erklären was genau Let’s Encrypt ist. In erster Linie handelt es sich bei Let’s Encrypt um eine sogenannte Certificate Authority (zu Deutsch: Zertifizierungsstelle). Das bedeutet, dass Let’s Encrypt SSL Zertifikate ausstellen kann. Diese Zertifikate werden benötigt um Ihre Seite und die Kommunikation zwischen Server und Nutzer zu verschlüsseln. Der offensichtlichste und interessanteste Aspekt ist, dass Let’s Encrypt kostenlos ist. Gleichzeitig ist genau dieser Umstand der Grund für die Existenz der Zertifizierungsstelle da das Ziel des Projekts die Verbreitung von verschlüsselten Verbindungen im Internet ist. Das Motto von Let’s Encrypt lautet daher passender Weise „encrypt the entire web“. Let’s Encrypt wird von der Internet Security Research Group betrieben und durch Spenden finanziert. Namenhafte Förderer sind Mozilla, Google Chrome, Cisco, Akamai sowie die Electronic Frontier Foundation.
Um die Kosten des Projekts so niedrig wie möglich zu halten ist die Erstellung der Zertifikate komplett automatisiert. Erstellt werden daher lediglich sogenannte Domain Validation Zertifikate. Let’s Encrypt wird in absehbarer Zukunft keine anderen Zertifikate anbieten, weil deren Ausstellung zu aufwendig für das überschaubare Team wäre.
Variante 1: SSL auf dem eigenen Server einrichten
Wenn Sie Ihren eigenen Server besitzen und daher Shell Zugriff besitzen können Sie SSL selbst installieren. Wir empfehlen dafür die Nutzung von Certbot. Das Tool stammt von der EFF die wie oben erwähnt direkt als Förderer von Let’s Encrypt auftritt. Auf der Webseite von Certbot können Sie im Dropdown Menü die Software sowie das System Ihres Servers auswählen. Danach öffnet sich eine passende Anleitung für Ihre Konfiguration. Als Beispiel zeigen wir Ihnen die Installation unter Nginx und Ubuntu 17.10:
Installieren Sie Certbot mithilfe der folgenden Command die Sie im Root-Verzeichnis Ihrer Shell-Applikation eingeben sollten:
- $ sudo apt-get update
- $ sudo apt-get install software-properties-common
- $ sudo add-apt-repository ppa:certbot/certbot
- $ sudo apt-get update
- $ sudo apt-get install python-certbot-nginx
Certbot sollte jetzt auf Ihrem Server installiert sein. Um ein Zertifikat für Ihren Server zu erhalten und automatisch einzurichten nutzen Sie jetzt den Befehl $ sudo certbot –nginx. Ihr Server besitzt jetzt ein gültiges Zertifikat und ist für die Nutzung von https eingerichtet. Wie üblich besitzt Ihr Let’s Encrypt Zertifikat eine Laufzeit von 3 Monaten. Certbot führt eine automatische Verlängerung vor dem Ablauf durch. Sie sollten diese Funktion mithilfe des Befehls $ sudo certbot renew –dry-run überprüfen. Achten Sie darauf, dass die weiteren Anpassungen die im Artikel folgen ebenfalls umgesetzt werden sollten.
Variante 2: Let’s Encrypt über den Hoster nutzen
Deutlich einfacher ist die Verschlüsselung mit Let’s Encrypt wenn der eigene Webhoster dieser Option im Backend anbietet. Beispielhaft haben wir uns die Einrichtung Mal bei All-Inkl angesehen. Hierfür müssen Kunden das KAS (Kunden-Administrations-System) besuchen. Sie finden die Login Daten in der Bestätigungsmail. Klicken Sie jetzt in der linken Sidebar auf Domain. Hier finden Sie eine vollständige Auflistung der mit Ihrem Paket verbundenen Domains. Suchen Sie die Domain heraus die Sie verschlüsseln möchten und klicken Sie rechts unter Aktion auf das linke Icon „Bearbeiten“. Im unteren Drittel der Seite finden Sie den Punkt SSL Schutz. Klicken Sie auch hier auf „Bearbeiten“. Hier haben Sie jetzt die Möglichkeit ein bestehendes SSL Zertifikat einzubinden oder ein eigenes Zertifikat per CSR Generator bzw. per Let’s Encrypt zu generieren. Da das Zertifikat des CSR Generators von keiner CA stammt führt die Einbindung des Zertifikats zu einer Fehlermeldung. Wählen Sie daher rechts Let’s Encrypt. Akzeptieren Sie den Haftungsausschluss und klicken Sie auf den Button darunter.
Ihr Zertifikat wird jetzt erstellt und eingebunden. Auf der darauffolgenden Seite können Sie den Unterpunkt SSL erzwingen auf „Ja“ ändern um direkt alle Besucher auf die sichere Version Ihrer Seite zu leiten. Die nächsten Schritte unseres Tutorials sollten Sie trotzdem ausführen um Fehler zu vermeiden.
Besucher per .htaccess umleiten
Ihre Webseite ist jetzt in der Lage die Kommunikation per SSL zu verschlüsseln. Allerdings funktioniert das momentan nur wenn der Nutzer direkt auf die https-Version Ihrer Seite zugreift. Sie sollten daher dafür sorgen, dass Ihre Besucher direkt auf die sichere Seite weitergeleitet werden. Dafür müssen Sie die sogenannte .htaccess Datei bearbeiten und eine 301-Weiterleitung (Permanente Weiterleitung) einrichten. Änderungen an der .htaccess Datei können zu schwerwiegenden Fehlern führen. Erstellen Sie daher unbedingt ein Backup der Datei bevor Sie Änderungen durchführen und überprüfen Sie die korrekte Funktion sofort. Um eine Weiterleitung von der unsicheren http auf die sichere https Variante Ihrer Website umzusetzen fügen Sie folgenden Code ganz oben in Ihrer .htaccess Datei ein. Sie finden die Datei normalerweise im Root-Ordner Ihrer Website.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Für die Bearbeitung Ihrer Datei können Sie entweder den normalen Editor Ihres Betriebssystems, die Bearbeitungsfunktion Ihres FTP-Servers oder andere Programme wie Notepad++ verwenden. Speichern Sie die Datei und achten Sie auf die korrekte Benennung. Ersetzen Sie jetzt die bestehende .htaccess Datei auf Ihrem Webspace oder Server. Löschen Sie im Zweifelsfall den Cache Ihrer Webseite und überprüfen Sie die Funktion des Codes indem Sie eine http-Version der Seite aufrufen. Wenn Sie automatisch auf eine sichere Seite weitergeleitet werden funktioniert die Umleitung korrekt.
Weitere Anpassungen
Um sich unnötige Arbeit zu ersparen sollten Sie die SSL-Verschlüsselung so früh wie möglich umsetzen. So sorgen Sie dafür, dass Ihre interne Verlinkung nicht mit der veralteten http-Struktur umgesetzt wird. Suchmaschinen wie Google haben kein Problem mit einmaligen 301-Weiterleitungen. Ein Problem stellen allerdings sogenannte Redirect-Ketten dar. Eine erweiterte Form dieses Problems ist das Verlinken auf veraltete Versionen Ihrer Seite die dann erst weitergeleitet werden. Anders gesagt: Sie sollten dafür sorgen, dass alle Links die Sie noch beeinflussen können, auf die https-Version Ihrer Webseite führen. Je nachdem welches System Sie für Ihre Webseite verwenden gibt es für die Umsetzung dieser Änderungen einfache bis weniger komfortable Lösungen. Die Nutzung eines Analyse-Tools wie Seobility oder den Ahrefs Site Audit machen die Anpassungen auf jeden Fall deutlich einfacher, weil sie in der Lage sind problematische Verlinkungen übersichtlich darzustellen.
Better Search Replace bei WordPress
WordPress Nutzer sollten auf das Better Search Replace Plugin zugreifen. Hiermit lassen sich die meisten nötigen Änderungen automatisch tätigen. Nach der Installation finden Sie das Tool unter Werkzeuge. Geben Sie im Feld „Suche nach“ jetzt die alte URL-Struktur Ihrer Webseite, im Zweifelsfall inklusive www-Präfix, an also zum Beispiel http://www.ihre-domain.de/. Darunter ersetzen Sie das http jetzt mit https: https://www.ihre-domain.de/. Darunter wählen Sie alle Tabellen aus und achten darauf, dass der Haken bei „Groß- und Kleinschreibung ignorieren“ gesetzt und bei „Auch GUIDs ersetzen“ nicht gesetzt ist. Sie können im Zweifelsfall einen Testlauf durchführen um zu sehen wie viele Änderungen durchgeführt werden. Wenn Ihnen keine Unstimmigkeiten auffallen starten Sie den Suchen und Ersetzen Prozess. Innerhalb von wenigen Sekunden werden jetzt die veralteten Verlinkungen geändert.
Unsichere Inhalte unter https
Auch wenn Sie ein gültiges Zertifikat besitzen kann es sein, dass Ihr Browser Ihre Seite als unsicher kennzeichnet. Eine mögliche Ursache dafür sind sogenannte unsichere Inhalte (auch Mixed Content genannt) unter https. Das sind externe Medien oder Ressourcen die über http also eine unsichere Verbindung geladen werden und auf Ihrer Seite eingebunden sind. Welche Bilder das sind können Sie in Chrome über die Entwicklertools herausfinden. Klicken Sie auf Ihrer Webseite mit der rechten Maustaste und wählen Sie Untersuchen. Rechts finden Sie dann den Tab „Security“ und im unteren Bereich den Punkt Resources – oder in Ihrem Fall Mixed Content. Per Klick auf „View requests in Network Panel“ werden die Medien angezeigt die unsicher geladen werden. Nun müssen Sie nur noch im Quelltext Ihrer Seite nach der Datei suchen. Oftmals reicht es die entsprechende URL in https umzuändern. Prüfen Sie davor aber ob das jeweilige Medium eine SSL-verschlüsselte Version anbietet, da es sonst zu Fehlern kommen kann. Falls das verlinkte Medium keine SSL-Version besitzt, Sie aber die Erlaubnis haben beispielsweise ein Bild zu verwenden, können Sie die Datei auch auf Ihrem eigenen Server hochladen und intern verlinken.