Anleitung

Benutzer-Enumeration in WordPress verhindern

8. Februar 2026

Benutzer-Enumeration ist eine Aufklarungstechnik, die Angreifer nutzen, um gultige 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 Angriffsflache deutlich grosser. 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 Verstandnis jeder einzelnen hilft dir zu wissen, wogegen du dich schutzen musst.

  • Autoren-Archiv-URLs: Standardmassig 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 enthalt. Automatisierte Skripte konnen Autoren-IDs sehr schnell durchlaufen, um eine vollstandige 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 zuruckgibt, die Beitrage veroffentlicht haben. Dies umfasst Benutzernamen, Anzeigenamen und Benutzer-IDs. Standardmassig ist keine Authentifizierung erforderlich, um auf diesen Endpunkt zuzugreifen.
  • Login-Fehlermeldungen: Wenn du einen ungultigen Benutzernamen auf der WordPress-Login-Seite eingibst, sagt die Fehlermeldung etwa "Der Benutzername X ist nicht registriert." Wenn du einen gultigen Benutzernamen aber ein falsches Passwort eingibst, sagt sie "Das Passwort, das du fur den Benutzernamen X eingegeben hast, ist falsch." Dieser Unterschied verrat dem Angreifer, ob ein Benutzername existiert.
  • oEmbed-Antworten: WordPress oEmbed-Discovery-Links im Seitenquelltext konnen Autoreninformationen preisgeben, wenn andere Seiten versuchen, deinen Inhalt einzubetten.
  • XML-RPC: Der xmlrpc.php-Endpunkt kann verwendet werden, um Benutzername/Passwort-Kombinationen uber die wp.getUsersBlogs-Methode zu testen. Obwohl dies eher ein Brute-Force-Vektor ist, bestatigt er gultige Benutzernamen durch unterschiedliche Fehlerantworten.

Warum Benutzer-Enumeration fur die Sicherheit wichtig ist

Fur sich genommen kompromittiert das Wissen um einen Benutzernamen deine Seite nicht. Aber es macht alles andere fur einen Angreifer einfacher. Betrachte einen Brute-Force-Angriff: Wenn der Angreifer sowohl den Benutzernamen als auch das Passwort erraten muss, ist die Anzahl moglicher Kombinationen enorm. Wenn er bereits weiss, dass der Benutzername "admin" oder "john" ist, muss er sich nur noch auf das Passwort konzentrieren. Kombiniert mit gangigen Passwort-Listen kann dies in Minuten statt Jahren zu einem erfolgreichen Einbruch fuhren.

Zusatzlich konnen entdeckte Benutzernamen fur gezielte Phishing-Angriffe verwendet werden. Wenn ein Angreifer weiss, dass dein Admin-Konto "sarah.johnson" heisst, kann er uberzeugendere Social-Engineering-E-Mails erstellen.

Autoren-Archiv-Enumeration blockieren

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

/**
 * Benutzer-Enumeration uber 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 haufigste Enumerationsmethode. Die is_admin()-Prufung stellt sicher, dass die Backend-Funktionalitat nicht beeintrachtigt 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 fur Besucher, die nicht eingeloggt sind. Authentifizierte Benutzer (wie Administratoren und Redakteure) konnen weiterhin darauf zugreifen, was die Funktionalitat fur den Block-Editor und andere Admin-Tools bewahrt:

/**
 * REST-API-Benutzer-Endpunkt fur 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[\d]+)']);
        }
    }
    return $endpoints;
});

Nach dem Hinzufugen dieses Codes geben nicht-authentifizierte Anfragen an /wp-json/wp/v2/users einen 404-Fehler zuruck, anstatt deine Benutzer aufzulisten.

Login-Fehlermeldungen vereinheitlichen

WordPress zeigt unterschiedliche Fehlermeldungen fur die Szenarien "ungultiger Benutzername" und "falsches Passwort" an. Dies verrat, ob ein bestimmter Benutzername auf der Seite existiert. Die Losung ist einfach: Gib fur alle Login-Fehler dieselbe allgemeine Meldung zuruck:

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

Mit dieser Anderung kann ein Angreifer nicht feststellen, ob ein Anmeldeversuch wegen eines falschen Benutzernamens oder eines falschen Passworts gescheitert ist. Beide Falle erzeugen dieselbe Antwort.

oEmbed-Discovery-Links entfernen

WordPress fugt oEmbed-Discovery-Links in den HTML-Head deiner Seiten ein. Diese Links konnen 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 beeintrachtigt nicht deine Fahigkeit, Inhalte von anderen Seiten einzubetten. Es verhindert nur, dass andere Seiten einbettbare Inhalte auf deiner Seite automatisch erkennen.

Autoren-Enumeration uber .htaccess blockieren

Wenn du Apache verwendest, kannst du eine Weiterleitung auf Server-Ebene hinzufugen, die die Autoren-Enumeration blockiert, bevor WordPress uberhaupt geladen wird. Dies ist effizienter als eine PHP-basierte Losung, da kein PHP-Processing erforderlich ist:

# Benutzer-Enumeration uber 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 fangt jede Anfrage mit einem author=-Query-Parameter ab, der eine Zahl enthalt, und leitet zur Startseite weiter.

Plugin-basierte Losungen

Wenn du lieber keinen Code manuell hinzufugen mochtest, 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, Dateiandeerungserkennung und Brute-Force-Schutz enthalt. Die Enumerationsblockierung findest du im Bereich "WordPress Tweaks".
  • Wordfence: Primar eine Firewall und ein Malware-Scanner, aber die Firewall-Regeln konnen Enumerationsversuche blockieren. Die kostenlose Version bietet grundlegenden Schutz; die Premium-Version fugt 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 Schutzmassnahmen solltest du testen, ob Enumeration noch funktioniert. So gehst du vor:

  • Autoren-Archiv-Test: Offne 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: Offne https://deineseite.de/wp-json/wp/v2/users in deinem Browser, wahrend 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: Fuhre einen neuen InspectWP-Scan deiner Seite durch. Der Sicherheitsbereich pruft auf Benutzer-Enumerations-Schwachstellen und zeigt an, ob deine Schutzmassnahmen korrekt funktionieren.

Zusatzliche Hartungstipps

Benutzer-Enumerationsschutz funktioniert am besten als Teil einer umfassenderen Sicherheitsstrategie. Erwage diese erganzenden Massnahmen:

  • Vermeide "admin" als Benutzernamen: Wenn dein Admin-Konto noch "admin" heisst, erstelle ein neues Administratorkonto mit einem einzigartigen Benutzernamen, weise alle Inhalte zu und losche dann das alte "admin"-Konto.
  • Verwende starke, einzigartige Passworter: Selbst wenn ein Angreifer einen Benutzernamen entdeckt, macht ein starkes Passwort Brute-Force-Angriffe unpraktikabel. Verwende einen Passwort-Manager, um komplexe Passworter zu generieren und zu speichern.
  • Aktiviere Zwei-Faktor-Authentifizierung: 2FA fugt 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 konnen 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