Ein Blog über Code, Hardware und Co

Wordpress und Webentwicklung, Kurz notiert

WordPress vor Bruteforce-Angriffen schützen

Eine Webseite – insbesondere eine Webseite, die mit einem so weit verbreiteten CMS wie WordPress läuft – ist regelmäßig und fast ununterbrochen Angriffen aus dem World Wide Web ausgesetzt.
Dabei muss das Ziel gar nicht explizit die eigene Webseite sein. Tausende Bots da draußen haben keine andere Aufgabe, als Webseiten mit Sicherheitslücken oder unsicheren Konfigurationen zu finden und diese unter die Kontrolle eines Angreifers zu bringen. Sei es, um diese für ein Botnet einzuspannen, oder den Besitzer zu erpressen.

Was ist überhaupt Bruteforce?

Bruteforce bedeutet das Ausprobieren aller möglichen Lösungen. Im allgemeinen Sprachgebrauch wird Bruteforce in Kombination mit Cyberangriffen und dort dem Ausprobieren aller möglichen Kombinationen an Passwörtern, um Zugang zu bestimmten Diensten und Konten zu erhalten.

Brute-Force ist in der Informationstechnologie eine Lösungsstrategie von Problemen. Dabei wird zum Lösen eines Problems schlicht und ergreifend jede mögliche Lösungsmöglichkeit durchgespielt und ausprobiert, bis die richtige Lösung gefunden worden ist.
Bruteforce ist per se also nicht böse. Im allgemeinen Sprachgebrauch wird Bruteforce jedoch mit dem automatisierten und massenweisen Ausprobieren von Zugangsdaten verbunden und ist dadurch negativ als “Cyberangriff” konnotiert.

Ein beliebter Angriffsvektor sind dabei Loginformulare bei Software und vor allem Webseiten sowie Webmailern.
Dabei ist das Absichern von Accounts, Konten und Webdiensten eigentlich gar nicht so schwer.

Bei WordPress sind besonders die Loginformulare /wp-admin sowie /wp-login beliebte Angriffsziele für Bruteforce-Attacken.
Wie kann ich nun aber mein WordPress absichern?

Wie kann ich mein WordPress schützen?

Methode 1: Login auf WordPress-Ebene mit Plugin schützen

Wie so häufig gibt es ein WordPress-Plugin, das uns die Arbeit erleichtert. Das Plugin “Loginizer” bietet die Möglichkeit, die Loginversuche zu limitieren und Nutzer nach X fehlgeschlagenen Logins für einen Zeitraum Y für den Login zu sperren.

Für unsere Zwecke reicht die kostenlose Version aus.

Abbildung 1: Loginizer-Plugin-Seite.

Rate-Limit für den Login einrichten

  1. Loginizer Security installieren
  2. Auf die Bruteforce-Einstellungsseite wechseln (Loginizer Security -> Bruteforce)
  3. Einstellungen vornehmen und speichern. Fertig!
  4. Ich empfehle die folgenden Einstellungen:
    – Maximale fehlerhafte Loginversuche: 3
    – Locking-Time (Zeit, für die der Nutzer gesperrt ist): 15 Minuten
    – Max Lockouts (Nach wie vielen temporären Sperren wird eine längere Sperre verhängt): 5
    – Extended Lockout (Der Zeitraum, für den nach der maximalen Anzahl temporärer Sperren gesperrt wird): 24 Stunden
    – Reset Retries (Nach dieser Zeit wird die Anzahl der Versuche wieder zurückgesetzt): 24 Stunden

Außerdem kannst Du auf der Einstellungsseite bestimmte IP-Adressen white- oder blacklisten sowie individuelle Fehlermeldungen bei Loginversuchen angeben.

Tipp: Das Plugin bietet einige weitere Funktionen und Hinweise. Zumindest ein kurzer Blick kann hier nicht schaden 😉

So sieht ein aktivierter Bruteforce-Schutz für die Nutzer aus:

Der große Vorteil: Selbst Nutzer, die in da Rate-Limit gelaufen sind, können die Webseite – ohne Login – weiter nutzen. So wird die beeinträchtigung von fälschlicherweise gesperrten Nutzern verringert.

Methode 2: Auf Basis des Servers mit fail2ban und Co

Wer keine Plugins installieren kann oder will, oder nicht nur einzelne URLs, sondern gleich die gesamte Webanwendung sichern/sperren möchte, der kann zu serverseitigen Tools wie fail2ban greifen.

Quellen/Weitere Informationen

  • https://wiki.ubuntuusers.de/fail2ban/

Schreibe eine Antwort