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