HTTPS ist inzwischen Standard im Internet. Das gilt natürlich auch für Webseiten auf WordPress Basis. In diesem Artikel zeigen wir daher, wie man WordPress auf die sichere, verschlüsselte HTTPS Verbindung umstellt, welche SSL Zertifikate es gibt, woher man ein SSL Zertifikat bekommt und was man sonst noch beachten muss.
Inhaltsverzeichnis
Was ist eigentlich ein SSL Zertifikat?
SSL steht für Secure Socket Layer. Hierbei handelt es sich um ein Protokoll, welches vorgibt, inwieweit Privatsphäre, Authentifizierung und Integrität bei der Kommunikation im Internet gewährleistet ist. Der Begriff SSL wurde 1994 von Netscape ins Leben gerufen, ist aber mittlerweile veraltet. Der Name SSL wird aber trotzdem noch weiterverbreitet verwendet, und tritt dementsprechend in Artikeln und Anleitungen immer wieder auf.
Die neue Bezeichnung für SSL lautet TLS und steht für Transport Layer Security. Der Name hatte sich ergeben als das Protokoll nicht mehr von Netscape entwickelt wurde. Die Internet Engineering Task Force (IETF) hat nun übernommen und bereits mit dem ersten Update die Umtaufung vorgenommen.
Trotz dieser unterschiedlichen Namensgebung, unterscheiden sich beide Protokolle nicht, sondern TLS baut auf SSL auf und ist demnach ein Nachfolger. Seit 1999 verwendet man nur noch das TLS Protokoll, welches in der aktuellen Version 1.3 seit 2018 verfügbar ist. Im Folgenden sprechen wir von SSL/TLS-Zertifikat und -Protokoll um die inkonsistente Verwendung der Namen zu vereinheitlichen.
Verschlüsselung
Das SSL/TLS Protokoll beschreibt auf technischer Ebene die Verschlüsselungsweise, um den Austausch im Internet zu sichern. Der Austausch zweier Endpunkte wird in zwei Aktionen eingeteilt: TLS Handshake und TLS Record. Grob erklärt findet beim TLS Handshake zwischen den beiden Punkten ein Schlüsselaustausch und zusätzlich die Authentisierung statt. Beim TLS Record werden die Schlüssel miteinander ausgetauscht, um die Authentizität zu gewährleisten. Der Webserver sendet dabei auch sein Zertifikat mit. Dem Client, dies kann entweder der Browser oder das Betriebssystem sein, ist es dann möglich mithilfe von bereits hinterlegten Einträgen die Autorisierungsstelle des Zertifikats zu bestimmen und authentifizieren.
Woher bekomme ich ein SSL/TLS Zertifikat?
Zertifikate werden von ausgewählten Zertifizierungsstellen vergeben. Diese Zertifizierungsstellen erhalten ihre Erlaubnis durch die Certification Authority Authorization (CAA). Es gibt eine Reihe bekannter Stellen, beschränken uns in unserer Auflistung aber auf einige wenige:
- Let’s Encrypt
- DigiCert
- Symantec
- Cloudflare
- Sectigo
Welche Art von SSL/TLS Zertifikaten gibt es?
Je nach Anwendungsfall können verschiedene Zertifikatstypen gewählt werden. Doch welcher Typ eignet sich für welche Domain?
- Single-Domain
Dieses Zertifikat findet Anwendung bei einzelnen Domains, welche keine weiteren Subdomains besitzen. Beispielsweise www.cloudflare.com oder www.agentur-kreativdenker.de. Deswegen eignen sich diese Zertifikate für WordPress-Blogs oder Webseiten, die keine weiteren Unterseiten oder -anwendungen benötigen. - Wildcard
Hierbei handelt es sich ebenfalls um ein Single-Domain-Zertifikat, lässt aber auch Subdomains zu. So lässt sich neben der Hauptdomain www.cloudflare.com auch blog.cloudflare.com mit diesem Zertifikatstyp zertifizieren. Wichtig ist hierbei, dass nicht alle Subdomains beim Ausstellen des Zertifikats angegeben werden müssen. Es kann einfach gesagt werden, dass das Zertifikat für alles, was beispielsweise unter *.cloudflare.com läuft, gültig ist. - Multi-Domain
Dieser Zertifikatstyp wird verwendet, wenn mehrere unterschiedliche Domains zertifiziert werden sollen. So lässt sich dies beispielsweise nutzen, um einzelne Domains unter einem Zertifikat zusammenzufassen. Dadurch muss nicht für jede Domain einzeln ein Zertifikat erstellt werden und die Anzahl an zu erneuernden Zertifikaten wird verringert. Dabei ist es Webseitenbesuchern jedoch auch möglich, alle anderen hinterlegten Domains einzusehen.
Welche Validierungslevel gibt es?
SSL/TLS Zertifikate besitzen auch verschiedene Arten der Validierung. Diese Level werden genutzt um für unterschiedliche Webseiten und Webanwendungen unterschiedliche Zertifizierungen zu ermöglichen. So muss beispielsweise ein Blog nicht dieselben Anforderungen erfüllen wie die Webseite eines E-Commerce-Shops oder einer Bank.
- Domain-Validierung
Webseitenbetreiber können diese Validierungsart für alle Webseitentypen verwenden. Hierbei handelt es sich um die einfachste, aber auch unsicherste Validierungsart. Blogs und Webseiten die nicht mit persönlichen Daten im kommerziellen Gebrauch arbeiten profitieren von diesem einfachen Validierungstypen. Hier wird von der Zertifizierungsstelle nur ein Beweis für den Besitz der Domain verlangt. - Organization Validation
Bei dieser Validierung nimmt die Zertifizierungsstelle Kontakt mit den Webseitenbetreibern auf und stellt sicher, dass die angegebene Firma oder Organisation auch wirklich legitim ist. Dadurch wird eine höhere Sicherheit gewährleistet, weshalb sich dieser Zertifikatstyp bereits eignet, sobald Webseiten kommerziell personenbezogenen Daten verarbeiten. - Extended Validation
Der strengste Validierungstyp setzt auch den Handelsregistereintrag und Sitz des Unternehmens oder Vereins voraus. Vor allem Banken und Regierungen verwenden diese Art von Zertifizierung für ihre Webseiten.
Ein SSL/TLS Zertifikat auf der WordPress-Webseite installieren
Die eigene WordPress-Webseite mit einem SSL/TLS Zertifikat zu versehen ist in wenigen Schritten erledigt. Mit den folgenden Hinweisen ist die Webseite schnell einsatzbereit. Zuerst muss jedoch das SSL/TLS Zertifikat in den Webservereinstellungen konfiguriert werden. Da die Authentifizierung immer vom Webserver aus vorgenommen wird, ist dieser Schritt je nach verwendetem Webserver oder Anwendung unterschiedlich. Für nginx oder Apache gibt es viele Tutorials, welche den Prozess im Detail beschreiben. Wird ein Service wie Cloudflare oder ein Webhoster verwendet, bietet dieser oft im Administrationsbereich die Möglichkeit, ein Zertifikat zu konfigurieren.
Glossar: Was ist Apache?
Ist dieser Schritt getan, empfiehlt es sich, WordPress mit den folgenden Schritten zu optimieren. Wir empfehlen das Erstellen eines Backups, bevor die Installation des Zertifikats vorgenommen wird. Da es sich hier um einen weitreichenden Eingriff in die Konfiguration handelt, kann es durchaus passieren, dass mal etwas schiefgeht.
- Anpassung der Datenbank
In der WordPress-Datenbank sind die „Haupt-URLs“ des Systems festgelegt. Konkret in der Tabelle „wp_options“ in WP_HOME und WP_SITEURL. Dort muss die URL von http://www.agentur-kreativdenker.de auf https://www.agentur-kreativdenker.de angepasst werden. Damit ist der erste Schritt getan. Das WordPress Backend sowie die das Frontend sind über HTTPS aufrufbar.
- Search & Replace
Alle Assets der Webseite, wie z.B. Bilder im Content oder PDF Dateien, sind noch via HTTP verlinkt. Das sorgt dafür, dass trotz HTTPS und SSL eine unsichere oder eingeschränkte Verschlüsselung entsteht. Um dies zu beheben, muss ein „Search and Replace“ in der Datenbank erfolgen. Einfach gesagt: Es müssen alle internen Links von http auf HTTPS angepasst werden. Da dies ziemlich mühsam wäre, gibt es hierfür die Möglichkeit via phpmyadmin oder über das WordPress Plugin „Better Search Replace“. Ganz wichtig: Spätestens vor diesem Schritt sollte ein Datenbank-Backup erstellt werden! - .htaccess bearbeiten
Zu guter Letzt muss dafür gesorgt werden, dass alle Anfrage an die Webseite auch wirklich auf der HTTPS Verbindung landen. Dazu ist es erforderlich, mittels Redirects von http auf HTTPS umzuleiten. Teilweise bieten Webhoster diese Option direkt bei der Konfiguration des Zertifikats. Falls nicht, würde der Redirect auf Apache Webservern wie folgt aussehen:
# HTTP TO HTTPS # <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
Bedeutet SSL/TLS-Verschlüsselung hundertprozentige Sicherheit?
Leider nein. Auch Phishing-Webseiten können SSL/TLS-Zertifikate erwerben, da allein die Domain-Validierung ausreicht um die Sicherheit einer Webseite zu „beweisen“. Deswegen sollte sichergestellt werden, dass vor allem bei sehr sensiblen Daten, wie beispielsweise Bankdaten, die Webseite der Bank mindestens die Organization-Validation verwendet. Auch Certificate Pinning ist im App-Kontext ein hilfreicher Weg, um Angriffe zu vermeiden. Da die Verschlüsselung nur zwischen zwei Punkten gewährleistet werden kann, gibt es potenziell Sicherheitslücken, sobald mehrere Punkte durchlaufen werden. Dies kann beispielsweise bei Microservices auftreten, bedeutet aber nicht gleichzeitig, dass solche Anwendungen nicht gesichert werden können. Es bedarf lediglich etwas mehr Aufwand.
Auch ist die HTTPS Verbindung natürlich kein Schutz gegen klassische Hacker-Angriffe auf die Webseite selbst. Nur weil die Verbindung zur Webseite verschlüsselt ist, können Angreifer über Sicherheitslücken in Scripten weiterhin Schadcode einschleusen und Webserver kompromittieren. Dennoch ist HTTPS natürlich ein Zugewinn hinsichtlich der Sicherheit, da die Verbindung z.B. beim Login verschlüsselt ist. Die WordPress-Sicherheit selbst, wird damit aber nicht wirklich bzw. nur indirekt verbessert. Von einer „Absicherung“ kann also nicht die Rede sein.
Vorteile von HTTPS / SSL
Nebst der Sicherheitsvorteile von HTTPS und SSL gibt es noch einige weitere Nutzen. So ist für Google die HTTPS Verbindung inzwischen zum „Standard“ geworden, weshalb aus Sicht der Suchmaschinenoptimierung (SEO) die Nutzung von HTTPS einen Vorteil verschaffen kann. Darüber hinaus ist mit HTTPS auch die Protokollversion HTTP/2 möglich, was für bessere Ladezeiten der Webseite sorgt. Nicht zu vergessen ist zudem der „Trust“-Faktor: Eine Webseite mit „grünem Schloss“-Symbol macht einfach einen besseren Eindruck bei Nutzern oder (potenziellen) Kunden.
Zusammenfassung – SSL/TLS Zertifikate
SSL ist der Vorgänger von TLS. Der Begriff wird jedoch als Synonym für den heutigen Stand des Protokolls verwendet. SSL/TLS Zertifikate sind wichtige Bestandteile des Webs, welche für die Integrität und Sicherheit des Datenaustausches dienen. Je nach Verwendungszweck der Webseite können unterschiedliche Zertifizierungsebenen verwendet werden. Dadurch entsteht ein geringerer Aufwand, wenn nur ein WordPress-Blog veröffentlicht wird. Gleichzeitig kann dadurch Sicherheit für Banken und staatliche Institutionen in ihrer Internetpräsenz gewährleistet werden. Ein Zertifikat für seine Webseite zu erwerben und dann zu installieren ist dank unserer Tipps ganz einfach und schnell erledigt.
Weitere Fehler(meldungen) und Lösungen
- NET::ERR_CERT_AUTHORITY_INVALID Fehler beheben
- ERR_TOO_MANY_REDIRECTS – Was ist zu tun?
- WordPress: 500 Internal Server Error finden & beheben
- WordPress: Fehler „Error Establishing Database Connection“ beheben
- 405 Method Not Allowed Error – Fehler beheben
- HTTP Error 503 (Service Unavailable) beheben
- HTTP Error 404 Not Found: Wie behebe ich den Fehler?
- HTTP Error 502 Bad Gateway: Wie behebe ich den Fehler?