Herzlich willkommen!
WordPress sicher machen  – Teil 2

WordPress sicher machen – Teil 2

Aus aktuellem Anlass schreibe ich zum Thema WordPress sicher machen – hier geht es zum Teil 1 – einen weiteren Eintrag. Dieser erfordert einiges an Kenntnissen rund um die Dateistruktur ihres Werbeauftrittes.

Der Auslöser war eine von mir unterhaltene Webseite, die über mehr als 2 Wochen lang regelmässigen Login-Versuchen standhalten musste. Dabei wurden ca. all 1-2 Stunden zwei Login-Versuche abgesetzt. Da die verwendeten Benutzernamen nicht mit meinen Benutzernamen in WordPress übereinstimmten, hat es mich anfangs auch nicht sonderlich gestört. Allerdings hatte ich jeden Tag an die 30 Mails vom PlugIn das mir die fehlerhaften Anmeldungen umgehend zustellte. Es fing also gewaltig an zu nerven!

Neben einem reCAPTCHA habe ich auch den Admin Login-Pfad ein weiteres Mal geändert. Alles erfolglos und ich ahnte dass dieser Angreifer eine andere Technik zum Angriff nutzte.

Wie ich dem Problem Herr wurde habe ich nun hier zusammengefasst:

Vorbereitungen

Viele Provider bieten im Admin-Center des Webhosting einen Verzeichnis-Schutz an. Dieser ist allerdings sehr allgemein gehalten und hat in meinem Fall dazu geführt, dass auch beim aufrufen der Webseite das PopUp aufgegangenen ist. Also habe ich den wieder gelöscht und mich für die Handarbeit entschieden.

Folgende Vorbereitungen sind nötig:

  • Sie sollten wissen wie ihre WordPress Installation aufgebaut ist um zu eruieren wo Sie die “.htaccess” Datei platzieren. 
  • Weiter müssen Sie Wissen wie der genaue Pfad in ihrem webhosting lautet. Dazu nutze ich ein einfaches PHP-Script.
  • Sie brauchen die Datei “.htaccess” in der der Verzeichnis-Schutz definiert wird. In der Datei ist auch der Pfad auf die Passwort-Datei hinterlegt.
  • Sie brauchen eine Datei “.htpasswd“. Darin befindet sich verschlüsselt der Benutzername und das Passwort.

Wo befindet sich die WordPress Installation

Zuerst wird die WordPress Installation analysiert. Dazu gehe ich mit einem FTP Tool auf die Verzeichnisstruktur meines Web-Speicherplatzes.

Ich nutze sehr gerne nach der Domain einen Ordner* den ich dann “portal” oder “extranet” nenne. Im Ordner “portal” ist dann die eigentliche WordPress Installation.

Das heisst die “.htaccess” Datei kommt in den Ordner “portal”.

* Mit dieser Methode kann ich Jahre später in einem anderen Ordner einen neuen Web-Auftritt erstellen während am Tag X nur die Umleitung in den neuen Ordner erfolgt.

Wie lautet der Pfad zur WordPress installation

Wenn klar ist wo die “.htaccess” Datei gespeichert werden wird, kopiere ich eine Datei in den selben Ordner. In meinem beispiel dem Ordner”portal”.

Die Datei nenne ich “pfad.php” undkopiere folgende 3 Zeilen hinein:

<?php
  echo $_SERVER["DOCUMENT_ROOT"]
?>

Diese PHP Datei wird dann im Webbrowser aufgerufen (www.meine-seite.xx/portal/pfad.php). Nun kann ich den Pfad einfach kopieren.

Die .htaccess Datei

Wenn nun der Pfad bekannt ist rufen Sie die Webseite www.htaccesstools.com auf. Vergeben Sie der Login Box einen Namen (wird nicht bei jedem Browser angezeigt).

Anschliessend geben Sie den Pfad an den Sie vorher ausfindig gemacht haben. Lassen Sie den Dateiname “.htpasswd” stehen!

Klicken Sie nun auf “Create .htaccess file” um die Datei herunter zu laden. Speichern Sie die Datei anschliessend via FTP-Programm in den definierten Ordner (in meinem Fall eben der Ordner “portal”).

Die .htpasswd Datei

Zu guter letzt brauchen wir nun noch die eigentlich Datei für den Benutzername und das Passwort. Dazu gibt es auf der Webseite www.htaccesstools.com ebenfalls einen Generator.

Auch diese Datei wird heruntergeladen und in den gleichen Ordner wie die “.htaccess” Datei abgelegt.

Der Test

Wenn Sie nun die Webseite aufrufen werden Sie sehen, dass die Seite nur angezeigt wird wenn ein gültiger Benutzername das richtige Passwort eingegeben wird.

Sollte das Dialogfenster nach dem eingeben des Benutzernamens und es Passworts immer wieder erscheinen, stimmt entweder ihre Eingabe nicht oder etwas ist in der “.htaccess” Datei noch nicht in Ordnung.

Prüfen Sie die Dateien nochmals gründlich. Hier darf sich kein einziger Fehler einschleichen. keine unnötigen Leerschläge und die Gross- und Kleinschreibung ist essentiell.

Die .htaccess Datei verfeinern

Sie haben es schon gemerkt. So geht das natürlich gar nicht. Sie wollen den Besucher der Webseite ja nicht mit einer Passwort-Abfrage abschrecken.

Daher wollen wir nun die “.htaccess” Datei etwas spezifizieren. Eigentlich wollen wir ja nur den ungeschützten Aufruf der Datei “wp-login.php” die im selben Verzeichnis liegt verhindern.

Öffnen Sie nun also nochmals die “.htaccess” Datei in einem Texteditor und passen Sie diese folgendermassen an:

<Files wp-login.php>
AuthName "Protected Area"
AuthType Basic
AuthUserFile /var/www/vhosts/deine-domain.tld/.htpasswd
require valid-user
</Files>

Ersetzen Sie – ausser dem Pfad den wir ja schon erfolgreich getestet haben -alles in der Datei.

Wenn alles nichts nützt

Nun mein “Angreifer” lies sich leider auch nach all diesen Einstellungen nicht davon abhalten!!!

Meine Webseite wurde mit einem “WordPress XML-RPC-Exploit” angegriffen. Diesem wurde ich dann schliesslich endgültig Herr in dem ich die XMLRPC Zugriffe abgestellt habe.

Dazu habe ich in der “.htaccess” Datei folgenden Code hinzugefügt:

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

Seither ist Ruhe 🙂

Schreiben Sie einen Kommentar

Close Menu