Home » WordPress Security » WordPress-Loginseite vor Brute-Force-Angriffen schützen

Brute-Force-Angriffe auf WordPress verhindern: Essenzielle Schutzmaßnahmen für Ihre Website

Lesezeit: 10 Minuten

Zusammenfassung:

In diesem Artikel erfahren Sie, wie Sie Brute-Force-Angriffe verhindern, indem Sie sichere Passwörter nutzen und das Auslesen von Benutzernamen blockieren. Für eine sicherere und schnellere WordPress-Installation bieten wir Do-it-yourself Code-Beispiele, die Ihnen helfen, Ihre Seite optimal zu schützen. Ihre Website performt sicherer und schneller.

WordPress-Loginseite vor Brute-Force-Angriffen schützen

Login-Seite vor Brute-Force-Angriffen schützen

standardmäßige WordPress-Anmelde-URL ändernSchützen Sie den Zugang zu Ihrem WordPress-Administrationsbereich vor den stetig wachsenden Bedrohungen durch Cyberkriminelle. Die häufig genutzte Standard-Anmeldeseite von WordPress stellt eine bevorzugte Angriffsfläche für Brute-Force-Attacken dar.

Hacker verwenden modernste Tools und greifen auf Datenbanken mit Millionen von Benutzer-Passwort-Kombinationen zurück. Diese werden in rascher Abfolge automatisch ausprobiert, um Schwachstellen in Ihrem Authentifizierungssystem aufzuspüren. Dabei wird zusätzlich die Performance Ihrer Website beeinträchtigt.

Benutzer-Enumeration erhöht die Gefahr von Brute-Force-Angriffen

Die Erfolgsquote von Brute-Force-Angriffen liegt oft bei 100 %, wenn der Hacker bereits über einen gültigen Zugangsdatensatz für Ihre Website verfügt, beispielsweise einen Benutzerkontonamen.

Deshalb ist die Benutzer-Enumeration eine weitere gefährliche Sicherheitslücke, die WordPress-Sites für Brute-Force-Angriffe anfällig macht. Hierbei können Angreifer auf Ihrer WordPress-Seite die Benutzernamen Ihrer Administratoren und Autoren auslesen. Diese Informationen erleichtern es Ihnen, gezielte Brute-Force-Attacken auf Ihr Login-System zu starten. Wenn der Benutzername bekannt ist, muss der Angreifer nur noch das Passwort herausfinden, was die Wahrscheinlichkeit eines erfolgreichen Angriffs stark erhöht.

Dadurch steigt das Risiko, dass ein Hacker Kontrolle über Ihre Website erlangt und Ihre Website sogar übernimmt. Ein effektiver Schutz gegen dieses Problem ist, das Auslesen von Benutzernamen zu sperren und damit potenzielle Angreifer zu blockieren.

Mehr Informationen dazu und wie Sie sich schützen können, finden Sie in unserem Artikel: So verhindern Sie WordPress User-Enumeration-Angriffe »

Abfragen der WordPress-Benutzernamen sperren

Beispiele ungeschützter WordPress-Benutzer-Enumeration

Warum ist ein Brute-Force-Angriff so gefährlich

Ein Brute-Force-Angriff unterscheidet sich von herkömmlichen Hacks, die Sicherheitslücken in der Software ausnutzen. Hierbei handelt es sich um eine der einfachsten und gleichzeitig häufigsten Methoden, um Zugriff auf eine Website zu erlangen: Es werden systematisch Benutzernamen und Passwörter ausprobiert, bis ein Zugang erfolgreich ist. Auch wenn diese Art von Angriff oft als „unelegant“ abgetan wird, kann sie besonders dann erfolgreich sein, wenn Benutzer schwache Passwörter wie „123456“ oder den Standard-Benutzernamen „admin“ verwenden.

In diesem Fall zielt der Angriff auf das schwächste Glied der Sicherheitskette: den Benutzer.

Ein Nebeneffekt dieser Angriffe ist, dass sie die Server-Ressourcen extrem belasten können. Die große Menge an HTTP-Anfragen (also die Anzahl der Seitenaufrufe) führt oft dazu, dass der Speicher des Servers überlastet wird, was sich negativ auf die Performance Ihrer Website auswirkt.

Diese Angriffe richten sich nicht nur gegen WordPress, sondern gegen viele Webanwendungen. Allerdings wird WordPress aufgrund seiner Popularität besonders häufig angegriffen.

Mehrfache Login-Versuche einschränken

Eine der gängigsten Angriffsmethoden im Internet sind Brute-Force-Angriffe auf Login-Bereiche. Dabei versuchen Angreifer, Benutzernamen und Passwörter durch wiederholte Anmeldeversuche zu erraten. Dazu benötigen sie lediglich die URL der Website. Mit Hilfe von Botnets können diese Angriffe automatisiert durchgeführt werden, was es einfacher macht, selbst komplexe Passwörter zu knacken.

Wie Sie sich vor Brute-Force-Angriffen schützen können

Eine häufige Angriffsstelle bei WordPress ist die Datei wp-login.php. Hier versuchen Hacker durch wiederholte Anmeldeversuche, entweder Zugang zu erhalten oder den Server durch Überlastung lahmzulegen.

1. Verwenden Sie niemals den vorgeschlagenen Benutzernamen „admin“

Da in früheren Versionen von WordPress der Standard-Benutzername „admin“ voreingestellt war, gehen viele Angriffe davon aus, dass dieser noch verwendet wird. Ebenso mit Benutzernamen wie webmaster, dashboard, wpsystem, activeuser, cmsuser, etc. Falls Sie diese Benutzernamen noch nutzen, erstellen Sie ein neues Konto und setzen den „admin“-Benutzer entweder auf „Abonnent“ oder löschen Sie ihn ganz.

2. Ausschließlich sichere Passwörter verwenden

Ihr Passwort sollte sowohl für Menschen schwer zu erraten als auch für automatisierte Angriffe schwer zu knacken sein, wie z.B.: ^WQ4j*6i+{-=XdHU. Nutzen Sie einen Passwort-Generator oder die in WordPress integrierte Funktion zur Passwortstärke, um sichere Passwörter zu erstellen. Dies kann durch Plug-ins wie Force Strong Password unterstützt werden.

Vermeiden Sie bei Passwörtern:

  • Kombinationen aus Ihrem Namen, Benutzernamen, Firmennamen oder dem Namen Ihrer Website.
  • Wörter aus einem Wörterbuch (egal in welcher Sprache).
  • Kurze Passwörter.
  • Nur Zahlen oder nur Buchstaben (am besten eine Mischung aus beidem).

Ein starkes Passwort schützt nicht nur Ihre Inhalte.

Sollte ein Angreifer Zugriff auf Ihr Administrator-Konto erhalten, könnte er schädliche Skripte installieren und möglicherweise den gesamten Server gefährden.

Mit diesen einfachen Schritten können Sie das Sicherheitsniveau Ihrer WordPress-Website erheblich erhöhen und sich vor Brute-Force-Angriffen schützen.

Spam-Bots und Brute-Force-Angriffe nutzen Ihre Server-Ressourcen

WordPress Brute Force Angriffe

Automatisierte Angriffe auf die WordPress-Log-in-Seite WordFence Log

Geben Sie Spam-Bots und Brute-Force-Angriffe keine Chance

WordPress erlaubt beliebig viele Anmeldeversuche. Brute-Force-Angriffe nutzen diese Schwachstelle, um Benutzer-Passwort-Kombinationen über einen längeren Zeitraum auszuprobieren.

Die häufigste Angriffsstelle bei WordPress ist daher die Datei wp-login.php.

Hier sind einige gute Möglichkeiten, wie Sie Ihre WordPress-Login-Seite vor Brute-Force-Angriffen schützen können:

Als Best Practice empfehlen wir ein Sicherheitsplugin wie z.B. Limit Login Attempts Reloaded oder GuardGiant Brute Force Protection. Auf den Seiten der WordPress Developer Resources stehen zahlreiche Plug-Ins zur Verfügung, um die Anzahl der Anmeldeversuche auf Ihrer Site zu begrenzen.

Sicherheits-Plugins bieten eine einfache und effektive Möglichkeit, den Schutz einer WordPress-Website zu verbessern. Sie sind jedoch nicht perfekt und sollten stets mit Bedacht eingesetzt werden. Es ist ratsam, nicht nur auf Plugins zu vertrauen, sondern auch andere Best Practices in Bezug auf Sicherheit zu befolgen.

Falls Sie kein Sicherheitsplugin verwenden möchten, können Sie einfache Kommandos in die functions.php-Datei einfügen, um Ihre WordPress-Loginseite vor Brute-Force-Angriffen zu schützen.

Ein weiterer, oft übersehener Sicherheitsgewinn liegt in der Modifikation der standardmäßigen WordPress-Login-URL. Dieser einfache Schritt kann Ihre Anmeldeseite erheblich verbergen und somit die Gefahr von Brute-Force-Attacken reduzieren.

Mit der Anwendung dieser Lösungen gelingt es keinem Bot mehr, bis zum WordPress-Log-in einzudringen. Das erhöht extrem die Sicherheit Ihrer WP-Installation und spart deutlich an Systemressourcen.

Kurz gesagt: Ihre Website performt sicherer und schneller.

Pro und Contra von WordPress-Sicherheits-Plugins

Pro:

  1. Einfache Implementierung von Sicherheitstools: Sicherheits-Plugins bieten eine einfache Möglichkeit, wichtige Schutzmaßnahmen ohne technische Vorkenntnisse zu implementieren. Funktionen wie die Firewall, Malware-Scans und die Blockierung verdächtiger IPs können per Klick aktiviert werden.
  2. Automatische Sicherheits-Updates: Viele Plugins übernehmen das automatisierte Aktualisieren von Sicherheitslücken in WordPress, Themes und Plugins. So bleibt die Installation immer auf dem neuesten Stand, ohne manuelle Eingriffe.
  3. Brute-Force-Schutz: Diese Plugins bieten Schutz vor Brute-Force-Angriffen, indem sie die Anzahl der Login-Versuche begrenzen oder Captchas hinzufügen. Ein effektiver Schutz vor häufigen Angriffen auf die WordPress-Anmeldung.
  4. Überwachung und Benachrichtigungen: Plugins wie Wordfence oder iThemes Security bieten Echtzeit-Überwachung, die Administratoren sofort über verdächtige Aktivitäten informiert. So kann man schnell auf potenzielle Gefahren reagieren.
  5. Schnelle Installation von Best Practices: Plugins implementieren empfohlene Sicherheitspraktiken wie das Deaktivieren der XML-RPC-Schnittstelle oder das Erzwingen starker Passwörter, ohne manuell in den Code eingreifen zu müssen.

    Contra:

    1. Leistungseinbußen: Viele Sicherheits-Plugins können die Leistung der Website negativ beeinflussen, da sie zusätzliche Ressourcen beanspruchen. Besonders auf Shared Hosting kann dies zu langsameren Ladezeiten führen.
    2. Übermäßige Abhängigkeit: Eine komplette Abhängigkeit von Plugins kann dazu führen, dass man grundlegende Sicherheitspraktiken vernachlässigt. Plugins sollten eine Ergänzung zu Sicherheitsmaßnahmen sein, nicht die einzige Lösung.
    3. Fehlalarme (False Positives): Sicherheits-Plugins erkennen manchmal harmlose Aktivitäten als Bedrohungen, was zu unnötigen Benachrichtigungen und potenziell falschen Sperrungen führen kann.
    4. Kosten: Während viele Plugins in der Basisversion kostenlos sind, erfordern erweiterte Funktionen oft kostenpflichtige Pro-Versionen. Dies kann für kleine Webseitenbetreiber teuer werden, wenn mehrere Sicherheitsfunktionen benötigt werden.
    5. Kompatibilitätsprobleme: Sicherheits-Plugins können mit anderen Plugins oder Themes in Konflikt geraten, was zu Fehlfunktionen oder sogar Ausfällen der Website führen kann.

    Code-Beispiele um die WordPress-Anmeldeseite zu schützen

    Nur den eigenen IP-Adressen Administration-Zugriff erlauben

    • Zugriff nur von bestimmten IP-Adressen erlauben:
      Dieser Code blockiert den Zugriff auf den wp-admin-Bereich von WordPress für alle außer den angegebenen IP-Adressen.
      Für wen ist das nützlich:
      Das ist besonders nützlich für Sites mit einigen wenigen Benutzern, die von dieser IP verwaltet werden.
      So funktionierts:
      – Require all denied: Verhindert standardmäßig den Zugriff für alle Benutzer.
      – Require ip: Erlaubt den Zugriff nur von bestimmten IP-Adressen. In diesem Fall wird der Zugriff von der IP-Range 192.168.1.0/24 zugelassen.
      Hinweis für Webmaster:
      Kopieren Sie diese neue .htaccess Datei und laden Sie in den wp-admin-Ordner. Ersetzen Sie die IP-Adressen durch Ihre eigenen, um sicherzustellen, dass Sie Zugriff behalten.
    • Zugriff auf die Datei der Anmeldeseite wp-login.php beschränken:
      Dieser Code fügt eine Sicherheitsstufe für den Login-Bereich Ihrer WordPress-Website hinzu, indem er den Zugriff auf die Datei wp-login.php auf spezifische IP-Adressen beschränkt. Nur die angegebenen IP-Adressen oder IP-Bereiche (z. B. 192.168.1.0/24) haben Zugriff auf die Login-Seite.
      IP-Adresse anpassen:
      Ersetzen Sie die IP-Adressen durch Ihre eigene(n) oder die von Ihnen gewünschten.
      Zugang sicher gesperrt:
      Alle anderen IP-Adressen werden blockiert. Wenn Sie eine dynamische IP verwenden, kann es vorkommen, dass Sie sich selbst aussperren, wenn sich Ihre IP ändert. Um dies zu verhindern, können Sie ein breiteres IP-Spektrum verwenden und ein ganzes Subnetz zulassen, wie die CIDR-Notation 0/24 in 192.168.1.0/24 in diesem Beispiel, was 256 Adressen umfasst.

    Den folgenden Code können Sie in eine neu erstellte .htaccess-Datei einfügen und in das zu schützende wp-admin Verzeichnis kopieren; ersetzen Sie die IP-Adresse durch Ihre eigene:

    .htaccess

    /* Zugriff auf spezifische IP-Adressen beschränken */
    <RequireAny>
    	Require ip 192.168.1.0/24
    	Require all denied
    </RequireAny>
    
    .htaccess

    /* Zugriff auf wp-login.php auf spezifische IP-Adressen beschränken */
    <Files wp-login.php>
    	<RequireAny>
    		Require ip 192.168.1.0/24
    		Require all denied
    	</RequireAny>
    </Files>

    Falls möglich, fügen Sie den Code in die Konfiguration des schnellen Nginx-Servers (engine x) ein:

    nginx

    /* NGINX Zugriff auf wp-login.php auf spezifische IP-Adressen beschränken */
    location = /wp-login.php {
        allow 192.168.1.0/24;
        deny all;
    }

    Einschränken der Login-Versuche

    • Das Einschränken der Login-Versuche bedeutet, dass eine begrenzte Anzahl von Versuchen erlaubt ist, um sich in den Admin-Bereich Ihrer Website einzuloggen. Wenn die Anzahl der zulässigen Versuche überschritten wird, wird der Zugriff blockiert, um zu verhindern, dass Angreifer in den Administrations-Bereich mittels Brute-Force-Attacken gelangen.

      Verzögern wiederholte Anmeldeversuche
      Eine weitere einfache Möglichkeit, die Login-Versuche zu beschränken, besteht darin, eine Verzögerung zwischen den Login-Versuchen zu erzwingen. Dadurch wird es Angreifern erschwert, automatisierte Angriffe auszuführen. Eine Durchsatzbegrenzung blockiert wiederholte fehlerhafte Anmeldeversuche in kurzen Zeitabständen.

    Die Verzögerung können Sie durch einfaches Einfügen der Filter in Ihre WordPress functions.php-Datei einstellen:

    PHP
    /* Verzögerung zwischen den Login-Versuchen */
    
    function custom_login_delay() {
        sleep(15); // Verzögerung von 15 Sekunden
    }
    
    add_action('wp_login_failed', 'custom_login_delay');
    
    
    GetSafe 360° Box

    360° Website OptimierungWordPress-TuneUp

    Sichern der Administration und Login-Seite
    Auslesen von Benutzernamen verhindern
    Inhaltsicherheitsrichtlinie (CSP)
    Blockieren verdächtiger User-Agents
    SQL-Injections und XSS-Absicherung
    HTTP-Sicherheits-Header

    Normalerweise 145,-
    Zeitlich befristetes Angebot zum Sonderpreis für nur

    95,-
    100% Geld-zurück-Garantie – keine Folgekosten.
    Preis versteht sich als Nettopreis zuzüglich Mehrwertsteuer.