Fehlerbehebung bei der Rotation von Verschlüsselungsschlüsseln: CVE-2024-34102

Dieser Artikel soll Händlern bei der Fehlerbehebung bei der Rotation von Verschlüsselungsschlüsseln helfen, nachdem sie die in diesem Artikel)CVE-2024-34102 beschriebenen Schritte bereits ausgeführt haben.

Wenn Sie die Schritte im obigen Artikel bereits ausgeführt haben und Probleme beim Drehen Ihrer Verschlüsselungsschlüssel haben, haben wir einen isolierten Patch, der Ihnen bei der Lösung potenzieller Probleme hilft.

Um die zuvor kommunizierten und zusammengefassten Schritte zum Schutz vor CVE-2024-34102 sowie die zusätzliche Fehlerbehebung unten zu veranschaulichen, können Sie auch dieses Flussdiagramm verwenden:

CVE-2024-34102 Protection Flow Chart.jpg {modal="regular"}

Anwenden des isolierten Patches zum Ausführen des neuen Befehls

Entpacken Sie die Datei und Sie in unserer SupportWissensdatenbank die Anleitung „So wenden Sie einen Composer-Patch von Adobe an“.

Hinzufügen eines neuen Verschlüsselungsschlüssels ohne Verwendung von Umgebungsvariablen

Das Standardverhalten der Anwendung besteht darin, den Verschlüsselungsschlüssel in der app/etc/env.php-Datei zu speichern.

Die Schritte in der Dokumentation beschreiben, wie Sie diesen Schlüssel in dieser Datei mithilfe der Admin ändern.

Die in diesem Abschnitt bereitgestellten Schritte und isolierten Patches ermöglichen es Ihnen, den Wert in dieser Datei einfach zu ändern, und ermöglichen es Ihnen, die Probleme, die möglicherweise auftreten, über die Admin zu umgehen.

Die einfachste und sicherere Möglichkeit, den Verschlüsselungsschlüssel zu verwalten, besteht jedoch in der Verwendung von Umgebungsvariablen. Wenn Sie bereits Umgebungsvariablen verwenden oder diese stattdessen zur Verwaltung dieses Schlüssels verwenden möchten, gibt es einen separaten Abschnitt , in dem diese Schritte beschrieben werden.

Betroffene Produkte und Versionen

Adobe Commerce on Cloud, Adobe Commerce On-Premise und Magento Open Source:

  • 2.4.7-P1 und früher
  • 2.4.6-P6 und früher
  • 2.4.5-P8 und früher
  • 2.4.4-P9 und früher

Isolierter Patch zur Fehlerbehebung bei Rotationsdetails des Verschlüsselungsschlüssels

Verwenden Sie je nach Adobe Commerce-/Magento Open Source-Version die folgenden angehängten Patches:

Für Version 2.4.7, 2.4.7-p1:

Für die Versionen 2.4.6, 2.4.6-p1, 2.4.6-p2, 2.4.6-p3, 2.4.6-p4, 2.4.6-p5, 2.4.6-p6:

Für die Versionen 2.4.5, 2.4.5-p1, 2.4.5-p2, 2.4.5-p3, 2.4.5-p4, 2.4.5-p5, 2.4.5-p6, 2.4.5-p7, 2.4.5-p8:

Für die Versionen 2.4.4, 2.4.4-p1, 2.4.4-p2, 2.4.4-p3, 2.4.4-p4, 2.4.4-p5, 2.4.4-p6, 2.4.4-p7, 2.4.4-p8, 2.4.4-p9:

Ändern Sie nach der Installation des isolierten Patches den aktiven Verschlüsselungsschlüssel mit dem neuen CLI.

NOTE
Trigger Mit diesem neuen CLI-Befehl wird der Cache bei der Ausführung bereinigt.
  1. Dieser neue Befehl sollte in der Umgebung ausgeführt werden, die Ihre app/etc/env.php für den Schlüssel enthält, den Sie aktualisieren möchten.

  2. Bestätigen Sie, dass der neue Befehl vorhanden ist:

    code language-none
    bin/magento list | grep encryption:key:change
    

    Es sollte folgende Ausgabe angezeigt werden:

    code language-none
    encryption:key:change Change the encryption key inside the env.php file.
    
  3. Ändern des Verschlüsselungsschlüssels:

    code language-none
    bin/magento encryption:key:change
    
  4. Wenn Sie diesen Befehl auf Ihrem Produktionssystem ausgeführt haben, sind keine weiteren Maßnahmen erforderlich.
    Wenn Sie dies auf einem Entwicklungssystem ausgeführt haben, müssen diese Änderung in Ihr Produktionssystem übertragen, da Sie normalerweise sensible Konfigurationseinstellungen bereitstellen würden.

Aktualisieren Sie den Verschlüsselungsschlüssel mit Umgebungsvariablen, anstatt den isolierten Patch zu verwenden

Als Alternative zum obigen Abschnitt können Sie mit diesen Schritten einen neuen Verschlüsselungsschlüssel hinzufügen und gleichzeitig Ihre vorhandenen verschlüsselten Daten beibehalten, selbst wenn Sie derzeit die app/etc/env.php verwenden.
Dieser Abschnitt gilt für Adobe Commerce on Cloud und Cloud Starter, aber auch für Adobe Commerce On-Premise obwohl die genauen Schritte und Speicherorte der Variablen von Ihrer Infrastruktur abhängen.

Aktuellen Wert erfassen

  • Wenn Sie Ihre Schlüssel bereits mit Umgebungsvariablen verwalten, kann sich diese an mehreren möglichen Stellen befinden, sie befindet sich jedoch höchstwahrscheinlich in der CRYPT_KEY, wie in der Dokumentation beschrieben.
  • Wenn Sie keine Variablen verwenden, ist der Verschlüsselungsschlüssel im crypt/key Datenschlüssel app/etc/env.php.

In beiden Fällen kann es sich um einen mehrzeiligen Wert handeln, der mehrere zufällige Datenzeilen enthält.

Generieren eines neuen Werts für 2.4.7x-Versionen

Verschlüsselungsschlüssel sind 32 Byte zufälliger Daten, die mit base64 codiert und mit dem Präfix base64 werden.
So generieren Sie einen neuen Schlüssel:

  1. Generieren Sie mit dem Tool Ihrer Wahl 32 zufällige Datenbytes, die mit base64 codiert werden sollen. Beispielsweise können Sie mit dem OpenSSL CLI openssl rand -base64 32 ausführen, es kann jedoch jedes vertrauenswürdige kryptografische Tool zur zufälligen Generierung verwendet werden.

  2. Stellen Sie diesem Wert das Präfix base64 voran. Wenn beispielsweise die openssl Befehlsausgabe ABC123, würde der Wert wie folgt lauten: base64ABC123

  3. Hängen Sie den generierten Wert an Ihren vorhandenen, oben erfassten Wert an. Wenn Ihr vorhandener Wert beispielsweise "base64HelloWorld" lautet, würde Ihr neuer Wert wie folgt lauten:

    code language-none
    base64HelloWorld
    base64ABC123
    

Generieren eines neuen Werts für 2.4.6x und frühere Versionen

Verschlüsselungsschlüssel in 2.4.6x und früheren Versionen sind 16 Byte zufällige Daten in einem hex Format.
So generieren Sie einen neuen Schlüssel:

  1. Generieren Sie mit dem Tool Ihrer Wahl 16 zufällige Datenbytes. Beispielsweise können Sie mit dem OpenSSL CLI openssl rand -hex 16 ausführen, es kann jedoch jedes vertrauenswürdige kryptografische Tool zur zufälligen Generierung verwendet werden.

  2. Hängen Sie den generierten Wert an Ihren vorhandenen, oben erfassten Wert an. Wenn Ihr vorhandener Wert beispielsweise abc123 lautet und Ihr zufälliger Wert aus dem vorherigen Schritt 456def, würde Ihr neuer Wert wie folgt lauten:

    code language-none
    abc123
    456def
    

Hinzufügen einer neuen Umgebungsvariablen

Verwenden Sie die Cloud Console oder magento-cloud CLI, um die env:MAGENTO_DC_CRYPT__KEYUmgebungsvariable aufneuen Wert festzulegen.

NOTE
Beachten Sie, dass Sie, wenn Sie die Variable als sensibel markieren, möglicherweise eine externe Sicherung dieses Werts speichern möchten, da er in allen Schnittstellen ausgeblendet und nur für die Anwendung sichtbar ist.

Beim Speichern der Variablen wird automatisch eine erneute Bereitstellung ausgelöst, wodurch der Wert angewendet wird.

Sicherheits-Updates

Verwandte Sicherheitsaktualisierungen sind für Adobe Commerce verfügbar:

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a