WordPress Sicherheit: Versionsnummern entfernen
So können Sie offensichtliche Versionsnummer von WordPress entfernen und es Angreifern zumindest etwas schwerer machen.
WordPress ist was die Versionsnummer angeht recht freizügig. An vielen Stellen im Quellcode steht immer wieder die genutzte Version und auch in verschiedenen Lizenz- und Readme-Files. Dieser Artikel erläutert, wie Sie die Versionsnummer an verschiedenen Codestellen entfernen können.
Wir konzentrieren uns also zunächst auf den HTML-Header. Dort fügt WordPress die Versionsnummer per Meta-Tag hinzu. Das lässt sich recht einfach per remove_action entfernen:
remove_action('wp_head', 'wp_generator');
Die nächste Stelle ist dann der RSS-Feed. Dort fügt WordPress ein Generator-Tag ein. Das können wir recht einfach mit einem Filter ausstellen. Die aufgerufene Funktion gibt dann einfach einen leeren String zurück.
function tricd_remove_wp_version_rss() { return''; } add_filter('the_generator', 'tricd_remove_wp_version_rss');
Das sind aber auch noch nicht alle Stellen, denn auch URL der zu ladenden Javascript- und Stylesheet-Dateien wird mit einer Versionsnummer versehen. Diese können wir ebenfalls per Filter entfernen.
function tricd_remove_wp_version_css_js_parameter($url) { if (strpos( $url, 'ver=')) { $url = remove_query_arg('ver', $url); } return $url; } add_filter('style_loader_src', 'tricd_remove_wp_version_css_js_parameter', 9999); add_filter('script_loader_src', 'tricd_remove_wp_version_css_js_parameter', 9999);
Nachdem alle Maßnahmen getroffen sind, lässt sich zumindest nicht mehr im Quellcode offensichtlich die Versionsnummer von WordPress erkennen. Das Ganze ist natürlich kein echter Schutz, verlangt von Angreifern allerdings vertiefte Kenntnisse die richtigen Angriffsmethoden zu wählen.
Sollten Sie Probleme mit der Sicherheit Ihres WordPress-Systems haben oder sich um die Sicherheit sorgen, können Sie mich gern kontaktieren.
Update 13. März 2015:
Ich habe diese Funktionen und einige mehr in mein Plugin Zorro gegossen. Es ist über das WordPress Plugin Repository bzw. direkt in der WordPress Plugin Verwaltung verfügbar.
Mitdiskutieren