Nutzer aus REST API Endpunkt entfernen (/wp-json/wp/v2/users)

Sicherheit WordPress
Nutzer aus REST API Endpunkt entfernen (/wp-json/wp/v2/users)

Die WordPress REST API ist ein leistungsstarkes Feature, das die Kommunikation mit einer WordPress-Website über externe Anwendungen ermöglicht. Standardmäßig stellt sie jedoch auch sensible Endpunkte bereit, die unter Umständen nicht öffentlich zugänglich sein sollten. Einer dieser Endpunkte ist /wp-json/wp/v2/users, der eine Liste aller WordPress Benutzer zurückgibt – einschließlich ihrer Benutzernamen. Dies kann ein erhebliches Sicherheitsrisiko darstellen, da Angreifer durch eine einfache Abfrage Benutzernamen auslesen und für Brute-Force-Angriffe auf die Login-Seite verwenden können.

Warum sollte der /users Endpunkt deaktiviert werden?

Die Veröffentlichung von Benutzernamen über die REST API ist in vielen Fällen nicht erwünscht. Besonders in Kombination mit schwachen Passwörtern oder fehlenden Login-Schutzmaßnahmen kann dies eine potenzielle Angriffsfläche eröffnen. Dennoch ist es nicht ratsam, die gesamte REST API zu deaktivieren, da sie von wichtigen Funktionen innerhalb von WordPress genutzt wird:

  • Der Gutenberg-Editor ist von der REST API abhängig. Eine vollständige Deaktivierung könnte dazu führen, dass der Block-Editor nicht mehr funktioniert.
  • Viele Plugins und Themes greifen auf die API zurück, um Inhalte zu laden oder zu aktualisieren.
  • Mobile Apps und externe Tools nutzen die REST API zur Verwaltung von Inhalten.

Aus diesen Gründen sollte nur der /wp-json/wp/v2/users Endpunkt deaktiviert werden, während die REST API weiterhin aktiv bleibt.

Code-Snippet zur Deaktivierung des /users Endpunkts

Die folgende Code-Erweiterung entfernt den Zugriff auf den Nutzer-Endpunkt, ohne andere REST API-Funktionen einzuschränken. Dieser Code kann in die functions.php des Themes oder in ein eigenes Plugin eingefügt werden:


add_filter('rest_endpoints', function( $endpoints ) {
    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;
});

Fazit

Das Deaktivieren des /wp-json/wp/v2/users Endpunkts ist eine einfache, aber effektive Maßnahme zur Verbesserung der WordPress-Sicherheit. Es verhindert, dass Benutzernamen öffentlich auslesbar sind, während die REST API für andere wichtige Funktionen erhalten bleibt. Wer WordPress sicherer machen möchte, sollte diesen Code ergänzen und zusätzlich weitere Schutzmaßnahmen wie eine Zwei-Faktor-Authentifizierung und ein Login-Schutz-Plugin in Betracht ziehen.



Sie benötigen eine WordPress Agentur? Wir stehen als Ihre Experten zur Verfügung. Treten Sie mit uns in Kontakt und vereinbaren Sie ein unverbindliches Beratungsgespräch.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ähnliche Artikel
PHP Error Reporting bei HostEurope aktivieren

Wer eine Website bei HostEurope betreibt, kennt das Problem: Die Fehler-Logs im KIS (Kunden-Interface) sind oft leer oder enthalten nur spärliche Informationen. Das macht...
mehr lesen

WP Rocket: Cache wird zu häufig oder unregelmäßig geleert

WP Rocket ist inzwischen eines der beliebtesten Cache-Plugins für WordPress und ein durchaus effektives Mittel, die Ladezeiten einer Webseite zu verbessern. Gerade bei vielen...
mehr lesen

WordPress Update: FTP-Zugangsdaten werden benötigt – was tun?

Es kann frustrierend sein, wenn WordPress bei einem Plugin-Update plötzlich nach FTP-Zugangsdaten fragt, anstatt das Update automatisch durchzuführen. Dieses Problem kann auf verschiedene Ursachen...
mehr lesen

WordPress: Papierkorb für Mediathek aktivieren

Der Papierkorb von WordPress ist sicherlich ein wichtiges und häufig genutztes Feature. Löscht man einen Beitrag oder eine Seite versehentlich, kann diese einfach wiederhergestellt...
mehr lesen