Malware entfernen mit WordFence CLI

WordPress ist mit Abstand das beliebteste CMS, was einige Vorteile mit sich bringt… aber leider auch ein paar Nachteile! Wegen der breiten Installationsbasis ist WordPress eine beliebte Zielscheibe für Angreifer jeglicher Art. Erfreulicherweise enthält die Software gute Sicherheitsfunktionen und das Angebot an Security-Plugins ist riesig! Eines der beliebtesten davon ist WordFence, es bietet nicht nur Features zum Absichern einer Installation, es erschwert auch Login-Versuche und bietet einen Scanner, der Schadsoftware aufspürt. Der Name ist also Programm, Fence heisst Zaun – einer, der nicht mehr so leicht übergangen werden kann!

Die einzelnen WordFence Features können bequem aus einem Dashboard heraus gestartet werden. Das klingt prima – und ist es auch! Naja, solange man nur einige wenige WordPress Seiten verwalten muss! Werden es mehr und immer mehr, wird die Angelegenheit  mühsam: Einloggen, Updates prüfen, Scannen, Ausloggen, etc. Glücklicherweise bietet WordFence auch eine CLI Version an (Command Line Interface). Das bedeutet, dass WordFence auch mit der Shell, heisst Kommandozeile auf einem Linux oder UNIX Server genutzt werden kann. Alles, was Sie dazu benötigen, ist ein Secure Shell (SSH) Login für Ihre Webseite, resp. Ihre Webseiten. Nehmen wir einfach einmal an, es gibt einen Linux Server, auf dem zehn WordPress Seiten laufen, alle im Ordner /var/www. Besser könnten die Voraussetzungen für WordFence nicht sein. Mit den folgenden Kommandos kann WordFence CLI installiert und ausgeführt werden. Die Software ist in der Basisversion übrigens kostenlos. 

Hier sind die drei wichtigsten Massnahmen, um Ihre WordPress Instanz wirksam zu schützen:

  • Achten Sie darauf, dass WordPress, alle Plugins und Themes stets aktuell sind. Nutzen Sie die Auto-Update Funktion, die automatisch im Hintergrund alle neuen Versionen herunterlädt und installiert.
  • Wenn Ihr Hoster eine Web-Firewall anbieter, aktivieren Sie diese. Apropos Hoster, auch dieser sollte stets aktuelle Versionen von PHP, Apache und MySQL anbieten.
  • Verwenden Sie starke Passwörter und ersetzen Sie diese regelmässig.


Ob es für Ihr Webserver Abo einen SSH Zugang gibt, können Sie in den Unterlagen nachsehen. Es liegt in der Natur der Sache, dass die Hosting Anbieter hier eher etwas zurückhaltend sind. Bei manchen Anbietern können Sie SSH als Zusatzoption bestellen. Wenn dies alles geklärt ist, können Sie mit der Windows Powershell, mit PuTTY oder einem anderen Konsolenprogramm einloggen und werden darauf von einem Prompt mit freundlich blinkendem Cursor begrüsst. Bei mir siehts so aus:

benjamin@megatux:~$ _

Im nächsten Schritt geht es darum, WordFence CLI zu installieren. Grundsätzlich geht dies mit folgendem Kommando:

pip3 install wordfence

pip3 ist der Paket Installer für Python 3. Wenn Sie jetzt einen Fehler angezeigt bekommen wie zum Beispiel “not found”, fehlt vermutlich Python 3 auf Ihrem System. Oder wenigstens der pip Installer! Kontrollieren Sie Ihre Unterlagen, ob Python 3 installiert werden kann, oder fragen Sie den Systemverantwortlichen. Es könnte auch sein, dass Python 3 zwar da ist, Sie aber keine Root Rechte haben. In diesem Fall können Sie WordFence in Ihrem privaten Ordner installieren: pip3 –user install wordfence

Sobald WordFence CLI installiert ist, können Sie es aufrufen, um eine oder gleich mehrere WordPress Ordner zu analysieren Ist WordFence systemweit installiert, genügt der Aufruf des wordfence Kommandos. Ist die Software in Ihrem persönlichen Ordner, lautet das Kommando ~/wordfence/wordfence.  Und nun kann es losgehen mit der Jagd auf unerwünschte Bots. Zum Beispiel mit:

wordfence /var/www/www.katzenhotel.ch

Der hier angegebene Ordner enthält natürlich eine WordPress Installation. Wenn Sie alle Seiten prüfen wollen, geben Sie als Pfad einfach /var/www an – und haben Sie etwas Geduld! WordFence zeigt während dem Scan allerlei Statusinformationen an. Wenn Sie diese nicht sehen möchten, verwenden Sie die Option -q. Nun erhalten Sie nur einen Meldung, wenn tatsächlich eine Datei mit Schadsoftware gefunden wurde, hier wieder ein Beispiel:

/var/www/www.katzenhotel.ch/options.php

Wichtig: Löschen Sie diese Dateien nicht einfach! Es ist besser, sie in einen privaten Ordner zu verschieben, auf den nur Sie selbst Zugriff haben. Zum Beispiel so:

mv /var/www/www.katzenhotel.ch/options.php /home/benjamin/check/

Nun kann die Datei in aller Ruhe untersucht werden. Falls es ein sogenannter «false positive» ist, kann die Datei flugs wieder zurück verschoben werden. Ja, es gibt leider false positives bei WordFence. So ist das Leben! Wenn Sie nicht sicher sind, ob eine Datei tatsächlich Schadcode enthält, prüfen Sie die folgenden Punkte:

I. Liegt die Datei im upload Ordner? Scripts haben dort nichts zu suchen!

II. Ist die Datei im Ordner eines Themes oder Plugins abgelegt? Verschieben Sie Datei wie oben beschrieben und aktualisieren Sie dann das Theme oder Plugin. Nun sollte die Datei ersetzt werden. Wenn nicht, ist es vermutlich Schadsoftware.

Letztes Update: 16. Januar 2024