Es war eine lange Nacht. Für viele von Euch, auch für mich. Die Sache ist: Sie hätte vermieden werden können. Dabei kam der erste Schuss vor den Bug schon vor Tagen …
Letzte Woche, noch bevor das PHP-Problem bekannt wurde, meldete mein Sicherheits-Plugin Sucuri die Installation eines fremden Plugins. An einem Samstagmorgen um 3 Uhr kriegt man das nicht so schnell mit. Von alleine installiert sich bei mir normalerweise gar nichts. Es hat ein paar Tokens bei Claude gekostet, um nachzuvollziehen, wie der Angreifer in meinen Blog gekommen ist.
Schadcode wurde bislang keiner verteilt, allerdings war ein Plugin namens „Hero Hub“ installiert, und die Website hatte plötzlich ein weiteres Administratorkonto. Offenbar wurden bei UpdraftPlus die Verbindungsschlüssel von UpdraftCentral kompromittiert, mit denen sich Verwaltungsbefehle an verknüpfte WordPress-Seiten schicken lassen (Meldung von Cashy). Hier war es einfach pures Glück, dass die E-Mail-Funktion von Sucuri eine Warnmeldung verschickt hat und ich sie auch noch gelesen habe. UpdraftPlus ist unter anderem eine Backup-Lösung für WordPress-Webseiten. Nachdem wir den Angriffsvektor isoliert hatten, habe ich ein letztes Mal ein Backup von vor dem Angriff zurückgespielt und danach UpdraftPlus entfernt.
Damit war der Samstag hinüber. Heute ist Donnerstag der Folgewoche. Gestern Mittag habe ich in meiner Mastodon-Blase quasi den Meltdown der Security-Szene miterlebt. Wer es nicht mitbekommen hat: PHP ist oder war angreifbar, Stichwort PHP2Shell (Warnung des BSI). Die Entwickler haben zwar Patches herausgebracht, aber im KI-Zeitalter ist Zeit an sich ein Problem. Und diese Webseite? Sie lief auf einem PHP, das gestern quasi noch ein Sicherheitsrisiko war.

Wie also kann ich meine Leser schützen? Nun ja, PHP ist mir schon länger ein Dorn im Auge. Und WordPress ebenfalls. Also: Das hier ist jetzt alles kein PHP mehr, auch wenn die Webseite immer noch aussieht wie ein WordPress. Claude hat gerade mal gut eine Stunde gebraucht, um einen Abzug der Webseite zu machen, das Design zu übernehmen und sie als statische Webseite wieder aufzubauen. Ohne Datenbank. Reines HTML und ein bisschen JavaScript für die Suche. Nichts wird ungefragt von Dritten geladen, die Webseite ist frei von Fremdcode und irgendwelchen kompromittierbaren Plugins. Das Tool, das ich nutze, heißt Hugo (gohugo.io). Und diese Webseite liegt jetzt sicher in meinem Gitea. Ich brauche also kein UpdraftPlus mehr. Und auch kein PHP. Mit der Folge, dass sie jetzt auch deutlich schneller lädt.
Claude hat mir derweil ein recht schnuckeliges Werkzeug gebaut, mit dem ich solche Texte wie diesen hier schreiben kann. Ich bin begeistert. Es gilt weiterhin das Prinzip „Hoffnung“, im Sinne von: All-Inkl.com fängt sich selbst nichts ein.
In diesem Sinne, bis zum nächsten Unfall