Auf eine sichere Version von Magento 2 updaten

Wie kann ich meine Magento 2 Version updaten, wenn Sicherheitslücken festgestellt wurden?

Bitte beachten Sie: Die Informationen in diesem Artikel beziehen sich ausschließlich auf unser Tool ShopSecurity, mit dem Sie Ihre Shop-Installationen hinsichtlich bekannter und potenzieller Sicherheitslücken prüfen können.


Magento veröffentlicht bei Sicherheitsupdates für alle noch gepflegten Versionen (z. B. Magento 2.3 oder Magento 2.4) jeweils eine neue – Sicherheitsupdates enthaltende – Patch-Version (z. B. 2.3.4). Zusätzlich gibt es seit Magento 2.3 für die zuvor veröffentlichte Version ein Update, welches lediglich die Sicherheitslücken schließt. Anhand der Versionsnummern lässt sich daher leicht prüfen, ob alle bekannten Sicherheitslücken in einer Shop-Instanz geschlossen sind. Eine Magento 2-Shop ist abgesichert, wenn er mit einer der beiden jüngsten Patch-Versionen in einer offiziell unterstützten Veröffentlichungsversion betrieben wird.

Magento 2.0, 2.1 und 2.2 erhalten aktuell keine Sicherheitsupdates mehr. Es ist davon auszugehen, dass mittelfristig Sicherheitslücken gefunden werden, für welche es dann keine offiziellen Sicherheitsupdates geben wird. Daher ist der Einsatz dieser Versionen nicht mehr empfohlen. Die offiziellen Zeiträume für den Support von Magento 2-Versionen finden Sie bei Magento selbst: für die Commerce Edition (ehemals Enterprise) und für die Open Source Version.

Magento 2 aktualisieren

Wir empfehlen, einen Magento 2-Shop durch erfahrene Entwicklerinnen und Entwickler aktualisieren zu lassen. Besonders bei funktionalen Updates, wie sie bei Magento 2 regelmäßig erfolgen, können die Auswirkungen oft nur durch den/die Programmierer abgeschätzt werden. Magento-Updates sollten immer zuerst in einer Staging-Umgebung getestet werden, damit der produktive Shop bei Schwierigkeiten mit dem Update nicht beeinträchtigt wird. Zudem ist es natürlich unerlässlich, vor einem Update ein Backup anzufertigen.

Allgemeines Vorgehen bei Magento 2-Updates

WICHTIG: Magento selbst hat den Update-Prozess in der offiziellen Dokumentation ausführlich beschrieben. Dabei müssen Optionen berücksichtigt und Entscheidungen getroffen werden, die individuell auf den vorhandenen Shop abgestimmt sein müssen. Wir geben daher in dieser Übersicht nur das allgemeine Vorgehen wieder und berücksichtigen auch die Integration in einen Deployment-Prozess nicht. Für konkrete Schritte zur Aktualisierung einer bestimmten Magento 2-Installation wenden Sie sich bitte an Ihre Entwickler:innen oder Agentur.

Vorbereitungen

  • Prüfen Sie die Systemvoraussetzungen (z. B. PHP-Version, MySQL-Version) des Updates.
  • Prüfen Sie die Veröffentlichungshinweise und die Änderungen des Updates auf mögliche Fallstricke.
  • Erstellen Sie ein Backup des Shops.
  • Setzen Sie den Shop in den Wartungsmodus.

Update mit composer

Bei einer empfohlenen Magento 2-Installation per composer kann ein Shop auch über composer aktualisiert werden. Magento stellt hierfür ein PHP-Script bereit, welches die folgenden, typischen Upgrade-Schritte automatisiert. Dieses Script überschreibt jedoch möglicherweise voreingestellte Parameter und sollte daher erst nach eingehender Prüfung verwendet werden.

  1. Erstellen Sie ein Backup der Datei composer.json
  2. Legen Sie die neu zu installierende Magento 2-Version fest. Zum Beispiel bei einem Update auf Version 2.3.4:
    composer require magento/product-community-edition=2.3.4 --no-update
  3. (Optional) Für einen repräsentativen Stand ändern Sie die Felder 'name', 'version' und 'description' in der Datei composer.json entsprechend der neuen Version ab.
  4. Führen Sie das Update von Magento und seiner Komponenten durch:
    composer update
  5. Leeren Sie den Cache:
    php bin/magento cache:flush
    1. Zusätzlich löschen Sie die Daten in einigen (Cache-)Verzeichnissen:
      rm -rf var/cache/* var/page_cache/* generated/code/*
    2. Bei der Nutzung von Redis für den Magento-Cache empfehlen wir, die Redis-Instanz separat zu leeren:
      redis-cli -p <Portnummer> -n <DB> flushdb (Port- und Datenbanknummer der korrekten Redis-Instanz)
  6. Aktualisieren Sie die Magento-Installation und deren Module:
    php bin/magento setup:upgrade

Je nach Shop-Instanz können zusätzlich weitere Schritte notwendig sein, z.B. setup:di:compile oder setup:static-content:deploy.

Weitere Handlungsempfehlungen

  • Starten Sie die Varnish-Instanz neu, falls Sie Varnish als Page Cache verwenden.
  • Prüfen Sie Ihren Shop auf ordnungsgemäße Funktion und beheben Sie ggf. auftretende Fehler. Falls eine kurzfristige Behebung nicht erfolgreich ist, stellen Sie die vorige Version aus dem Backup wieder her und wenden Sie sich an Ihre Entwickler:innen oder Agentur.

 

Bei Fragen steht Ihnen unser Support telefonisch unter 05251/414130 oder per E-Mail an support@maxcluster.de zur Verfügung.

Veröffentlicht am 05.06.2024