WordPress Version verschleiern (Plugin)

WP Flame
Bild: Noticiastech

Wie man WordPress in 11 Punkten sicherer macht, dass habe ich im Artikel „WordPress sicherer machen“ auf dem Blog zu meinen Buch „WordPress - Weblogs einrichten und administrieren“ in kurzer und knapper Form erläutert.

Dabei erläutere ich in Punkt 4 des Artikels, dass man dem Außenstehenden nicht unbedingt die Version seiner Installation verraten sollte. Dies ist vor allem relevant, wenn man das Blog nicht immer auf dem neusten Stand hält/ halten kann.
Dafür kann es eine ganze Reihe von Gründen geben. Nehmen wir beispielsweise ein Kundenprojekt, aufgesetzt mit WordPress. Nach besten Wissen und Gewissen eingerichtet und administriert. Allerdings möchte der Kunde keinen weiteren Pflegevertrag und so liegt das Blog in der Regel mit der einmalig installieren Version auf dem Webspace.

Allerdings ist es nicht für jeden Anwender einfach, die Versionsnummer zu entfernen bzw. zu ändern, deshalb habe ich mir eine Lösung via Plugin überlegt.

Im WWW werden in der Regel Sicherheitslücken mitgeteilt und auch potenziell böswillige Interessenten nutzen diese Information und suchen nach den entsprechenden Versionen mit ihren Schwachstellen.

Eine Webapplikation wirklich sicher zu bekommen, so dass auch die Arbeit damit nicht zur Last fällt, ist sicher immer schwierig, aber die Verschleierung der Version ist sicher ein weiterer Schritt zu mehr Sicherheit.

Nun aber wieder zur Ausgabe der WP-Verison, die in der Regel im Feed und im Theme zu finden ist. Das Entfernen im Theme stellt keine großen Probleme dar, dazu genügt das entfernen der folgenden Zeile.

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Aber auch das kann für den einen oder anderen schon zum Problem werden.

Um nun aber die Version der WP-Installation auch noch aus dem Feed zu bekommen, muss man in die Core-Dateien von WordPress eingreifen. Dies erschwert Updates und ist aus den unterschiedlichsten Gründen nicht zu empfehlen, zumindest für den Laien.

Ab Version 2.5 von WordPress wird der Generator-Tag mit Hilfe einer neuen Funktion (the_generator()) in die jeweiligen Funktionen, wie RSS, ATOM oder RDF, eingebracht, was es ein wenig einfacher macht, die Ausgabe der Installations-Versions-Nummer zu unterbinden.
Derzeit wird es in der Datei zum Erstellen des RSS und Atom-Feeds via bloginfo_rss() eingefügt und ansonsten wird direkt die Variable ausgelesen.

Ich habe nun ein Plugin erstellt, dass alle drei Möglichkeiten beachtet und die Versionsnummer im Backend auch weiterhin ausgibt, denn sie ist für das eine oder andere Plugin relevant.

Update

Im weiteren Verlauf ist ein Plugin entstanden, welches weitere Sicherheitsprobleme schließt - Secure WordPress. Dieses Plugin hat diese Lösung im Kern und kann es damit ersetzen.

Replace WP-Version (Plugin)

Das Plugin ersetzt die WordPress-Versionsnummer mit einer Zufallszahl zwischen 0 und 9999 bei einer WordPress-Installation kleiner Version 2.4.

Ab WordPress Version 2.4 wird der Tag komplett entfernt.

Anforderungen:

Das Plugin wurde unter WP 2.0.2, WP 2.3.* und WP 2.4beta getestet.
Achtung: Ich habe das Plugin nach bestem Wissen erstellt und getestet incl. Validierung der Feeds. Trotzdem kann es zu Problemen kommen, denn es ist kein Filter, den man in WordPress deaktivieren kann. Sollte es also zu Problemen mit dem einen oder anderen Plugin kommen - ich würde mich über Feedback freuen. Aber ich kann und will keine Garantie für die problemlose Funktion übernehmen!

Installation:

  1. Die zip-Datei downloaden und entpacken
  2. Kopiere die Datei in dein Plugin-Verzeichnis (/wp-content/plugins/)
  3. Aktiviere das Plugin im Adminbereich deines Blogs

Download:



Ist die Arbeit nicht 1 Euro wert?
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.
Möchtest du mehr oder anders spenden, so besuche meine Wunschliste.

Download als zip-Datei: downloads.wordpress.org/plugin/replace-wp-version.zip - 1 kByte

Historie

  • v0.1 - Idee und Umsetzung
  • v0.2 - 0.3 - Codeverbesserung, Testphase mit DB-Änderung
  • v1.0 - Stabiler Stand in allen WordPress-Versionen, test bis 2.6entw.

39 Kommentare

  1. Hallo Frank, ich bin etwas irritiert. Du schreibst, dass ab Version 2.4 der Tag gar nicht mehr erscheinen würde. Wenn ich aber in den Header meines Blogs gucke, dann erscheint eine Zahl anstatt gar nichts. Ich verwende WP2.5.

  2. @André Wegner: Das Theme wird via Hook wp-head() angesprochen, daher kann man die Version auch nicht mehr so einfach entfernen, wie bisher. Das Plugin löscht den Eintrag raus.

  3. Hi, I use your plugin, but I have a problem:
    If I try to open /wp-admin/upgrade.php it says that an upgrade is required. And if I try to do that upgrade, the database screws up, and needs a backup-restore.
    The reason is that $wp_db_version is rewritten by a random number, and hence it doesn't equal to get_option('db_version') anymore.
    A temporary fix is to comment out row 27:

    // $wp_db_version = $v;

    Thank you for your work! :-)

  4. Pingback: Wordpress i

Kommentare sind geschlossen.