Die Hintergrund-Updates von WordPress – was genau passiert da eigentlich?

Mit der WordPress-Version 3.7 wurden die automatischen Updates eingeführt. Doch wohl die wenigsten WordPress-Nutzer wissen genau, was im Hintergrund aktualisiert wird, und wie man diese Auto-Updates nicht nur deaktivieren oder aktivieren, sondern sogar fein justieren kann.

 

Was wird standardmäßig automatisch aktualisiert?

Minor-Releases

Darunter fallen quasi alle veröffentlichten WordPress-Versionen mit einer Zahl nach dem zweiten Punkt in der Versionsnummer, zum Beispiel 4.1.2, 4.1.3 oder 5.0.3 usw. Diese kleinen Updates betreffen

  • WordPress-Wartung
  • WordPress-Sicherheit
  • WordPress-Sprachdateien

wohlgemerkt: der Minor-Versionen.

 

Entwickler-Releases

Auf Seiten, wo bereits Entwicklerversionen installiert sind, werden ebenfalls automatische Updates standardmäßig ausgeführt.

 

E-Mail-Versand

Zwar selbst kein Update, aber standardmäßig aktiviert ist die Funktion, dass nach einem Update(-Versuch) automatisch eine E-Mail an den Websitebetreiber geschickt wird.

 

In seltenen Fällen: Sicherheitsupdates für Plugins

Generell werden Plugins standardmäßig nicht automatisch aktualisiert, das betrifft auch Plugin-Updates, die Sicherheitslücken beheben. Wann letztere ein Auto-Update erfahren, darauf wird später in diesem Artikel noch näher eingegangen.

 

Automatische Updates für ältere Versionen von WordPress

Wie anfangs erwähnt, wurden die automatischen Hintergrund-Updates mit der WordPress-Version 3.7 eingeführt. Seitdem werden alle Versionen – falls sie von der Sicherheitslücke betroffen sind – mit einem automatischen Sicherheits-Update versorgt.

Natürlich sollte man nach Möglichkeit immer auf die aktuellste WordPress-Version, derzeit (Stand 31.5.2015) Version 4.2.2 aktualisieren. Man profitiert von den neuen Funktionen und in der Regel werden Plugins auch auf die neueste WordPress-Version angepasst.

Ein bisschen graue Theorie zum besseren Verständnis:

Mal angenommen, die nächste WordPress-Version 4.2.3 wäre ein Sicherheits-Release und alle Versionen abwärts bis 3.7. wären von der Sicherheitslücke ebenfalls betroffen. Dann würden neben der Version 4.2.3 auch die Versionen 4.1.6, 4.0.6, 3.9.7, 3.8.9 und 3.7.9 veröffentlicht und als automatische Hintergrund-Updates ausgerollt werden. Eine Liste aller bislang veröffentlichten WordPress-Versionen könnt ihr auf WordPress.org oder im Codex (dort sogar mit Datum der Veröffentlichung) einsehen und natürlich auch herunterladen.

Danke

Ich denke an dieser Stelle ist ein Dankeschön an das WordPress-Developer-Team angebracht, das sich so viele Gedanken und vor allem Mühen macht, die WordPress-Installationen aller User sicher zu erhalten.

 

Was wird standardmäßig nicht automatisch aktualisiert?

Major-Releases

Das sind alle Hauptversionen, mit maximal einem Punkt in der Versionsnummer, also zum Beispiel 4.1, 4.2, 4.5 usw. Bei diesen Versionen wird standardmäßig kein automatisches Update im Hintergrund ausgeführt, sondern man muss die Aktualisierung manuell starten.

 

Themes

Alle Themes werden standardmäßig nicht automatisch aktualisiert. Das WordPress.org Security Team hat zwar die Möglichkeit, auch dafür Sicherheitsupdates auszurollen, aber dies ist bislang noch nie geschehen.

Hintergrund: Nicht jeder Websitebetreiber nutzt die Möglichkeiten eines Childthemes, um individuelle Änderungen am Theme vor Aktualisierungen abzusichern. Daher könnten automatische Theme-Updates die Website zerstören. Siehe auch „Wird es irgendwann automatische Theme-Updates geben?„.

 

Plugins

Alle Plugins werden standardmäßig nicht automatisch aktualisiert. Doch es gibt Ausnahmen, siehe dazu „Automatische Sicherheitsupdates für Plugins„.

 

Kann man diese Hintergrund-Updates konfigurieren?

Absolut Ja. Alles was aktualisiert werden kann, lässt sich auch automatisch aktualisieren. Und für das alles kann man ebenso das Auto-Update deaktivieren. Das gilt für die Gesamtheit oder für einzelne oder mehrere Teile.

Im Klartext: Man kann das automatische Hintergrund-Update zum Beispiel für alle Plugins aktivieren oder deaktivieren, und man hat ferner die Möglichkeit, beides nur für ein einzelnes Plugin oder mehrere ausgewählte Plugins zu konfigurieren. Dasselbe gilt natürlich genauso für Themes, etc.

 

Anleitung: Automatische Updates fein justieren

Im Codex existiert eine ausführliche Anleitung, die anhand vieler Beispiele inklusive Code detailliert auf die einzelnen Möglichkeiten eingeht. Dieser Codex-Artikel wurde nun komplett ins Deutsche übersetzt und dürfte für jeden Interessierten eine willkommene Hilfe sein.

 

Und wenn das automatische Update nicht funktionieren will?

Lead Developer Andrew Nacin hat in dem von ihm verfassten Beitrag „The defintive guide to disabling auto updates in WordPress 3.7“ auch diese Problematik behandelt. Er schreibt, es ist davon auszugehen, dass über 80 Prozent aller Installationen die automatische Hintergrund-Aktualisierung unterstützen.

Gründe, die automatische Updates verhindern können

Die häufigsten Gründe, warum dies in den restlichen Fällen nicht funktioniert, sind folgende:

  • Für die Aktualisierung muss FTP genutzt werden und natürlich kennt das Core-Team keine Passwörter
  • Automatische Updates wurden deaktiviert
  • oder die Versionskontrolle wurde aktiviert
  • WordPress-Cron (das Dinge wie zeitgesteuerte Beiträge ermöglicht) funktioniert auf dem Server nicht
  • Der Server erlaubt keine sichere Kommunikation mit WordPress.org
  • Inkonsistente Dateirechte, wo WordPress denkt, es könne updaten, aber der Versuch scheitert (in diesem Fall wird der Administrator der Website per E-Mail informiert)

 

Plugin „Background Update Tester“

Das Plugin „Background Update Tester“ hilft beim Aufspüren der Ursache. Es erklärt exakt, warum die Installation keine automatischen Hintergrund-Updates unterstützt und – wenn notwendig – was man seinen Webhoster fragen sollte.


Automatische Sicherheitsupdates für Plugins

In der Vergangenheit wurde sehr selten davon Gebrauch gemacht, aber seit der WordPress-Version 3.7 existiert für das WordPress.org Security Team die Möglichkeit, dringende Sicherheitsupdates für Plugins automatisch einzuspielen (Anmerkung: Auch das lässt sich deaktivieren, siehe Link zur Codex-Anleitung oben). Im April 2014 wurde diese Option nach einer Sicherheitslücke im Jetpack genutzt, nachzulesen im JetpackBlog.

Das Nachfolgende ist eine freie Übersetzung eines Beitrags (in Auszügen), den Dion Hulse Mitte März 2015 auf make.wordpress.org zu diesem Thema veröffentlichte.

 

Wie läuft der Prozess ab, damit das Security Team ein Auto-Update für ein Plugin startet?

Das WordPress.org Security Team beschäftigt sich aktuell intensiv damit, mehr solcher Updates zu ermöglichen, bislang hatten nur eine Handvoll Plugins die Erfordernisse erfüllt und enthielten Sicherheitslücken, die als major oder kritisch eingestuft wurden und die irgendwo zwischen 10000 und mehr als Millionen Installationen betrafen (so wie das WordPress SEO Plugin Anfang März 2015).

Der Prozess, um ein Plugin für ein automatisches Update zu autorisieren, und es dann automatisch für die WordPress-Benutzer auszurollen, ist weitestgehend manuell. Das Security Team begutachtet jegliche Code-Änderungen des Releases, verifiziert das Problem sowie dessen Fix und bestätigt die Sicherheit des Plugins, um das Auto-Update durchführen zu können. Das Ausrollen eines automatischen Updates erfordert Modifizierung und Deployment des API Codes. Es sind derselbe Standard und derselbe Prozess wie für ein Sicherheitsupdate des Cores.

Da der gesamte Prozess der automatischen Sicherheitsupdates für Plugins noch ziemlich neu ist, wurden bislang keine Richtlinien formuliert, wie zum Beispiel die Auswahl stattfindet. Das Ganze befindet sich noch in der Findungsphase, dennoch existieren schon Kriterien, die berücksichtigt werden sollten, zusammengestellt in einer einfachen Liste:

  1. Wurde das Security Team über das Problem informiert?
  2. Wie schwer ist die Sicherheitslücke einzustufen? Welche Auswirkung würde es auf eine WordPress-Installation und auf das Internet haben?
  3. Ist der Fix dieser Lücke eigenständig oder enthält er noch zusätzlichen überflüssigen Code?
  4. Wenn mehrere Versionszweige des Plugins betroffen sind, wurde ein Release pro Zweig erstellt?
  5. Kann das Update sicher automatisch installiert werden?

Diese Kriterien sind so formuliert, dass jeder jeden einzelnen Punkt abhaken können sollte (Wenn ein Plugin-Autor Hilfe benötigt, wird ihm das Security Team gerne helfen).

Das erste Kriterium – Security Team verständigen – ist kritisch. Da dies ein straff kontrollierter Prozess ist, muss das WordPress Security Team so schnell wie möglich informiert werden. Eine simple E-Mail an plugins@wordpress.org mit den Details reicht bereits aus. Wenn du kein Plugin-Autor bist, wird das Security Team die Kommunikation zwischen dir und dem Plugin-Autoren herstellen und bei der Koordinierung des Fixes behilflich sein.

Das Security Team arbeitet mit dem Plugin-Autoren (und dem Meldenden, wenn es nicht dieselbe Person ist) zusammen, um die Schwachstelle und ihre exakten Ausmaße zu studieren, verifiziert den vorgeschlagenen Fix und entscheidet, welche Version wann veröffentlicht wird.

Genau wie bei den Sicherheits-Releases für den WordPress-Core, werden Plugin-Releases, die nur die Sicherheitslücke beheben und keinen unnötigen zusätzlichen Code beinhalten, bevorzugt. Das ermöglicht dem Team, die Änderungen schnell und mit größerer Sicherheit zu überprüfen.

Wenn ein Plugin eine Sicherheitslücke in den Versionen 2.0-2.1.1 hat und 2.1 etliche neue Features beinhaltet, aber 2.1.1 nur ein paar kleine Bugs behebt, wird das Security Team ein automatisches Update für 2.1.x auf 2.1.2 aktivieren, aber nicht für 2.0.x auf 2.1.2. Wenn ein nicht unerheblicher Anteil an Installationen immer noch die Version 2.0 nutzt, wird das Security Team nach einem 2.0.x-Release fragen, damit auch die 2.0.x-Nutzer ein Update erhalten, um ihre Installationen ohne signifikante Änderungen des Plugins abzusichern (für das Jetpack-Update wurden Release-Pakete für elf unterschiedliche Versionszweige erstellt).

Das Security Team möchte ausdrücklich so minimale Code-Änderungen wie möglich. Das Plugin sollte keine zusätzliche Assistenz während des Update-Prozesses in Form von User-Interaktion oder einer Upgrade-Routine benötigen – gewollt ist ein Prozess der „einfach funktioniert“ und das zu jeder Zeit.

Millionen haben automatische Sicherheitsupdates für den WordPress-Core erhalten. Das Security Team will auch für die in Frage kommenden Plugins automatische Sicherheitsupdates, die zuverlässig funktionieren und denen man trauen kann.

Man hat sich diese Entscheidung nicht leicht gemacht und hofft, mit diesem Artikel für mehr Transparenz und Klärung zu sorgen. Das WordPress.org Security Team sowie die Plugins Teams wollen das Web sicherer machen für dich und für deine Besucher.

 

FAQ

Q: Warum wird Plugin A automatisch aktualisiert, aber nicht Plugin B?

Das hängt vom manuellen Prozess ab, der hier beschrieben wurde. Das Security Team arbeitet an jeder Sicherheitslücke, über die es informiert wird.

Falls ein Plugin-Autor, der das liest, ein Sicherheitsupdate veröffentlicht hat, und es über ein Auto-Update an die restlichen Benutzer verteilen möchte, soll er bitte mit dem Security Team in Kontakt treten.

 

Q: Wenn ich eine Sicherheitslücke in meinem Plugin entdecke, was soll ich tun?

Schicke ein E-Mail an plugins@wordpress.org um Unterstützung zu erhalten. Das Security Team wird dir helfen. Arbeite in der Zwischenzeit an einem Fix und teile den Patch mit den Änderungen bevor du ihn veröffentlichst, wenn du möchtest, dass der Patch vom Security Team geprüft wird oder du ein Auto-Update wünschst.

 

Q: Wird es irgendwann automatische Theme-Updates geben?

Vielleicht, eines Tages – aber nicht bevor ein absolut sicherer Weg gefunden wurde, dies zu praktizieren. Das ist ein komplizierter Vorgang, der erst noch gelöst werden muss. Auf gar keinen Fall soll solch ein Update deine Seite zerstören.

(Anmerkung: Wie man automatische Theme-Updates bereits eigenverantwortlich aktivieren kann, steht in der Anleitung oben).

 

Q: Wie kann ich mich bei dem “plugins review team” einbringen?

Da das “plugins review team” mit sehr sensiblen Problemen umgeht, existiert nur eine sehr kleine Gruppe aus hochgeschätzten und vertrauenswürdigen Community-Mitgliedern. Es ist eine mühselige Arbeit, die scheinbar nie aufhört. Wenn du Interesse hast, schreibe eine E-Mail an plugins@wordpress.org.

 

Q: Wie kann das WordPress Security Team ein Hintergrund-Update für ein Plugin starten?

Der Filter auto_update_plugin kommuniziert über ein Flag mit der Update-API des Plugins. Standardmäßig hat das Flag den Wert false, aber es kann speziell für ein Plugin aktiviert werden. Hintergrund-Updates für Core und Übersetzungen arbeiten mit exakt demselben Mechanismus, mit dem einzigen Unterschied, dass deren Flags standardmäßig aktiviert sind (Wert true).

 

 

14 Antworten auf „Die Hintergrund-Updates von WordPress – was genau passiert da eigentlich?

  1. Ich habe mich in der Vergangenheit auch immer wieder gefragt, nach welchem System WordPress eigentlich seine automatischen Updates erhält. Dieser Artikel hat mir nun endlich mal Klarheit verschafft- er ist einfach und sehr verständlich geschrieben. Eigentlich habe ich einen Artikel der von technischen Ausdrücken nur so strotzt erwartet, umso angenehmer war ich dann überrascht, dass er auch für technisch nicht so versierte durchaus verständlich ist. So brauche ich da keine grossen Erklärungen zu geben und kann Interessierte einfach auf diesen Artikel verweisen 😉 .

  2. Kann mich nur meinem Vorredner anschließen, ich hatte auch eher harten Stoff erwartet und fand das in der Form wirklich gut. Wobei es mich technischer auch nicht gestört hätte, aber der Artikel ist genau in der Form richtig und wichtig.

    Ich betreue eine kleine Schar von WordPress-Instanzen und nicht bei allen funktionieren die automatischen Updates (die erfragen noch die FTP-Daten).Gibt’s vielleicht irgendein Tester-Plugin, das auf die Umstellbarkeit überprüft? So mit Rechtecheck und ähnlichem?

    1. Danke :). Genau diese Informationen fehlen in dem Artikel noch und werden von mir demnächst hinzugefügt. Gut, dass du danach gefragt hast. Ursprünglich wollte ich auch etwas darüber schreiben, habe es dann aber wohl bei dem langen Artikel letztendlich leider vergessen.

      Dort weist Andrew Nacin auf das Plugin Background Update Tester hin und schreibt ein wenig mehr über die Thematik.

  3. Ich sehe, daß man das Updaten von Sprachdateien unterbinden kann, das ist etwas worauf ich mit heißem Sehnen warte… (Hinterlasse eine… arghhhh)

    Aber: dieser Filter soll in einem MUST_USE_Plugin eingebunden werden
    gibt es denn außer dem englischen Artikel auf
    https://codex.wordpress.org/Must_Use_Plugins

    einen verständlichen Artikel oder ein Beispiel wie man sowas einrichtet?
    Ich bin nicht so ein bewanderter Entwickler, aber ich ich brauche diese Einstellung dringen..

    Merci im Voraus!

    Connie

Schreibe einen Kommentar