WordPress bietet eine Reihe von Informationen über das System:
XML-Seiten
finden sich Links auf spezielle XML-Seiten.
Recht gefährlich ist wohl die REST-API
Also, wenn ich eine Website angreifen möchte, dann würde ich doch im ersten Schritt gerne wissen, wie die Benutzer auf dem System heißen. Dann freue ich mich doch, wenn mir das System selber iese Informationen liefert http://<domain.de>/wp-json/wp/v2/users:
Hinweis: Die Informationen sind in dem Dateiformat json strukturiert . Firefox ist in der Lage, die Struktur zu nutzen, in Chromium-Browsern sieht die Information etwas unübersichtlicher aus.
[{"id":1,"name":"netthelp","url":"http:\/\/wordpress.netthelp.de","description":"","link":"http:\/\/wordpress.netthelp.de\/author\/netthelp\/","slug":"netthelp","avatar_urls":{"24":"http:\/\/0.gravatar.com\/avatar\/3f9d5473bdbd0ade2f77475a42dfaa05?s=24&d=mm&r=g","48":"http:\/\/0.gravatar.com\/avatar\/3f9d5473bdbd0ade2f77475a42dfaa05?s=48&d=mm&r=g","96":"http:\/\/0.gravatar.com\/avatar\/3f9d5473bdbd0ade2f77475a42dfaa05?s=96&d=mm&r=g"},"meta":[],"_links":{"self":[{"href":"http:\/\/wordpress.netthelp.de\/wp-json\/wp\/v2\/users\/1"}],"collection":[{"href":"http:\/\/wordpress.netthelp.de\/wp-json\/wp\/v2\/users"}]}}]
Es bietet sich also an hier den Firefox-Browser zu nutzen oder ein passendes Plugin von https://chromewebstore.google.com/search/json zu installieren.
Die Seite /wp-json/wp/v2/users/ ist übrigens nur eine von vielen Unterseiten, eine Übersicht bekommt man mit http://<domain.de>/wp-json/wp/v2/
Für diese Seite werde ich nur Screenshots von dem Netthelp WordPress darstellen, live können wir uns beliebige Seiten dazu anschauen.
Eine Übersicht über die API-funktionen kann man auf der Seite https://developer.wordpress.com/docs/api/ bekommen.
REST API deaktivieren
Es ist also wichtig, diese Funktionalität nach außen zu deaktivieren. Ganz deaktivieren kann man diese API nicht, dann würden viele Komponenten nicht mehr funktionieren, u.a. auch der Gutenberg Editor.
Im Web findet sich eine Reihe von Anleitungen für unterschiedlichst Wege zur Deaktivierung:
Auf https://seoagentur-hamburg.com/wordpress-rest-api-deaktivieren/ wird empfohlen eine kleine Erweiterung der functions.php vorzunehmen:
<?php
/* Ab hier kopieren */
/**
* REST-API fuer extere User abschalten
*/
add_filter('rest_authentication_errors', function($result) {
if ( ! is_user_logged_in() ) {
return new WP_Error( 'rest_API_cannot_access', array( 'status' => rest_authorization_required_code() ) );
}
return $result;
});
Auf diese Art bekommen nur angemeldete Nutzer Zugriff auf die API.
Auf https://www.netz-gaenger.de/blog/wordpress-tutorials/rest-api-in-wordpress-deaktivieren/ findet sich ein extremerer Vorschlag:
add_filter('rest_enabled', '_return_false');
add_filter('rest_jsonp_enabled', '_return_false');
Ich fürchte, dass damit auch intern die API deaktiviert ist.
Aber auf der Seite wird auch auf eine Lösung verwiesen, ähnlich der, die wir bei Netthelp nutzen, das Plugin https://wordpress.org/plugins/disable-json-api/
Bei Netthelp nutzen wir schon lange das Plugin https://wordpress.org/plugins/disable-wp-rest-api/




