Blog Absicherung mit WP Cerber

WP Cerber Übersicht

Im April habe ich bereits ein WordPress Plugin zum Protokollieren diverser Aktionen vorgestellt. Dieses mal geht es um ein weiteres tolles Plugin, dass den WordPress Login absichert. Es dient zum Schutz vor Brute-Force-Angriffe und limitiert die Anzahl von Login Versuchen über das WordPress Login Formular, REST Api oder Auth-Cookies.

WP Cerber im Einsatz

Auf vier WordPress Blogs habe ich das kostenlose Plugin seit mehreren Wochen im Einsatz und bin erstaunt, wie viele Angreifer es auf WordPress abgesehen haben. Täglich blockiert das Plugin mehrere Male den WordPress Login für eine gewisse Zeit und blendet das Login- und Registrierungsformular komplett aus. So verhindert WP Cerber weitere Angriffe, falls der blockierte Angreifer die IP Adresse ändern und weiter Attackieren möchte.

Manuelle Konfiguration

Ein sehr großer Vorteil in meinen Augen ist die manuelle Konfiguration von WP Cerber. Man selber legt fest, ab wann und für wie lange ein Angreifer blockiert wird. Neben zeitlicher Beschränkung gibt es auch diverse Sicherheitsmechanismen wie „Blockiere Login mit nicht existierenden Benutzer“, „Sperre gesamtes IP Subnetz“, „Sperre direkte Aufrufe auf /wp-admin/“ und viele mehr. Alle Einstellungen sind leicht zu verstehen.

Bei Sperrungen können E-Mail Benachrichtigungen aktiviert werden. Der Blog Administrator erhält bei jeder Sperrung/Blockierung eine E-Mail mit einem Hinweis. Des weiteren können Login Versuche über die WordPress REST Api, XML-RPC und andere komplett ausgeschaltet werden. Das Deaktivieren der REST Api ist allerdings mit Vorsicht zu genießen, da das Plugin Contact Form 7 die Schnittstelle verwendet!

Blacklist und Whitelist

Treten immer wieder die selben IP Adressen im Aktivitätslog auf, kann man die IP Adressen ganz einfach in eine Blacklist eintragen. Von vorne rein werden diese IP Adressen beim Aufruf der Login Seite/REST Api abgefangen und ausgesperrt. Wer wiederum nur bestimmte IP Adressen oder Subnetze zulassen möchte, kann eine IP Whitelist pflegen. In die Blacklist und Whitelist können IPv4 und IPv6 Adressen, A-, B- & C-Subnetze und IPv4 CIDR eingetragen werden.

Das Pflegen kann durchaus nützlich sein. Sobald der Citadel Modus aktiviert wurde, können sich nur noch Benutzer von der Whitelist einloggen. Alle anderen Benutzer sehen kein Login Formular mehr.

IP Adressen an Cerber Lab senden

In den Einstellungen gibt es die Option „Bösartige IP-Adressen an das Cerber Lab senden“. Ist dieser aktiv, so werden blockierte IP Adressen an das Cerber Lab gesendet und genauer von einem forensischen Team, das zu WP Cerber gehört, genau untersucht. Genauere Informationen zu dieser Funktion stehen auf der Hilfeseite genaustens erklärt: wpcerber.com/cerber-laboratory

Verbotene Benutzernamen

Sehr oft werden typische Benutzernamen wie admin, test oder root bei einem automatischen Angriff verwendet. Auch für dieses Problem hat WP Cerber eine Lösung eingebaut: In einem Textfeld können beliebig viele Benutzernamen eingetragen werden. Sobald jemand versucht sich mit einem Namen aus der Liste einzuloggen, wird dieser sofort ausgesperrt.

Tipp: Oft werden die öffentlichen Autoren Namen bei einem Angriff benutzt. Auf netzware.net ist dies zum Beispiel mein Name „nico“ – welcher gar nicht mein Benutzername ist.

reCAPTCHA Integration

Für einen zusätzlichen Schutz sorgt das bekannte (und manchmal nervige) Google reCAPTCHA. Nach eintragen einer öffentlichen und privaten reCAPTCHA Keys kann das Plugin aktiviert werden. So ist ein genereller Login oder eine Registrierung nur möglich, wenn das reCAPTCHA korrekt ausgefüllt wurde. Bots scheitern gewöhnlich schon am JavaScript, da sie dieses gar nicht besitzen und somit direkt gegen die Wand laufen.

Probiert’s aus

Nach Dauereinsatz auf meinen Blogs bin ich positiv überrascht. Jegliche Aktivitäten wie „Erfolgreicher Login“, „Login mit verbotenen Benutzernamen“, „Login mit falschen Passwort“ und viele weitere Aktionen werden alle protokolliert. Über das Protokoll seht ihr genau, wie oft und zu welcher Zeit Angriffe statt finden.

Links

 

2 comments

Als ich noch WordPress genutzt habe, habe ich mich lieber auf mich selbst verlassen und habe unter anderem folgendes gemacht.

– Ändern des Benutzernamens und ID des Administrators
– Vergabe von vernünftigen Passwörtern
– Anmeldeseite und ggf. wp-admin mit htaccess absichern (alleine daran scheitern in der Regel die Tools der Scriptkiddies).
– Zugriff auf xmlrpc.php per htaccess unterbinden (sofern man auf diese Funktion verzichten kann)
– Zugriff auf wp-config.php per htaccess verhindern
– Rechte für Dateien und Verzeichnis entsprechend setzen
– Nicht jeden Krempel installieren und Update zeitnah installieren

Das bedeutet zwar etwas Arbeit aber man ist somit nicht von Dritten abhängig.

Damit bin ich gut genug gefahren, dass ich die letzten Jahre keinerlei Sicherheits-Erweiterungen genutzt hatte. Seit ich Bolt anstelle von WordPress nutze habe ich es sogar noch leichter. Hier lässt sich die Adresse zum Backend ganz einfach ohne Nachteile ändern. Das wäre mal etwas das sich bei WordPress auch noch ändern sollte. Das minimiert das Hintergrundrauschen der Scriptkiddies recht zuverlässig. Lediglich einige Versuche auf /wp-login.php zuzugreifen kann ich auf meiner Seite noch feststellen. Aber das regelt htaccess bei Bedarf auch noch.

Was die Whitelist von WP Cerber (und auch allen anderen Erweiterungen dieser Art) betrifft, sollte man hier vielleicht noch anmerken, dass sich bei den meisten durchschnittlichen Internetanschlüssen die IP ab und zu ändert und man sich somit selbst aussperrt (kenne da ein paar Kandidaten die es schon geschafft haben).

Die Option „Bösartige IP-Adressen an das Cerber Lab senden“ könnte, je nachdem wo man lebt, hinsichtlich Datenschutz bedenklich sein. Vergleichbar wie mit Akismet.

Hallo Nico,

vielen Dank für den Überblick. Wir hatten am Wochenende auf einmal viele Angriffe auf unsere Seite und deine Tipps haben uns nochmal geholfen.

Danke dafür