Jump to content

Hardening WordPress

From Parasol

Dieses Dokument basiert auf zwei (1, 2) Wordpress-Analysen der syss GmbH.

Preisgabe der installierten Version

[edit]

Vollständige Unterdrückung der Wordpress-Version durch <ref>Die SySS GmbH konnte durch die eingesetzte Wordpress-Version 4.6.1 an mehreren Stellen ermitteln. Zum einen war diese über die folgenden Links einsehbar: • https://xxxxxxxxxxxxx.xx/wp-links-opml.phphttps://xxxxxxxxxxxxx.xx/readme.html Zum anderen konnte die Version auch direkt im meta-Tag1 „generator“ im Quelltext jeder Seite ausgelesen werden. I2.1 Die eingesetzte Version 4.6.1 ist zum Testzeitpunkt aktuell, was die SySS GmbH begrüßt. Generell ist eine vollständige Unterdrückung der Wordpress-Version nicht ganz einfach möglich. Durch ein Fingerprinting kann auch, wenn obige Ausgaben alle unterdrückt wären, aus dem Vorhandensein von Stylesheets in einer bestimmten Version auf die installierte Wordpress-Version rückgeschlossen werden. Allerdings greifen automatisierte Scanner im Regelfall auf die obigen Quellen zurück und werden möglicherweise durch Entfernung dieser ausgebremst.</ref>

function wpbeginner_remove_version() {
    return ;
}
add_filter('the_generator', 'wpbeginner_remove_version');

in {theme}/functions.php

Administratives Back-End erreichbar

[edit]

Zugriff auf den /wp-admin-Ordner zusätzlich bereits auf Perimeterebene schützen <ref>Üblicherweise ist es aus Sicherheitssicht empfehlenswert, den Zugriff auf den /wp-admin-Ordner, der unter https://xxxxxxxxxxxxx.xx/wp-admin/ erreichbar ist, zusätzlich bereits auf Perimeterebene zu schützen. Im Moment ist kein Schutz vorhanden, wie die SySS GmbH beispielsweise durch den Aufruf von https://xxxxxxxxxxxxx.xx/wp-admin/js/xfn.js nachweisen konnte. Dies kann durch Einschränkung des Zugriffs auf bestimmte IP-Adressen der Dienstleisterfirma und Beispielfirma und/oder durch eine zusätzliche HTTP Basic Authentication geschehen. L2.1 Allerdings verwendet Wordpress für die AJAX-Funktionalität die Datei /wp-admin/admin-ajax.php. Da auch das öffentlich erreichbare Front-End die AJAX-Funktionalität für die Umfragen verwendet, muss sichergestellt werden, dass der Zugriff auf diese einzelne Datei weiterhin erlaubt bleibt. Eine detaillierte Anleitung, wie der Passwortschutz eingerichtet werden könnte, findet sich beispielsweise unter http://www.wpbeginner.com/wp-tutorials/how-to-password-protect-yourwordpress- admin-wp-admin-directory/.</ref>

IP und/oder htpasswd Schutz auf wp-admin (admin-ajax.php ausnehmen)

in Webserver Config.

XML Remote Procedure Call

[edit]

„XML Remote Procedure Call“-Schnittstelle von Wordpress deaktivieren <ref>Unter https://xxxxxxxxxxxxx.xx/xmlrpc.php ist die standardmäßig aktivierte „XML Remote Procedure Call“-Schnittstelle von Wordpress aktiv. Diese wird vom öffentlich erreichbaren Teil der Webseite nicht benötigt. Falls diese tatsächlich auch nicht anderweitig benötigt wird, empfiehlt die SySS GmbH, diese zu deaktivieren, da die Schnittstelle in der Vergangenheit missbraucht werden konnte. Beispielsweise konnten und können Angreifer die Schnittstelle für Distributed-Denial-of-Service- oder Passwort- Rate-Angriffe verwenden. Die Deaktivierung kann durch eine Anpassung im Wordpress-Theme oder durch einen simplen Schutz mittels einer .htaccess-Datei erfolgen. Ähnliches gilt für die „Pingback“-Funktionalität von Wordpress. Wird diese nicht benötigt, so sollte sie im Dashboard deaktiviert werden.</ref>

WordPress Tweaks/XML-RPC

in iThemes Security

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX

XXX

[edit]

XXX <ref>XXX</ref>

XXX

in XXX



Detailausführungen

[edit]