Das Blog hier wurde ‚gehackt‘.

Bemerkt wurde das erst, als ich im Auswärtseinsatz bei einer Schulung war. So dauerte es leider etwas, bis alles wieder in geordneten Bahnen war. (Man kann ja schlecht sagen „So Leute, jetzt mal ne schwere Übung, ich brauch etwas Zeit mein Blog zu fixen….“).

Doch wie konnte es dazu kommen? Ich aktualisiere regelmässig die Blogsoftware, der Server wird (meist) gut gewartet, um so erschreckender, wenn Einbrecher vandalisierend unterwegs sind.

WordPress verfügt über eine Auto-Update-Funktion. Die ist natürlich auch eingeschaltet. Tut nur nicht. Aktuelle Hypothese: Das Super-Cache ist Schuld, denn dabei werden Requests direkt von einer statischen Datei beantwortet und kommen gar nicht erst bei der Blog-Software an.

Bleiben also nur manuelle Updates, und die installiere ich eben bei Security-Fixes sehr schnell. Minor Fixes werden auch mal hinten angestellt, denn meine Freizeit ist arg knapp bemessen.

Und so hatte ich WordPress 4.7, 4.7.1 installiert, aber nicht das wenige Tage später erschienene 4.7.2, das war für nach der Rückkehr von der Schulung geplant und es gab keine kritischen Fixes. Zumindest hatte es keiner gesagt, denn das WordPress Team hatte sich entschieden zu verschweigen, dass es eine extrem kritische Lücke gab. Eine Lücke, die einem unauthentifizierten Nutzer erlaubt, die Kontrolle zu übernehmen.  Und die Lücke wurde erste mit WordPress 4.7 eingeführt. Man könnte also sagen, dass meine eifrigen Updates zu dem Problem beigetragen haben.

Das offizielle Statement dazu hätte auch von einem PR Berater kommen können:

We believe transparency is in the public’s best interest. It is our stance that security issues should always be disclosed. In this case, we intentionally delayed disclosing this issue by one week to ensure the safety of millions of additional WordPress sites.

Im Nachhinein wurde also erst die volle Tragweite kommuniziert und dann noch schöngeredet, wie damit umgegangen wurde. Man kann sich vorstellen wie gut ich darauf zu sprechen bin.

Das eigentliche Probleme ist aber das nicht funktionierende Auto Update. Um das weiter einzugrenzen habe ich diese Plugins ausprobiert:

  • https://de.wordpress.org/plugins/wp-cron-status-checker/
  • https://de.wordpress.org/plugins/advanced-cron-manager/

Der Cron Status Checker ist dabei, was ich gesucht habe. Es prüft, ob cron funktioniert, und erlaubt sogar dem Blog Besitzer emails zu senden, wenn bei der cron Ausführung ein Fehler auftritt.

Hat leider nicht so ganz geklappt. Angeblich soll dies Setting helfen:

define( 'ALTERNATE_WP_CRON', true );

Ich bezweifle jedoch, dass das besser funktioniert.