Blog Falscher Alarm beim Wordfence Datei-Scan

Falscher Alarm beim Wordfence Datei-Scan

Wordfence ist eines der beliebtesten Sicherheitsplugins für WordPress. Über den Sinn und Nutzen solcher angeblich umfassenden Sicherheitssuiten kann man sicherlich streiten. Jedoch bietet Wordfence eine recht interessant Funktion: es scannt das WordPress-Verzeichnis und vergleicht alle Dateien mit der jeweiligen Datei auf dem Originalserver von WordPress. Gleiches gilt auch für alle Plugins und Themes, die auf wordpress.org verfügbar sind. Alle Änderungen an diesen Dateien meldet Wordfence und stellt so einen Schutz gegen unerlaubte Dateizugriffe von Hackern dar. Allerdings gibt es auch immer wieder Falschmeldungen.

Grundlagen zu Wordfence

Neben der bereits in der Einleitung erwähnten Funktion, Dateien mit deren Original auf den WordPress-Servern zu vergleichen, hat Wordfence noch unzählige andere Funktionen, so dass deren Beschreibung diesen Artikel sprengen würde. Hinweisen möchte ich jedoch noch auf die Web Application Firewall, eine Komponente von Wordfence, die  vor jedem Aufruf einer URL der Website prüft, ob es sich um einen bösartigen Angriff handelt, zum Beispiel um ein bekanntes Angriffsmuster für eine Sicherheitslücke und diesen Zugriff dann blockt. Eine Technik, die ich (in anderer Form) bei all meinen Kundenseiten ebenso einsetze.

Konfiguration von Wordfence

Um nicht nur die WordPress-Dateien, sondern auch die Dateien aller frei verfügbaren Plugins und Themes zu testen, müssen zuerst zwei Optionen in den Einstellungen von Wordfence aktiviert werden.

Unter „Wordfence > Options“ müssen unterhalb des Punktes „Scans to include“ die Checkboxen bei „Scan theme files against repository versions for changes“ und „Scan plugin files against repository versions for changes“ aktiviert werden.

Den Scan selber startet man über „Wordfence < Scan“ und den großen Button „Start a Wordfence scan„. Da nun alle Dateien und noch einige andere Dinge geprüft werden, kann dieser Scan je nach Hostingumgebung einige Zeit dauern. Am Ende erhält man ein Ergebnis mit allen eventuell kritischen Elementen.

Falschmeldungen beim Dateiscan

Es liegt in der Natur der Sache, dass Sicherheitsscans auch mal falsch liegen und sogenannte „False Positives“ erzeugen, also Warnmeldungen, die aber bei näher Betrachtung inkorrekt sind. Die Schwierigkeit bei Warnmeldungen ist es also, die echten Meldungen von den Falschmeldungen zu unterscheiden. Im Zusammenhang mit Wordfence sind mir dabei diverse Muster von Warnmeldungen aufgefallen, die zwar generell technisch gesehen korrekt sind, inhaltlich aber als durchaus nicht relevant und ungefährlich angesehen werden können.

Aktualisierte Readme-Dateien und Plugin-Infos

Eine Variante dieser ungefährlichen Warnmeldungen sind Meldungen, die sich auf geänderte Readme-Dateien von Plugins beziehen. Die Readme-Dateien (readme.txt) liegen im Plugin-Verzeichnis und werden auch für die Anzeige der Informationen im offiziellen Plugin-Verzeichnis auf wordpress.org genutzt. Häufig ändern Autoren in diesen Dateien Kleinigkeiten, ohne eine neue Version des Plugins zu veröffentlichen. Gleiches gilt auch für die Haupt-Plugin-Datei (plugin-name.php). Auch hier werden gerne Meta-Angaben zum Plugin aktualisiert. Vergleicht Wordfence nun die Readme-Datei des installierten Plugins auf der Website mit der aktuellen Version im WordPress-Repository unterscheiden sich beide Dateien und da Wordfence nicht weiß, dass es sich bei der Datei im Repository um eine nachträglich aktualisierte Variante handelt, geht das Sicherheitsplugin von einer Änderung in der Website aus und schlägt Alarm.

Beliebte Änderungen sind zum Beispiel:

  • Korrektur von kleineren Tippfehlern
  • Änderungen der WordPress-Version, mit denen das Plugin erfolgreich getestet wurde (häufig nach WordPress-Updates)
  • Links/URLs zur Plugin-Website oder Pro-Versionen

Die hier gezeigte Warnmeldung des Plugins „Woo Sidebars“ wurde von Wordfence erzeugt, da der Autor nachträglich seine Plugin-Dateien geändert hat, dafür aber keine neue Version veröffentlicht hat. Mit einem Klick auf den Link „See how the file has changed“ kann man prüfen, welche Änderungen vorgenommen wurden.

Die Anzeige der Unterschiede zwischen der Datei auf der Website und auf dem offiziellen WP-Server zeigt, dass der Autor die Angabe zur Kompatibilität des Plugins von WP 4.3 auf 4.6.1 erhöht hat, ohne dafür eine neue Version zu veröffentlichen.

Spezielle Falschmeldungen bei deutscher WP-Version

Wer seine WordPress-Version von de.wordpress.org heruntergeladen hat, erhält eine leicht angepasste WP-Version. In dieser sind einzelne Dateien ins Deutsche übersetzt. Diese Anpassungen registriert auch Wordfence und schlägt Alarm.

wp-config-sample.php geändert

Eine dieser Dateien ist die wp-config-sample.php, also die Beispieldatei für die Konfiguration von WordPress. Die deutsche Installation hat hier die Kommentare übersetzt, um die Installation einfacher zu gestalten. Da es sich nicht um ein Plugin oder Theme, sondern eine Datei des WordPress-Cores handelt, schlägt Wordfence nochmal deutlicher Alarm.

Auch hier hilft natürlich ein Blick in die Detailansicht der Dateiänderungen über den Link „See how the file has changed„.

Man kann sehr schön sehen, dass es sich ausschließlich um die geänderten Kommentare handelt, die vom Englischen in das Deutsche übersetzt wurden.

Handlungsempfehlung bei Falschalarm

Kann man sich aufgrund der Kontrolle der Datei sicher sein, dass es sich um falschen Alarm handelt, soll die entsprechende Meldung ja nicht bei jedem neuen Scan (ggf. regelmäßig) auftauchen, um nicht mehr Aufregung zu verursachen als nötig.

Wordfence bietet mehrere Möglichkeiten, mit einer geänderten Datei umzugehen:

  • „Restore the original version of this file“ – die Originalversion der Datei wiederherstellen
    Hierbei wird die lokale Datei der eigenen Installation gegen die aktuellste Variante vom WP-Server ersetzt. Dies ist kein Problem, wenn es sich um Aktualisierung von Metadaten handelt. Ansonsten würde ich mit dieser Maßnahme vorsichtig sein, um nicht versehentlich Seiteneffekte (mit anderen Änderungen) zu verursachen.
  • „I have fixed this issue“ – Fehler wurde behoben
    Kurzfristig wird die Warnung damit ausgeblendet, jedoch beim nächsten Scan wieder angezeigt. Für unsere falschen Alarme also keine Lösung.
  • „Ignore until the file changes“ – Datei ignorieren, bis sie sich wieder ändert
    Dies ist die eigentlich beste Lösung für Falschmeldungen. Bleibt die Datei im aktuellen Status, wird diese Änderung nicht mehr angezeigt. Ändert sich die Datei jedoch erneut, wird wieder eine Warnung angezeigt.
  • „Always ignore this file“ – Datei immer ignorieren
    Diese Einstellung kann gefährlich sein, da spätere (bösartige) Änderungen nicht mehr protokolliert werden. Bei reinen Textdateien (Readmes) weitestgehend ungefährlich, da sich darin kein ausführbarer Code befinden kann.

Aus meiner Sicht empfehle ich immer die Option „Ingore until the file changes„, da es die beste Kombination aus dauerhaftem Schutz und Überwachung und gleichzeitig aber Schutz vor unnötigen Fehlermeldungen ist.

Tipp zum Abschluss: Wordfence-Tabellen wieder entfernen

Wordfence legt einige eigene Tabellen in der WordPress-Datenbank an, die normalerweise auch erhalten bleiben, wenn man das Plugin wieder löscht. Da dies unnötigen Müll in der Datenbank zurücklässt, wäre es wünschenswert, diese Tabellen auch automatisch entfernen zu können.

In Wordfence muss man dafür eine Option aktivieren, die aber standardmäßig deaktiviert ist. Unter „Wordfence > Options“ findet sich die Checkbox „Delete Wordfence tables and data on deactivation„.

Allerdings werden damit die Daten bereits beim Deaktivieren des Plugins entfernt (inklusive allen Konfigurationen des Plugins). Wer das Plgin also nur mal kurz Deaktivieren möchte, sollte lieber auf das Setting verzichten, wenn er nachher nicht alles wieder konfigurieren möchte.

6 Gedanken zu „Falscher Alarm beim Wordfence Datei-Scan“

  1. vielen Dank für deinen Beitrag.
    Was mich allerdings deutlich mehr bei wordfence stört, sind die Warnmeldungen der Art „Problems are found on…“ und dann geht es nur um die Aktualisierung irgendeines plugins! Diese Art Meldungen würde ich gern unterdrücken, da ich eh regelmäßig in meine Seiten schaue. Hast du dafür eine Idee?

    Antworten
    • Soweit ich weiß, kannst du insgesamt die Warn-E-Mail verhindern, die du in solchen Fällen geschickt bekommst. Jedoch wird die Mail dann auch nicht versendet, wenn es um andere Warnungen geht. Die Prüfung auf Updates in Wordfence zu deaktivieren ist nicht möglich. Insgesamt ist diese Prüfung auch sinnvoll und hilfreich. Jedoch natürlich nicht, wenn man sich ohnehin zeitnah selber darum kümmert.

      Antworten
  2. Hallo, sehr hilfreicher Beitrag, vielen Dank dafür. Ich habe seit heute die Meldung dass an der functions.php Änderungen vorgenommen worden wären die vom Original abweichen, obwohl ich kein Update oder ähnliches gemacht habe. In der Zeile 2887 hat sich folgendes verändert von

    <?php
    die();
    }

    in

    <?php
    exit(1);
    }

    also von die() in exit(1)

    Nun habe ich keine große Ahnung, sollte ich Änderung rückgängig machen?

    Vielen Dank im voraus

    Antworten
    • Hallo Murat,
      handelt es sich um ein Theme aus dem offiziellen WordPress-Verzeichnis? Bei den Themes (aber auch bei manchen Plugins) passiert es schonmal, dass der Autor kleinere Änderungen vornimmt und ins Verzeichnis hochlädt ohne eine neue Versionsnummer für sein Theme oder Plugin zu vergeben. In einem solchen Fall zeigt Wordfence dann einen Unterschied an.
      Das ist aber kein Grund zur Sorge. Du kannst die Meldung also einfach ignorieren. Oder tatsächlich den Code ersetzen und so den aktuellsten Stand deiner Theme-Version einsetzen.
      Grüße, Marc

      Antworten
    • Wordfence kann Änderungen nur im Vergleich zu Themes aus dem offiziellen Repository vergleichen. Divi ist aber ein kostenpflichtiges Theme.
      Sicher, dass das angezeigte Problem in einer Datei von Divi ist? Du kannst mir gerne auch ne Mail schreiben und nen Screenshot anhängen: mail@wp-wartung24.de
      Marc

      Antworten

Schreibe einen Kommentar