Anleitung

Benutzer-Enumeration in WordPress verhindern

8. Februar 2026 Aktualisiert am 19.04.2026

Benutzer-Enumeration ist eine Aufklärungstechnik, die Angreifer nutzen, um gültige Benutzernamen auf deiner WordPress-Seite zu entdecken. Sie ist typischerweise der erste Schritt vor einem Brute-Force-Angriff. Wenn ein Angreifer deinen Admin-Benutzernamen kennt, muss er nur noch das Passwort erraten. Wenn er den Benutzernamen nicht kennt, ist die Angriffsfläche deutlich größer. Das Blockieren der Enumeration zwingt Angreifer, sowohl den Benutzernamen als auch das Passwort zu erraten, was einen erfolgreichen Angriff wesentlich unwahrscheinlicher macht.

Wie Angreifer WordPress-Benutzernamen ermitteln

Es gibt mehrere Methoden, die Angreifer verwenden, um Benutzernamen auf einer WordPress-Seite zu entdecken. Das Verständnis jeder einzelnen hilft dir zu wissen, wogegen du dich schützen musst.

  • Autoren-Archiv-URLs: Standardmäßig erstellt WordPress Autoren-Archive unter /author/benutzername/. Ein Angreifer kann ?author=1, ?author=2 und so weiter aufrufen. WordPress leitet diese zur entsprechenden Autoren-Archiv-URL weiter, die den Benutzernamen im Klartext enthält. Automatisierte Skripte können Autoren-IDs sehr schnell durchlaufen, um eine vollständige Liste von Benutzernamen zu erstellen.
  • REST-API-Benutzer-Endpunkt: Die WordPress REST API stellt einen /wp-json/wp/v2/users-Endpunkt bereit, der ein JSON-Array aller Benutzer zurückgibt, die Beiträge veröffentlicht haben. Dies umfasst Benutzernamen, Anzeigenamen und Benutzer-IDs. Standardmäßig ist keine Authentifizierung erforderlich, um auf diesen Endpunkt zuzugreifen.
  • Login-Fehlermeldungen: Wenn du einen ungültigen Benutzernamen auf der WordPress-Login-Seite eingibst, sagt die Fehlermeldung etwa „Der Benutzername X ist nicht registriert." Wenn du einen gültigen Benutzernamen, aber ein falsches Passwort eingibst, sagt sie „Das Passwort, das du für den Benutzernamen X eingegeben hast, ist falsch." Dieser Unterschied verrät dem Angreifer, ob ein Benutzername existiert.
  • oEmbed-Antworten: WordPress oEmbed-Discovery-Links im Seitenquelltext können Autoreninformationen preisgeben, wenn andere Seiten versuchen, deinen Inhalt einzubetten.
  • XML-RPC: Der xmlrpc.php-Endpunkt kann verwendet werden, um Benutzername/Passwort-Kombinationen über die wp.getUsersBlogs-Methode zu testen. Obwohl dies eher ein Brute-Force-Vektor ist, bestätigt er gültige Benutzernamen durch unterschiedliche Fehlerantworten.

Warum Benutzer-Enumeration für die Sicherheit wichtig ist

Für sich genommen kompromittiert das Wissen um einen Benutzernamen deine Seite nicht. Aber es macht alles andere für einen Angreifer einfacher. Betrachte einen Brute-Force-Angriff: Wenn der Angreifer sowohl den Benutzernamen als auch das Passwort erraten muss, ist die Anzahl möglicher Kombinationen enorm. Wenn er bereits weiß, dass der Benutzername „admin" oder „john" ist, muss er sich nur noch auf das Passwort konzentrieren. Kombiniert mit gängigen Passwort-Listen kann dies in Minuten statt Jahren zu einem erfolgreichen Einbruch führen.

Zusätzlich können entdeckte Benutzernamen für gezielte Phishing-Angriffe verwendet werden. Wenn ein Angreifer weiß, dass dein Admin-Konto „sarah.johnson" heißt, kann er überzeugendere Social-Engineering-E-Mails erstellen.

Autoren-Archiv-Enumeration blockieren

Füge diesen Code in die functions.php deines Themes oder ein benutzerdefiniertes Plugin ein. Er fängt Anfragen mit dem ?author=N-Parameter ab und leitet sie zur Startseite weiter, anstatt den Benutzernamen preiszugeben:

/**
 * Benutzer-Enumeration über Author-Parameter blockieren
 */
function block_author_enumeration() {
    if (is_admin()) return;

    if (isset($_REQUEST['author']) && is_numeric($_REQUEST['author'])) {
        wp_redirect(home_url(), 301);
        exit;
    }
}
add_action('init', 'block_author_enumeration');

Dies behandelt die häufigste Enumerationsmethode. Die is_admin()-Prüfung stellt sicher, dass die Backend-Funktionalität nicht beeinträchtigt wird. Die Weiterleitung verwendet einen 301-Statuscode, der Suchmaschinen anweist, ihren Index zu aktualisieren (falls Autoren-Archiv-URLs zuvor indexiert waren).

REST-API-Benutzer-Endpunkt deaktivieren

Der folgende Code entfernt den Benutzer-Endpunkt aus der REST API für Besucher, die nicht eingeloggt sind. Authentifizierte Benutzer (wie Administratoren und Redakteure) können weiterhin darauf zugreifen, was die Funktionalität für den Block-Editor und andere Admin-Tools bewahrt:

/**
 * REST-API-Benutzer-Endpunkt für nicht-authentifizierte Anfragen entfernen
 */
add_filter('rest_endpoints', function($endpoints) {
    if (!is_user_logged_in()) {
        if (isset($endpoints['/wp/v2/users'])) {
            unset($endpoints['/wp/v2/users']);
        }
        if (isset($endpoints['/wp/v2/users/(?P<id>[\d]+)'])) {
            unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
        }
    }
    return $endpoints;
});

Nach dem Hinzufügen dieses Codes geben nicht-authentifizierte Anfragen an /wp-json/wp/v2/users einen 404-Fehler zurück, anstatt deine Benutzer aufzulisten.

Login-Fehlermeldungen vereinheitlichen

WordPress zeigt unterschiedliche Fehlermeldungen für die Szenarien „ungültiger Benutzername" und „falsches Passwort" an. Dies verrät, ob ein bestimmter Benutzername auf der Seite existiert. Die Lösung ist einfach: Gib für alle Login-Fehler dieselbe allgemeine Meldung zurück:

/**
 * Generische Login-Fehlermeldung verwenden
 */
add_filter('login_errors', function() {
    return 'Ungültiger Benutzername oder Passwort.';
});

Mit dieser Änderung kann ein Angreifer nicht feststellen, ob ein Anmeldeversuch wegen eines falschen Benutzernamens oder eines falschen Passworts gescheitert ist. Beide Fälle erzeugen dieselbe Antwort.

oEmbed-Discovery-Links entfernen

WordPress fügt oEmbed-Discovery-Links in den HTML-Head deiner Seiten ein. Diese Links können Autoreninformationen preisgeben, wenn andere Seiten versuchen, deinen Inhalt einzubetten. Entferne sie mit einer einzigen Zeile:

remove_action('wp_head', 'wp_oembed_add_discovery_links');

Dies beeinträchtigt nicht deine Fähigkeit, Inhalte von anderen Seiten einzubetten. Es verhindert nur, dass andere Seiten einbettbare Inhalte auf deiner Seite automatisch erkennen.

Autoren-Enumeration über .htaccess blockieren

Wenn du Apache verwendest, kannst du eine Weiterleitung auf Server-Ebene hinzufügen, die die Autoren-Enumeration blockiert, bevor WordPress überhaupt geladen wird. Dies ist effizienter als eine PHP-basierte Lösung, da kein PHP-Processing erforderlich ist:

# Benutzer-Enumeration über Author-Parameter blockieren
RewriteCond %{QUERY_STRING} ^author=\d+ [NC]
RewriteRule .* /? [R=301,L]

Platziere dies in deiner .htaccess-Datei vor den WordPress-Rewrite-Regeln. Es fängt jede Anfrage mit einem author=-Query-Parameter ab, der eine Zahl enthält, und leitet zur Startseite weiter.

Plugin-basierte Lösungen

Wenn du lieber keinen Code manuell hinzufügen möchtest, bieten mehrere Sicherheits-Plugins Schutz vor Benutzer-Enumeration:

  • Stop User Enumeration: Ein fokussiertes, leichtgewichtiges Plugin, das speziell Autoren-Scans und REST-API-Benutzerauflistung blockiert. Macht eine Sache und macht sie gut.
  • iThemes Security (Solid Security): Eine umfassende Sicherheitssuite, die Benutzer-Enumerationsschutz zusammen mit Features wie Zwei-Faktor-Authentifizierung, Dateiänderungserkennung und Brute-Force-Schutz enthält. Die Enumerationsblockierung findest du im Bereich „WordPress Tweaks".
  • Wordfence: Primär eine Firewall und ein Malware-Scanner, aber die Firewall-Regeln können Enumerationsversuche blockieren. Die kostenlose Version bietet grundlegenden Schutz; die Premium-Version fügt Echtzeit-Firewall-Regeln hinzu.
  • All In One WP Security: Ein kostenloses, einsteigerfreundliches Plugin mit einer Option zur Verhinderung der Benutzer-Enumeration unter Benutzerkonten > WP-Benutzername. Bietet auch eine Firewall und Login-Sperrfunktionen.

Enumeration auf deiner eigenen Seite testen

Vor und nach der Implementierung dieser Schutzmaßnahmen solltest du testen, ob Enumeration noch funktioniert. So gehst du vor:

  • Autoren-Archiv-Test: Öffne ein privates Browserfenster und besuche https://deineseite.de/?author=1. Wenn der Schutz funktioniert, solltest du zur Startseite weitergeleitet werden, anstatt eine Autoren-Archiv-Seite mit dem Benutzernamen in der URL zu sehen.
  • REST-API-Test: Öffne https://deineseite.de/wp-json/wp/v2/users in deinem Browser, während du nicht eingeloggt bist. Du solltest einen 404-Fehler oder eine leere Antwort sehen, nicht eine Liste von Benutzern mit ihren Benutzernamen.
  • Login-Seiten-Test: Versuche, dich mit einem Benutzernamen anzumelden, der nicht existiert, und dann mit einem echten Benutzernamen, aber einem falschen Passwort. Beide sollten dieselbe Fehlermeldung erzeugen.
  • InspectWP-Scan: Führe einen neuen InspectWP-Scan deiner Seite durch. Der Sicherheitsbereich prüft auf Benutzer-Enumerations-Schwachstellen und zeigt an, ob deine Schutzmaßnahmen korrekt funktionieren.

Zusätzliche Härtungstipps

Benutzer-Enumerationsschutz funktioniert am besten als Teil einer umfassenderen Sicherheitsstrategie. Erwäge diese ergänzenden Maßnahmen:

  • Vermeide „admin" als Benutzernamen: Wenn dein Admin-Konto noch „admin" heißt, erstelle ein neues Administratorkonto mit einem einzigartigen Benutzernamen, weise alle Inhalte zu und lösche dann das alte „admin"-Konto.
  • Verwende starke, einzigartige Passwörter: Selbst wenn ein Angreifer einen Benutzernamen entdeckt, macht ein starkes Passwort Brute-Force-Angriffe unpraktikabel. Verwende einen Passwort-Manager, um komplexe Passwörter zu generieren und zu speichern.
  • Aktiviere Zwei-Faktor-Authentifizierung: 2FA fügt eine zweite Schutzschicht hinzu. Selbst wenn sowohl der Benutzername als auch das Passwort kompromittiert sind, kann sich der Angreifer ohne den zweiten Faktor nicht anmelden.
  • Begrenze Anmeldeversuche: Plugins wie Limit Login Attempts Reloaded oder Loginizer können IP-Adressen nach einer festgelegten Anzahl fehlgeschlagener Anmeldeversuche sperren.

Prüfe jetzt deine WordPress-Seite

InspectWP analysiert deine WordPress-Seite auf Sicherheitslücken, SEO-Probleme, DSGVO-Konformität und Performance — kostenlos.

Seite kostenlos analysieren