WordPress ist immer wieder unter Hackerbeschuss. Vor allem der Loginbereich ist hier das Ziel, weil durch einen erfolgreichen Login das CMS für Angreifer völlig offen stehen kann. Den Login-Bereich kannst du relativ einfach blockieren oder auch für einzelne Personen freischalten: Per IP Adresse in der .htaccess. Wie das geht, erfährst du hier.
Inhaltsverzeichnis:
Wieso sollte man den WordPress Login per IP absichern?
Wer Zugriff auf das Dashboard von WordPress hat, hat alle Möglichkeiten das System zu verändern. Und auch damit Böses anzustellen. Daher sichert man die wp-login.php gerne ab. Die Methode, dass über die IP Adresse des Admins oder der Mitarbeiter zu machen, ist elegant und sinnvoll.
Wieso wp-login.php gegen Brute Force Attacken sperren?
Durch die extrem weite Verbreitung von WP ist das System natürlich ständigen Angriffen ausgesetzt. Automatisierte Systeme versuchen ins Dashboard zu gelangen und setzen dazu sogenannte „Brute Force Attacken“ ein. Hier wird in kürzester Zeit versucht mit sehr vielen systematischen Login-Eingaben das Sicherheitssystem zu knacken. Daher kann es Sinn machen entweder die Angreifer zu blockieren, wenn man die IP Adresse kennt (kann man z.B. über das Logfile des Servers auslesen) oder einfach nur eigene IP Adressen für den Login freizuschalten. Da Angreifer häufig IP Adressen wechseln, ist der Weg andersherum ggfs. erfolgversprechender.
Woher bekomme ich meine IP Adresse?
Die IP Adresse ist quasi die Hausnummer deiner Internetverbindung. Jedes Gerät mit Internetanschluss erhält vom Internetprovider eine IP Adresse, um eindeutig identifiziert werden zu können. Du kannst deine IP Adresse z.B. über wieistmeineip.de auslesen.
Dynamische IP Adressen im Homeoffice
Aber Achtung: Zu Hause erhalten die allermeisten Menschen nur dynamische IP Adressen, die sich regelmäßig ändern. Diese zu verwenden macht wenig Sinn im Sinne einer Absicherung des Logins. Die IP Adresse von heute ist morgen vielleicht veraltet und somit auch die Absicherung. Daher gilt diese Lösung eigentlich nur für Menschen mit festen IP Adressen. In Unternehmen ist das meistens gegeben.
/wp-login.php oder /wp-admin freischalten für bestimmte IP Adressen
Um den Loginbereich von WP per IP Adresse freizuschalten, musst du über einen FTP Zugang auf deinen Webspace und dort im Hauptverzeichnis der Installation die Datei .htaccess öffnen und bearbeiten. Dort fügst du einfach ganz oben folgende Direktive ein:
<Files wp-login.php> order deny,allow deny from all # IP Addressen für Login sperren allow from xx.xxx.xx.xx #allow from xx.xxx.xx.xx #allow from xx.xxx.xx.xx </Files>
Und hier nochmal, wie das in meinem Editor aussah:
xx.xxx.xx.xx tauscht du gegen die freizuschaltende IP Adresse aus. Du kannst auch mehrere IP Adressen angeben. Hier sind 2 von 3 Einträgen auskommentiert mit einem #. Über den Befehl Deny from all werden alle anderen abgewiesen.
Anschließend versuchst du dich mit dem Rechner mit der freigeschalteten IP Adresse einzuloggen. Wenn das klappt, versuchst du dich von einem Rechner oder Smartphone mit anderer IP Adresse einzuloggen. Du solltest nun eine „Forbidden“ Meldung in deinem Browser erhalten.
/wp-login.php oder /wp-admin sperren für bestimmte IP Adressen
Alternativ kannst du jedem den Zugriff erlauben, bis auf fest angegebenen IP Adressen. Hier zu sehen, dass das allow from all der Standard ist. Die deny Einträge darunter sind dazu da, Angreifer oder unerwünschte Besucher zu blockieren, von denen man die IP Adresse weiß:
<Files wp-login.php> order deny,allow allow from all # IP Addressen für Login sperren deny from xx.xxx.xx.xx deny from xx.xxx.xx.xx deny from xx.xxx.xx.xx </Files>
Das sah im Editor folgendermaßen aus:
Loginbereich in WP per Plugin absichern
Alternativ zur manuellen Methode lässt sich ein Login-Bereich auch über Plugins absichern. Hier wäre z.B. die hervorragende WP Firewall iThemes Security zu nennen, die ich sehr gerne einsetze bei meinen Kunden. Oder aber das Plugin Limit Login Attempts Reloaded. Hier lässt sich auch der komplette Loginbereich verstecken, so dass Angreifer gar nicht erst die URL des Logins kennen.
Prüfen, ob IP geschützte wp-login.php Probleme macht
Nachdem man die WordPress Website und ihren Login abgesichert hat, sollte man diese auf Herz und Nieren prüfen. Es gibt Plugins und Features, die auch für Besucher einen verfügbaren Loginbereich benötigen. Zum Beispiel, wenn sich die Kunden in einem Member-Bereich einloggen können sollen. Diese Websites im Login-Bereich abzusichern wird deutlich komplexer und über IP kann hier nicht gearbeitet werden (eher über genannte Plugins und andere Methoden). Prüfe also alle deine Funktionen, ob noch alles funktioniert (und zwar von einem fremden Gerät mit nicht freigeschalteter IP Adresse). Im Zweifelsfall entfernst du einfach die Direktiven wieder aus der .htaccess Datei.
Hilfe beim Absichern der WordPress Website und des Logins
Das klingt für den einen oder die andere vielleicht doch etwas kompliziert. Wenn du Hilfe benötigst bei der Absicherung deiner WordPress Website und deines Logins, dann kannst du dich gerne bei mir melden. Und wenn du noch etwas tiefer einsteigen willst in die Absicherung von WP, dann kannst du dir diesen Artikel mal näher anschauen.
Login icons created by Freepik – Flaticon
Enis
Danke für die ausführliche Anleitung!