WordPress auf HTTPS (SSL-Verschlüsselung) umstellen

Sicher ist sicher. Daher rät sich eine Umstellung aller WordPress Webseiten auf die SSL-Verschlüsselung (möglichst TLS 1.2) über das verschlüsselte Protokoll HTTPS. Durch dieses Verfahren werden Daten verschlüsselt und sicher (durch Datenintegrität und Authentifizierung) übertragen. Ein nicht zu unterschätzender Fakt: Auch Suchmaschinen bevorzugen diese Verschlüsselung bei ihrem Ranking.

Vorbereitung

Vor der Umstellung benötigt man ein digitales SSL Zertifikat. Ist dieses Zertifikat auf dem Server eingebunden und hinterlegt (diese Thema ist einen extra Beitrag wert), kann die Webseite auf HTTPS (HyperText Transfer Protocol Secure) umgestellt werden.

Ein Tipp für ein freies und offenes Zertifikat ist Let’s Encrypt, was sich derzeit in der Beta-Phase befindet und dennoch bereits über eine Million Zertifikate afür über 2,4 Millionen Domains ausgestellt hat.

Let’s Encrypt is a free, automated, and open certificate authority brought to you by the Internet Security Research Group (ISRG).

WordPress auf HTTPS umstellen

Folgende Schritte (die noch verfeinert und ausgebaut werden können) sollten bei der Umstellung von WordPress auf HTTPS befolgt werden.

1) URLs und interne Links umstellen

Zum Umstellen aller URLs und internen Links, die auf HTTPs zugreifen sollen, können die Datenbank-Einträge angepasst werden. Dies ist auch manuell in den einzelnen Beiträgen, Widgets und Menüs sowie in den Einstellungen (im Backend unter Einstellungen > Allgemein: WordPress- und Website-Adresse) möglich.

Über die MySQL-Datenbank kann folgender SQL-Code verwendet werden. Vorsicht! Vorab ein Backup erstellen.

Hinweis: Bei Multisite-Installationen müssen zusätzlich alle Unterseiten mit angepasst werden.

Bei internen Bilddateien, z.B. im Theme, Shortcodes oder Widgets, empfiehlt sich die Umstellung der Pfade ohne Protokoll (also ohne http:// oder https://) anzugeben, was dann folgende Struktur aufweist:

2) HTTPs erzwingen und weiterleiten

Nach der Umstellung auf HTTPS ist das anschließende Erzwingen dieses Protokolls sehr wichtig, da ansonsten die Webseite ebenfalls noch über das unverschlüsselte Protokoll HTTP erreicht werden kann. Gleichfalls würde bei den Suchmaschinen ein doppelter Inhalte (zwei URLs mit selben Inhalte) erzeugt werden.

3) URLs und Links prüfen

Wichtig ist das Prüfen aller Links und neuen URLs! Werden alle Seiten korrekt und verschlüsselt übertragen und ist das kleine grüne Schloss in der Browser-Adresszeile zu sehen? Wenn nicht, sind meist nicht alle Dateien auf HTTPS umgestellt.

Abschließend sollten die Suchmaschinen einen Hinweis auf die Umstellung auf die neuen URLs erhalten. Dies kann bspw. über die sitemap.xml oder die Webmastertools passieren.

Google empfiehlt zusätzlich:

Verwenden Sie einen Webserver, der HTTP Strict Transport Security, kurz HSTS, unterstützt, und vergewissern Sie sich, dass diese Option aktiviert ist. HSTS weist den Browser an, Seiten automatisch über HTTPS anzufordern, auch wenn der Nutzer http in die Adressleiste des Browsers eingibt. Gleichzeitig wird Google aufgefordert, sichere URLs in den Suchergebnissen anzuzeigen. Durch diese Maßnahmen wird das Risiko minimiert, dass Nutzer unsichere Inhalte erhalten.

Tipp: Webhoster all-inkl.com unterstützt Let’s Encrypt-Zertifikate

Alle Tarife mit SSL-Erweiterung unterstützen ab sofort die Einbindung von kostenlosen „Let’s Encrypt“-Zertifikaten. Hierfür gibt es im Punkt „Domain bzw. Subdomain bearbeiten“ unter „SSL Schutz: bearbeiten“ einen weiteren Menüpunkt „Let’s Encrypt“. Dort lässt sich mit einem einzigen Klick das Zertifikat für die jeweilige Sub-/Domain beziehen, welches vom System etwa 30 Tage vor dem Ablaufen automatisch erneuert wird. Bitte beachten Sie, dass sich das „Let’s encrypt“-Projekt derzeit noch in der offenen Testphase befindet.
08.04.2016 08:00 – Unterstützung von Let’s Encrypt-Zertifikaten

Quellen und Links

WordPress Login wp-login.php schützen und verstecken

Um sich mit WordPress vor hartnäckigen Brute Force Attacks zu schützen, ist es eine effektive Lösung das WordPress-Login und dem direkten Zugang unter wp-login.php zu verstecken.

Problem:

Standardmäßig findet sich das WordPress Login bei jeder normalen Installation unter domain.tld/wp-login.php. Dies ist für einen Angreifer natürlich ein gefundenes Eingangstor und sie müssen sich lediglich um den Benutzernamen (kann relativ einfach gefunden werden) und das Passwort (mit viel Rechenleistungen ist auch dies knackbar) kümmern. Etwas sportlich formuliert, steht dann das Backend offen.

Lösung:

Um jetzt das Eingangstor zu verlegen, könnt ihr das kostenfreie WordPress Plugin WPS Hide Login verwenden. Dieses unterbindet den direkten Zugriff auf den /wp-admin/ und die Login-Datei wp-login.php und leitet auf eine gewünschte Alterativadresse um. Dazu könnt ihr im Backend unter Einstellungen > Allgemein einen neuen Pfad angeben, z.B. domain.tld/mein-backend-zugang/.

Fertig und vor allem sehr schnell erledigt!

Sehr praktisch: Das Plugin WPS Hide Login ist auch Multiuser-tauglich und somit auch für größere WordPress-Netzwerke zu verwenden.

Wichtig:

  1. Ihr solltet euch unbedingt den neuen Pfad merken, ansonsten findet ihr selbst den Weg ins Backend nicht mehr. Alternativ könnt ihr natürlich in der Datenbank nachschauen.
  2. Bei einer ersten Installation solltet ihr ggf. den Cache ausreichen leeren (z.B. beim W3 Total Cache), um auch den neuen Pfad zum WordPress Login zu erreichen.
  3. Nicht zu unterschätzen: Neben diesem Plugin solltet ihr weitere Sicherheitsmaßnahmen (allen voran sichere Passwörter!) verwenden.

Quellen und Links