WordPress Version verstecken

Es hat mich schon immer genervt, dass WordPress relativ gesprächig ist, wenn es um Interna des Systems geht. So wird mit Freuden für jede geladene JavaScript-Datei die Versionsnummer angegeben, es werden interne URL-Strukturen verraten und selbst die Version der eigentlichen Software findet sich hier und dort wieder.

Ich hatte deshalb damals angefangen, die URL-Struktur meines Blogs zu verbergen. Nach mehreren Jahren kann ich sagen, dass dies viele Angriffe verhindert hat (vor allem in letzter Zeit, wo die Angriffe auf WordPress-Blogs stark zunahmen).

Doch auch mit der Versionnummer, die sich im Generator-Tag im HTML-Quelltext und im RSS-Feed findet, lässt sich einiges anfangen. Auch diese Informationsquelle wollte ich potentiellen Angreifern gern entziehen. Zum Glück gibt es z.B. auf wpbeginner.com alles, was man wissen muss - es muss nur noch in ein Plugin überführt werden. Aktivieren. Fertig.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
  /*
    Plugin Name: HideVersion
    Plugin URI: https://weizenspr.eu/
    Description: Hides the WordPress version from generated pages.
    Version: 0.1c1
    Author: Kevin Niehage
    Author URI: https://weizenspr.eu/

    this code is based on http://www.wpbeginner.com/wp-tutorials/the-right-way-to-remove-wordpress-version-number/
  */


  /* STOP EDITING HERE IF YOU DO NOT KNOW WHAT YOU ARE DOING */

  // remove generator from HTML head
  remove_action("wp_head", "wp_generator");

  // remove generator from RSS
  function hideversion_returnempty() {
    return "";
  }
  add_filter("the_generator", "hideversion_returnempty");
?>

Auf Seiten wie z.B. isitwp.com kann man dann einfach mal ausprobieren, ob einfache Analyser noch Erfolg haben. Es wäre natürlich großartig, wenn diese bei der Erkennung einfach komplett versagen. Das Ergebnis beim Einsatz von HideStructure und HideVersion sieht jedenfalls so aus:

Is it WordPress?

Is it WordPress?

Der ein oder andere mag natürlich der Überzeugung sein, dass es relativ sinnlos ist, verschleiern zu wollen, welches CMS man auf einem privaten Blog einsetzt. Dahinter steht jedoch einiges mehr. Das unnötige Verraten von internen Strukturen bezeichnet man hinlänglich als Information Leakage. Es mag auf den ersten Blick nicht immer ersichtlich sein, wofür solche Informationen genutzt werden, aber ein Nutzen ist jedenfalls gegeben. So kann ein Angreifer z.B. durch das regelmäßige Prüfen der Versionsnummer herausfinden, wie lange der Betreiber in der Regel benötigt, um auf eine aktuelle Version zu wechseln.

Wenn wir als Beispiel den neuen "sicheren" E-Mail-Dienst mailbox.org nehmen, sehen wir relativ schnell, dass der Dienst tatsächlich WordPress verwendet.

Zum Schluss noch etwas Rechtliches:
Der Autor dieses Programms haftet nicht für Schäden an Soft- oder Hardware oder Vermögensschäden, die durch das Benutzen des Programms entstehen, es sei denn, diese beruhen auf einem grob fahrlässigen oder vorsätzlichen Handeln des Autors, seiner Erfüllungsgehilfen oder seiner gesetzlichen Vertreter.

Versionierte Grüße, Kenny

6 Kommentare » Schreibe einen Kommentar

  1. Mal im ernst als ob es was bringen würde eine Version von WordPress zu entfernen. Hacker sie Ziele haben werden sicherlich nicht nach der Version von WordPress nach gehen. So ein Schwachsinn hab ich auch noch nicht gehört. Ich denke eher das es nichts mit Sicherheit zutun hat sondern man will nur verschleiern das man WordPress benutzt sonst nichts anderes ist das. Hacker die in ein System Server eindringen werden andere Möglichkeiten nutzten die man hier nicht auflisten muss.

    • Du scheinst dich ja super in der Thematik auszukennen. Respekt dafür.

      Ja, in der Tat haben Hacker andere Möglichkeiten, in Systeme einzudringen, als sich an bekannte CVEs zu hängen - ich spreche da aus beruflicher Erfahrung. Wenn ich als Pen-Tester Systeme abklopfe, sind CVEs nur der erste Schritt - falls ich denn überhaupt weiß, welche Software da läuft.

      Was du allerdings offenbar ausblendest, ist, dass der Großteil der Angriffe auf automatisierten Abfragen basiert. Klar, kann man diese einfach programmieren und konstant gegen die gleiche URI laufen lassen. Ich habe aber auch schon Angriffe gesehen, die vorher die korrekten Pfade ermittelt haben: So ein Vorgehen erhöht einfach die Erfolgschance. Genau solche Angriffe werden durchaus erschwert.

      P.S.: Ein Hacker, der es wirklich auf meinem Blog abgesehen hat, wird längst erfahren haben, dass ich WordPress einsetze. Du kannst dir sicher sein, dass mir das bewusst ist.

    • Hihihi. Ehrlich gesagt habe ich auf so eine Steilvorlage gewartet. Denn genau in deinem verlinkten Wikipedia-Beitrag steht auch: "Als Ergänzung bestehender Sicherheitskonzepte kann sich Verschleierung jedoch als wirkungsvoll z. B. gegenüber automatisierten Angriffen erweisen."

      Das Verstecken von Interna als einzige Vorkehrung ist in der Tat ein großes Sicherheitsproblem. Das zusätzliche Verstecken von Interna kann aber sehr wohl ein Mittel sein zu Vermeidung von Information Leakage. Ich gehe an dieser Stelle mal davon aus, dass WordPress auch weitergehende Sicherheitsmechanismen einsetzt. 😉

      • Es ist halt Homöopathie. So lange man trotzdem noch zum Arzt geht, wenn man krank ist, hab ich da kein Problem mit. Hilfen tut es allerdings wenig. 😉

        • In dem Licht betrachtet sind auch Honeypots keine Sicherheitsmaßnahme - dabei helfen sie sehr wohl, Angriffe zu erkennen, um im Anschluss überhaupt darauf reagieren zu können. Wie so oft, gibt es wohl keine reine Lehre. 🙂

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.