Beschränken Sie den Zugriff auf WordPress-REST-API
Es ist an der Zeit, die Kontrolle über die WordPress-REST-API zu übernehmen
English version: Restrict access to the WordPress REST API
Mit WP Cerber Security können Sie den Zugriff auf die standardmäßig aktivierte WordPress-REST-API einschränken oder vollständig blockieren. Um den Schutz zu aktivieren, gehen Sie auf die Registerkarte Hardening und aktivieren Sie die Option Zugriff auf die WordPress-REST-API blockieren, mit Ausnahme der folgenden .
Wenn Sie Contact Form 7, Jetpack oder ein anderes Plugin verwenden, das die REST-API verwendet, müssen Sie die REST-API-Namespaces wie unten beschrieben auf die Positivliste setzen.
Ermöglichen Sie den Zugriff auf einen bestimmten REST-API-Namespace
Was ist ein Namespace? Namespace ist ein Teil einer Anfrage-URL, mit der WordPress erkennt, welches Plugin oder ein Teil des Codes eine bestimmte REST-API-Anfrage bedienen muss. Um den Namespace zu erhalten, nehmen Sie eine Zeichenfolge zwischen / wp-json / und dem nächsten Schrägstrich in der REST-URL. Jedes Plugin, das die REST-API verwendet, verwendet einen eigenen eindeutigen Namespace. Die folgende Tabelle zeigt Namespaces für einige Plugins.
Plugin | Namespace |
Kontaktformular 7 | contact-form-7 |
Caldera-Formen | cf-api |
Yoast SEO | yoast |
Jetpack | jetpack |
Geben Sie Namespace-Ausnahmen für die REST-API an, falls dies erforderlich ist (siehe Abbildung)
Erlauben Sie Ihren Benutzern, die REST-API zu verwenden
Aktivieren Sie "REST-API für angemeldete Benutzer zulassen", wenn Sie die Verwendung der REST-API für alle autorisierten (angemeldeten) WordPress-Benutzer ohne Einschränkung zulassen möchten.
Beschränken Sie den Zugriff auf die WordPress-REST-API nach IP-Adresse oder IP-Netzwerk
Um den Zugriff auf die REST-API für eine bestimmte IP-Adresse oder ein IP-Netzwerk zu erlauben, fügen Sie sie der White IP Access-Liste hinzu.
Um den Zugriff auf die REST-API für eine bestimmte IP-Adresse oder ein IP-Netzwerk zu blockieren, fügen Sie sie der Black IP Access-Liste hinzu.
Lesen Sie mehr: Verwenden von IP-Zugriffslisten zum Schutz von WordPress
Schutz vor REST-API-Benutzeraufzählung
Um die Benutzeraufzählung zu stoppen und den Zugriff auf Benutzerdetails über die REST-API zu blockieren, müssen Sie nur die Einstellung Benutzeraufzählung stoppen auf der Registerkarte Hardening WordPress aktivieren. Diese Sicherheitsfunktion soll erkennen und verhindern, dass Hacker Ihre Site nach Benutzernamen und Benutzerdetails durchsuchen. Wenn Cerber Security aktiviert ist, werden sowohl die REST-API-Benutzerauflistung als auch herkömmliche Benutzerauflistungsanforderungen für Autorenarchivseiten mit einer URL wie /? Author = n blockiert. Daher hat niemand über die REST-API Zugriff auf die Benutzerdetails, es sei denn, Sie gestatten den Zugriff auf diese wie oben beschrieben.
Was ist überhaupt die REST-API?
Kurz gesagt handelt es sich um eine Technologie, mit der zwei verschiedene Codeteile (Anwendungen) auf standardisierte Weise miteinander kommunizieren und Daten austauschen können. Mithilfe der REST-API können Entwickler WordPress-Inhalte von externen Anwendungen erstellen, lesen und aktualisieren, die auf einem anderen Computer oder einer anderen Website ausgeführt werden. Die WP REST API ist ab WordPress Version 4.7.0 standardmäßig aktiviert.
Lesen Sie mehr: Warum es wichtig ist, den Zugriff auf die WP REST-API einzuschränken
Entwicklerdokumentation: https://developer.wordpress.org/rest-api/
Nächste Schritte, die Ihre WordPress-Sicherheit verbessern
- So blockieren Sie Spam-Benutzerregistrierungen
- So blockieren Sie Spam-Formulare
- So blockieren Sie einen WordPress-Benutzer
- So blockieren Sie den Zugriff von einer bestimmten IP-Adresse aus
- So deaktivieren Sie einen bestimmten Benutzernamen
Was ist die Cerber-Sicherheit überhaupt? Es handelt sich um eine vollständige Sicherheitslösung für WordPress, die aus einem einfachen, aber effektiven Plugin für Anmeldeversuche mit eingeschränkten Möglichkeiten entwickelt wurde .
OK. But how do I know whether a plugin uses the REST API so I have to add it to the namespace access-list?
1. From the documentation on a plugin.
2. Checking for REST API requests on the Live Traffic page: just click the small “REST API” button above the table.
3. If you know the REST API namespace that is used by a plugin you can search for requests by entering that REST API namespace on the Advanced search form in the “URL contains” field.
4. Disable REST API in the settings completely and check how the plugin works. If the plugin doesn’t work anymore, that means it uses REST API. To find out its namespace look for “Request to REST API denied” events the Activity page.
Mmm… thnx, but that does not really make me happy. I checked e.g. the contact form and that worked because the REST API works for the administrator. For me small blogger with 22 plugins operational this becomes a nuisance and a lot of time and work. Can’t this be done automatically eg by suggesting or something?
And while we are talking, why should I not permit /oembed/ as a permitted namespace? It seems to be used by a robot (and of course Cerber blocks it correctly 🙂 ).
For other questions I will use the support blog as I normally do.
Sorry for the kind of abuse of this blog. Won’t do it again.