IMHO: Automatische Updates bei WordPress deaktivieren oder nutzen?

Heute möchte ich einen Artikel endlich schreiben, den ich schon seit über zwei Jahren als Idee in meinem Blog habe. Ich dachte eigentlich, dass ich ihn nicht mehr veröffentlichen müsse, da das Thema mittlerweile bei jeden angekommen ist, aber das scheint leider nicht so zu sein. Es geht darin um die Auto-Updates, die seit WordPress 3.7 verfügbar sind. In dieser Woche ist das Thema wieder aktueller denn je geworden, denn wie unter anderem das t3n Magazin diese Woche berichtet hat stehen gerade wieder WordPress Seite unter massiven Angriffen.

Auch eine Seite, an der ich vor etwa zweieinhalb Jahren mitgearbeitet habe, wurde wohl von dieser Angriffswelle betroffen und gehackt. Wie genau das passiert ist und was der Angreifer getan hat, analysiere ich gerade noch. Eventuell kann ich euch das in einem zukünftigen Artikel berichten. Was mir allerdings gleich aufgefallen ist: Die Installation lief noch aus der WordPress Version 3.6.1 welche im September 2013 veröffentlicht wurde.

Entdeckte Sicherheitslücken schnell schließen

Die Sicherheitslücke, die beispielsweise in der WordPress Version 4.1.1 entdeckt und sehr schnell geschlossen werden konnte, wurde von den beiden Entdeckern über ein spezielles Formular direkt an das Security Team gemeldet und nicht veröffentlicht. Hierdurch hat das Security Team einen Vorsprung gegenüber den Hackern, die von dieser Sicherheitslücke wahrscheinlich noch nichts wissen.

Durch die automatischen Updates kann die geschlossene Sicherheitslücke dann sehr schnell auf allen WordPress-Installationen verteilt werden. Was viele Nutzer vielleicht nicht wissen: Obwohl man stets die aktuellste WordPress Version installieren sollte, so werden solche Sicherheitslücken auch für ältere „Hauptversionen“ geschlossen. Zusammen mit dem Update auf Version 4.4.2 wurden auch Updates auf die Hauptversionen 3.7 – 4.3 vorgenommen.

Wieso das Autoupdate aktiviert sein sollte?

Wieso ist es aus meiner Sicht empfehlenswert das Auto-Update aktiviert zu haben? Wie zuvor beschrieben, liegt ein wichtiger Aspekt bei der Sicherheit in der Zeit, die zwischen der Entdeckung einer Sicherheitslücke und dem Schließen dieser Lücke steckt. Das „Problem“ bei einem Open-Source-Projekt: Nach der Veröffentlichung eines Patches, kann jeder potentielle Angreifer genau nachvollziehen, welche Sicherheitslücke geschlossen wurden. Hierzu muss er sich einfach nur die Änderungen zwischen den beiden Versionen ansehen.

Ist das Auto-Update also auf eurer Seite deaktiviert und ihr installiert die neue Version nicht manuell zeitnah, dann ist eure Seite potentiell angreifbar. Daher kann ich jedem nur empfehlen, das Auto-Update aktiviert zu haben. Möchtet ihr es dennoch nicht tun, dann abonniert auf jeden Fall eine Quelle, die euch sofort über das Update informiert. Auf der offiziellen Seite der deutschsprachigen WordPress Community wird jeder „Release“ immer sehr zeitnah angekündigt. Am besten nehmt ihr die Releases-Kategorie dazu bzw. den RSS-Feed dazu in eure tägliche Leseliste auf.

Wieso das Auto-Update problematisch sein könnte?

Es gibt viele Seitenbetreiber, die sich gegen ein Auto-Update entscheiden. Hierzu gibt es verschiedene Gründe. Einige davon sind nachvollziehbar, andere nicht.

Schlechte Gründe

Vor allem die folgenden Gründe sind für mich kein Argument, das Auto-Update zu deaktivieren:

  • Es wurden Änderungen am Core vorgenommen
  • Eines der Default-Themes wurde angepasst, statt ein Child-Theme zu schreiben
  • Übersetzungen im Ordner wp-content/languages wurde angepasst

Alle angesprochenen Punkte sind für mich absolute No-Go. Die ersten beiden Punkte sollten jedem klar sein. Für den dritten Punkt kann ich verstehen, dass manche den Wunsch haben, Anpassungen vorzunehmen. Deshalb habe ich hierfür ein kleines Hilfsplugin geschrieben.

Bessere Gründe

Auch wenn ich persönlich sehr für das Auto-Update plädieren, so sehe ich doch Gründe, die dafür sprechen, das Auto-Update zu deaktivieren:

  • Eine komplexe Plugin-Zusammenstellung
  • Shopsysteme mit kritischer Uptime
  • Vorhandene dedizierte Staging-Systeme zum Test von Updates
  • Versionierung der WordPress-Installation in einem Repository

Bei ein paar aktuellen Projekten habe ich Git zur Verwaltung des WordPress Core und der Plugins und Themes eingesetzt. Zu allen diesen Projekten gibt es neben dem Entwicklungssystem zusätzlich ein Staging-System, das auf fast der gleichen Systemkonfiguration läuft, wie das Live-System. Hat man also ein solches Setup, dann kann man alle kritischen Komponenten mit der neuen Version von WordPress testen. Die war besonders bei einem Projekt notwendig, das die WP Rest API einsetzt, die ja mit Version 4.4 in den WordPress Core integriert wurde. Hier hätte ein Auto-Update von 4.3 auf 4.4 zu einem schwerwiegenden Fehler geführt. Auch wenn natürlich standardmäßig ein solches Major-Update nicht über das Auto-Update durchgeführt wird.

Fazit

Meine Empfehlung bleibt weiterhin, das Auto-Update weiterhin aktiv zu lassen. Aber darüber hinaus solltet ihr auch immer auf die neueste Version aktualisieren, selbst wenn WordPress ja auch ältere Versionen (wie 3.7 – 4.3) automatisch aktualisiert. Für die zu Beginn beschriebene Seite trifft das ganz besonders zu, denn sie lief ja noch auf Version 3.6, bei der es noch keine Auto-Updates gab.

Genau zu diesem für mich sehr wichtigen Thema hatte ich auf dem WordCamp Hamburg 2014 einen Lightning-Talk gehalten. Schaut den Vortrag und die anschließende lange Diskussion mal an und bildet euch eine eigene Meinung zu dem Thema:

Click here to display content from WordPress.tv.
Erfahre mehr in der Datenschutzerklärung von WordPress.tv.

Solltet ihr noch einen anderen guten Grund sehen, wieso man das Auto-Update nicht nutzen sollte, dann hinterlasst mir gerne einen Kommentar. Mich würde aber auch interessieren, ob ihr das Auto-Update aktiv habt oder nicht.

Veröffentlicht von

Bernhard ist fest angestellter Webentwickler, entwickelt in seiner Freizeit Plugins, schreibt in seinem Blog über WordPress und andere Themen, treibt sich gerne bei den WP Meetups in Berlin und Potsdam herum und läuft nach Feierabend den ein oder anderen Halbmarathon.

10 Kommentare » Schreibe einen Kommentar

  1. Hallo Bernhard,

    ich habe das automatische Update bewusst abgeschaltet, da ich schon öfter bei meinen Websites Probleme hatte.
    Beispiel:
    Seit WP 4.4 funktioniert die Bildergalerie des Plugins „Lightbox Plus Colorbox“ (bei neuen Galerien) nicht mehr. Es gab dazu einen Beitrag im Plugin-Forum:
    https://wordpress.org/support/topic/dont-work-on-wp-44
    mit Verweis zu einem Hack:
    https://core.trac.wordpress.org/ticket/34826
    Also die Änderung eingebaut und alles war gut – bis zum nächsten WP-Update 4.4.1:
    Der gleiche Fehler trat wieder auf und nach einem Kontakt mit den WP-Entwicklern wird am Core auch nichts geändert.
    Danach habe ich mich für ein alternatives Plugin enschieden, welches mit den Änderungen am Core klarkommt. Dieses Plugin läuft bei alten und neuen Galerien einwandfrei:
    https://wordpress.org/plugins/wp-jquery-lightbox/
    Bei jedem WP-Update waren ca 30 Websites betroffen, welche ich ehrenamtlich betreue. Die betreffenden Administratoren sind froh, wenn ihre Websites stabil laufen. In den meisten Fällen sind sie nicht in der Lage, an PHP-Files rumzuschrauben (was dann wieder auf mich zurückfällt).
    Meine (bisher) bewährte Methode:
    Auto-Updates sind abgeschaltet.
    Ich beobachte einige Tage das WP-Forum, ob dort Fehlermeldungen im Zusammenhang mit dem neuen Update auftauchen.
    Danach Test am lokalen System und einer Online-Testsite.
    Anschließend (nach vorherigem Backup) Update an einer kleinen, unwichtigen Website.
    Wenn keine erkannbaren Fehler auftauchen, update ich meine eigene Website, die relativ groß ist.
    Ist immer noch alles OK, schreibe ich für meine Leute eine Empfehlung zum Update.
    Mit dieser Vorgehensweise bin ich in der Vergangenheit immer gut gefahren.

    LG Hans

  2. Hi Bernhard,

    Danke für die Zusammenfassung, die kommt gleich in meine Argumentekiste.
    Ich hab die Autoupdates dort aktiv, wo es der Server erlaubt. Leider ist das z. B. bei HostEurope ohne das Aufbohren der Zugriffsrechte nicht möglich (vielleicht weiß ich auch nur nicht wie). Hier muss ich’s manuell machen.

  3. Hallo Bernhard,

    nachdem bei den von mir betreuten Installationen (ca. 50) die letzten beiden Auto-Updates teilweise nicht gelaufen sind, habe ich ein wenig nach potentiellen Gründen gesucht.

    Herausgefunden habe ich, dass in vielen (aber nicht allen) meiner Fälle in der wp-config.php folgende Zeile gesetzt war:

    define( 'AUTOMATIC_UPDATER_DISABLED', true );
    

    Ich bin mir nicht zu 100% sicher, aber ich habe den sehr sehr starken Verdacht, dass ALLE diese Instanzen per One-Click-Installer eingerichtet wurden und dieser die o.g. Konstante setzt. Warum auch immer.

    Ich selber installiere WordPress grundsätzlich manuell und kontrolliere auch die wp-config.php; bei diesen Blogs sind auch nicht restlos alle Auto-Updates gelaufen, aber das hatte andere Gründe.

    Bei der Suche, warum das Auto-Update nicht funktioniert, hilft übrigens das Plugin Background Update Tester.

    Grüße
    Christian

    • Hallo Christian,

      danke für dein Feedback. Ich habe bisher noch nie ein WordPress mit einem One-Click-Installer installiert, da ich diesem eben auch nicht unbedingt traue. Wenn diese wirklich die Konstante setzen würden, wäre das echt erschreckend. Dann würde es mich aber auch nicht wundern, dass die Hoster ständig über gehackte WordPress-Installationen schimpfen.

      Das von dir erwähnte Plugin ist übrigens wirklich eine sehr gute Möglichkeit um festzustellen, weshalb das Auto-Update nicht funktioniert. Hast du damit immer den Fehler finden können?

      • Ich konnte nicht immer den Fehler finden, nein.
        Ein paarmal gab es den Treffer der o.g. Konstante, einmal lagen (alte?) svn-Dateien mit im WP-Ordner, aber es gibt auch Fälle, in denen der Check alle Punkte «grün» abschließt und das Auto-Update trotzdem nicht gelaufen ist.
        Warum, habe ich nicht herausgefunden – aber ich beobachte natürlich, was beim nächsten mal passiert.

  4. Hallo zusammen,

    gerade nochmals getestet beim Provider „all-inkl.com“:
    Die von Christian erwähnte Zeile
    define( ‚AUTOMATIC_UPDATER_DISABLED‘, true );
    in der config.php wird NICHT eingefügt.
    Damit funktioniert das Auto-Update, wie ich bei Testsites schon bemerkt habe. Ich schalte es aus den o. g. Gründen trotzdem ab, da ich mehrfach negative Erfahrungen mit dieser Funktion gemacht habe.

    LG Hans

  5. Hallo Bernhard,

    eben weil Major-Updates standardmäßig nicht über das Auto-Update ausgeführt werden, stimme ich Dir zu und sehe überhaupt keinen Grund, die Auto-Updates zu deaktivieren.

    Ganz im Gegenteil: dadurch, dass die Auto-Updates nur Sicherheitslücken in älteren Versionen schließen, geben sie mir gerade bei komplexeren Installationen die benötigte Zeit, um das Major-Update in Ruhe testen zu können.

    Grüße
    Bernhard

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert