SSL auf einer Seite mit iThemes Security reparieren

In einer Facebook-Gruppe hatten wir vor ein paar Wochen eine knifflige Frage, die gar nicht einfach zu Lösen war. Ein Mitglied hatte eine Seite auf HTTPS umgestellt. Nach der Migration wurden einige Bilder nicht mehr geladen. Zuerst haben wir die üblichen Fragen gestellt, etwa nach dem Suchen/Ersetzen der URL in der Datenbank. Das wurde aber alles korrekt getan und trotzdem wurden einige Bilder nicht angezeigt.

Falsche Domain im SSL Zertifikat

Ich habe mit die Seite als Besucher also mal näher eingesehen und dabei auch das Zertifikat geprüft. Dabei ist mir aufgefallen, dass es für die .com TLD ausgestellt war, einige Bilder aber über die .de TLD ausgeliefert wurden. Zuerst habe ich vermutet, dass einige Pfade im Theme statisch sind. Ich habe also darum gebeten, mit mal die Dateien functions.php und header.php zu schicken. Die sahen aber ganz normal aus und ich konnte auch keine statischen Pfade erkennen.

Die falsche Einstellung in der Konfiguration finden

Ich war nun etwas verwundert, wie es dazu kommen konnte, dass einige Dateien von der richtigen TLD ausgeliefert wurden, andere aber von der falschen. Aber dann kam mit eine Idee. Ich habe vorgeschlagen, mal in die wp-config.php zu sehen, ob es dort eine Konstante WP_CONTENT_URL gibt. Und tatsächlich, die Konstante war definiert und zeigte auf die falsche Domain. Die wp-config.php sah in etwa wie folgt aus:

<?php define( 'WP_CONTENT_DIR', '/var/www/example.com/my-content' ); // Nicht Entfernen. Das Entfernen dieser Zeile könnte deine Website zerstören. Hinzugefügt von Sicherheit > Einstellungen > Content-Verzeichnis ändern.
define( 'WP_CONTENT_URL', 'http://example.com/my-content' ); // Nicht Entfernen. Das Entfernen dieser Zeile könnte deine Website zerstören. Hinzugefügt von Sicherheit > Einstellungen > Content-Verzeichnis ändern.

// BEGIN iThemes Security - Do not modify or remove this line
// iThemes Security Config Details: 2
define( 'DISALLOW_FILE_EDIT', true ); // Disable File Editor - Security > Settings > WordPress Tweaks > File Editor
// END iThemes Security - Do not modify or remove this line

Nachdem ich diese Zeilen gelesen hatte wurde mir bewusst, dass auf der Seite das beliebte Security-Plugin iThemes Security installiert war, das tausende von Seiten verwenden. Die Problematische Einstellung findet man unter „Sicherheit > Einstellungen > Erweitert > Content-Verzeichnis ändern“. Wenn man hier den Ordner wp-content umbenennt, wird die wp-config.php entsprechend angepasst. Wenn man dann aber später auf SSL umstellt, wird diese Einstellung leider nicht auf die neue Website-URL geändert.

Den Fehler beheben

Das iThemes Security Plugin hat noch eine weitere Einstellung mit der Bezeichnung „SSL“. Wenn man diese aktiviert, wird zwar SSL für Frontend und Backend erzwungen, aber es werden dabei nur die beiden neuen Konstanten FORCE_SSL_LOGIN und FORCE_SSL_ADMIN zur wp-config.php hinzugefügt. Die Konstante WP_CONTENT_URL wird leider nicht aktualisiert. Man muss sie also manuell anpassen.

Fazit

Die Verwendung eines Sicherheits-Plugins ist nicht unbedingt eine schlechte Idee. Man muss sich aber bewusst sein, dass es manchmal gerade durch deren Benutzung zu Problemen kommen kann. Bei der hier erwähnten Einstellung wird auch in drei roten Boxen auf die möglichen Gefahren hingewiesen. Dennoch gibt es viele Anwender, die einfach blind den diversen Online-Tutorials zum Absichern von WordPress folgen. Sie aktivieren dabei auf Einstellungen, die sie für sinnvoll halten, deren Auswirkungen sie aber nicht kennen. Ich habe sogar Seiten gesehen, die gleichtzeitig zwei Sicherheits-Plugins einsetzten. Dass man bei solchen Installation dann sehr schnell Probleme bekommt, sollte niemanden wundern.

Ich selbst nutze auf meinen Seiten keine Sicheheits-Plugins aktiv. Ich verwalte nur zwei Seiten, die solche Plugin einsetzen (eines davon auch iThemes), aber ich würde sie dennoch nicht an unerfahrene Nutzer weiterempfehlen. Gerade die Einstellung zum Ändern des wp-content Ordners kann potentiell zu vielen Problemen führen. Gleichzeitig hat die Einstellung kaum Auswirkungen auf die Sicherheit der Seite. Im schlimmsten Fall verhindert es sogar effektive Sicherheitsmechanismen, wie die Blockierung zur Ausführung von PHP-Skripten im wp-content/uploads Ordner. Wenn man die Einstellung „PHP in Uploads“ in iThemes aktiviert und dann den Ordner wie zuvor ändert, dann wird auch hier die Ausführung von „PHP in Uploads“ nicht aktualisiert und der Schutz ist weg. Das ist schon ziemlich enttäuschend. Man muss also erst den Ordner ändern und dann die anderen Einstellungen aktivieren.

Das nächste man, wenn ihr also ein Sicherheits-Plugin einsetzt, informiert euch bitte genau über die Einstellungen, bevor ihr sie aktiviert. Und wenn es große roten Warnhinweise gibt, dann lasst die Einstellung vielleicht einfach lieber deaktiviert 🙂

Veröffentlicht von

Bernhard ist fest angestellter Webentwickler, entwickelt in seiner Freizeit Plugins, schreibt in seinem Blog über WordPress und andere Themen, treibt sich gerne bei den WP Meetups in Berlin und Potsdam herum und läuft nach Feierabend den ein oder anderen Halbmarathon.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert