Aus aktuellem Anlass gebe ich hier den Hinweis, dass WordPress-Webseitenbetreiber ihre Webseite auf 4.7.2 aktualisieren sollten, die derzeit 4.7 oder 4.7.1 betreiben. In WordPress 4.7.2 wird eine Sicherheitslücke geschlossen, die durch die REST API besteht und durch die unauthentifizierte Angreifer Schadcode einschleusen oder Inhalte löschen können. So kann man die API einfach deaktivieren.
Inhaltsverzeichnis:
Was ist die REST API?
Die REST API wurde geschaffen um es zu ermöglichen auf Daten der WordPress-Installation von anderen Servern aus zuzugreifen. Man könnte also theoretisch per HTTP-Request Daten löschen, anlegen, verändern, etc. Das sollte aber natürlich nur im angemeldeten Zustand möglich sein. In der hier genannten Sicherheitslücke ist dies aber auch un-authentifiziert möglich.
Kann man die REST API einfach schließen?
Die API hat enormes Potential die Arbeit mit einer WordPress-Webseite zu erleichtern. Dennoch machen nur relativ wenige Gebrauch dieser Funktion. Wer also die REST API nicht nutzt, der kann diesen potentiellen Einfallsweg einfach deaktivieren.
REST API mit WordPress Plugin schließen
Mit dem Plugin „Disable Rest API“ kann man problemlos die REST API deaktivieren.
REST API ohne Plugin deaktivieren
Wer kein Plugin verwenden will, der kann die REST API auch mit einem Filter in der functions.php deaktivieren:
add_filter('rest_enabled', '_return_false'); add_filter('rest_jsonp_enabled', '_return_false');
REST API mit iThemes Security einschränken
iThemes Security hat schon lange das Sicherheitsrisiko der REST API entdeckt. Hier kann man die Anwendung der API mit Authentifizierung einfordern. Die Einstellung findet man in iThemes unter „WordPress Optimierungen“.
Achtung: Bitte die hier aufgeführten Lösungsmöglichkeiten auf Funktionalität überwachen. Ständige Änderungen an Systemen wir WordPress könnten die Lösungsmöglichkeiten unwirksam machen.
Power
__ return_false mit zwei __
sonst gibts massig: call_user_func_array() expects parameter 1 to be a valid callback, function ‚_return_false‘ not found …
vielen Dank für die Anleitung, hat mir sehr geholfen
Hansjörg Leichsenring
Das könnte sein
Hansjörg Leichsenring
Wie ist denn diese Alternative zu beurteilen?
function remove_api () {
remove_action( ‚wp_head‘, ‚rest_output_link_wp_head‘, 10 );
remove_action( ‚wp_head‘, ‚wp_oembed_add_discovery_links‘, 10 );
}
add_action( ‚after_setup_theme‘, ‚remove_api‘ );
Gruß
Hansjörg Leichsenring
René Dasbeck Post author
Entfernt das nicht nur Links im Head?