User-Enumeration
in WordPress ist ein Prozess, bei dem Informationen über Benutzerkonten, typischerweise Benutzernamen, gesammelt werden. Dies kann ein Sicherheitsrisiko darstellen, da Angreifer mit Kenntnis der Benutzernamen gezielte Angriffe wie Brute-Force oder Phishing-Versuche durchführen können.
User-Enumeration by WP-JASON API
Es gibt verschiedene Methoden, um die User-Enumeration
in WordPress durchzuführen. Sie können zum Beispiel mit dem Pfad /wp-json/wp/v2/users
eine Liste von Benutzern abrufen. Die WP-JSON API
in WordPress bietet eine REST API
, die unter anderem Informationen über Benutzer preisgeben kann. Ein Angreifer kann über die WP-JSON API
eine Liste von Benutzern abrufen, wenn keine Sicherheitsmaßnahmen dies verhindern.
Gegenmaßnahmen
Sie können folgendes Code-Snippet in die functions.php
-Datei Ihres aktiven Themes einfügen, um den Zugriff auf die WP-JSON API
zu beschränken:
// Fügt einen Filter hinzu, der auf die REST-API-Pfade angewendet wird 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; });
Dieser Code entfernt Pfade, die Benutzerinformationen für nicht angemeldete Benutzer zugänglich machen könnten.
Nachdem Sie die User-Enumeration
abgeschaltet haben, wird beim Aufruf des oben genannten Pfads ein Fehler 401
angezeigt:
User-Enumeration by RSS-Feeds
RSS-Feeds
, kurz für Rich Site Summary, sind Web-Feed-Technologien, die automatische Aktualisierungen von Web-Inhalten wie Nachrichten, Blog-Einträgen und Videos in einem standardisierten XML-Format bereitstellen. Nutzer können RSS-Feeds
abonnieren, um die neuesten Inhalte aus verschiedenen Quellen zu erhalten, ohne jede Website einzeln besuchen zu müssen. Ein RSS-Feed
enthält in der Regel Überschriften, kurze Beschreibungen und Links zum vollständigen Inhalt und ermöglicht so einen schnellen Überblick und direkten Zugriff auf die neuesten Informationen.
Wenn ein Theme oder Plugin RSS-Feeds
zur Verfügung stellt, werden bei der Installation in der Regel die ersten Standard-Feeds erstellt, die Informationen über angemeldete Benutzer enthalten. Wenn Sie die RSS-Feed-Funktion
nicht nutzen, sollten Sie sie deaktivieren, da dies ein wesentlicher Bestandteil einer guten Datenhygiene ist.
Um eventuell vorhandene RSS-Feeds
anzuzeigen, fügen Sie der URL Ihrer Website den Pfad /feed
oder /comments/feed
hinzu. Der für die User-Enumeration
relevante Teil könnte dann wie folgt aussehen. Aus diesen Informationen extrahieren Scan-Tools auch vorhandene Benutzerkonten, die durch die oben gezeigte Gegenmaßnahme nicht blockiert werden:
<title>Hallo Welt!</title> <link>https://kb.prontosystems.de/2022/08/31/hallo-welt/</link> <dc:creator><![CDATA[admin]]></dc:creator> <pubDate>Wed, 31 Aug 2022 19:44:17 +0000</pubDate> <category><![CDATA[Allgemein]]></category> <guid isPermaLink="false">https://kb.prontosystems.de/?p=1</guid>
Gegenmaßnahmen
Es gibt verschiedene Methoden, die RSS-Feeds
zu deaktivieren, einschließlich der Verwendung von Code-Snippets oder Plugins. Hier ist eine Methode, um den RSS-Feed
mit einem Code-Snippet zu deaktivieren:
Fügen Sie den folgenden Code in die Datei functions.php
Ihres WordPress-Themes ein:
function disable_feed() { wp_die( __('Es sind keine Feeds verfügbar. Bitte besuchen Sie unsere <a href="'. esc_url( home_url( '/' ) ) .'">Homepage</a>.') ); } add_action('do_feed', 'disable_feed', 1); add_action('do_feed_rdf', 'disable_feed', 1); add_action('do_feed_rss', 'disable_feed', 1); add_action('do_feed_rss2', 'disable_feed', 1); add_action('do_feed_atom', 'disable_feed', 1); add_action('do_feed_rss2_comments', 'disable_feed', 1); add_action('do_feed_atom_comments', 'disable_feed', 1);
Dieser Code fängt alle Anfragen an die RSS-Feed-URL
ab und beendet sie mit einer Meldung, dass kein Feed verfügbar ist, und bietet stattdessen einen Link zur Startseite an. Dies ist eine direkte Methode, um die Verwendung des RSS-Feeds
auf Ihrer WordPress-Seite zu verhindern.
Sicherheits-Plugins
Für WordPress gibt es eine Reihe von Sicherheits-Plugins, die unter anderem die User-Enumeration
deaktivieren. Für ein ausgewogenes Sicherheitskonzept sollten Sie den Einsatz eines solchen Plugins in Erwägung ziehen. Achten Sie außerdem darauf, immer die aktuellen Sicherheitsupdates zu installieren.
Ein Plugin, das in seiner Freeware-Lizenz sowohl die User-Enumeration
als auch die RSS-Feeds
abschalten kann, ist beispielsweise Disable Everything
. Dies ist eine praktische und einfache Möglichkeit, diese und eine Reihe weiterer Einstellungen vorzunehmen, ohne den Umweg über ein Child-Theme
gehen zu müssen. Es sollte erwähnt werden, dass es eine Reihe von anderen Plugins gibt, die eine ähnliche Funktion haben.