Fehlerbehebung für die Verschlüsselungsschlüssel-Rotation: CVE-2024-34102
Dieser Artikel soll Händlern bei der Fehlerbehebung bei der Verschlüsselungsschlüsselrotation helfen, nachdem sie die in diesem Artikel unter CVE-2024-34102 beschriebenen Schritte bereits ausgeführt haben.
Wenn Sie bereits die Schritte im obigen Artikel ausgeführt haben und Probleme beim Drehen Ihrer Verschlüsselungsschlüssel haben, haben wir einen isolierten Patch, um potenzielle Probleme zu lösen.
Um die Schritte zu veranschaulichen, die zuvor kommuniziert und zusammengefasst wurden, um den Schutz vor CVE-2024-34102 zu gewährleisten, sowie die zusätzliche Fehlerbehebung, die unten gefunden wurde, können Sie auch dieses Flussdiagramm verwenden:
{modal="regular"}
Anwenden des isolierten Patches zum Ausführen des neuen Befehls
Entpacken Sie die Datei und finden Sie Anweisungen unter Anwenden eines von Adobe bereitgestellten Composer-Patches in unserer Support-Wissensdatenbank.
Hinzufügen eines neuen Verschlüsselungsschlüssels ohne Verwendung von Umgebungsvariablen
Das Standardverhalten der Anwendung besteht darin, den Verschlüsselungsschlüssel in der Datei app/etc/env.php
zu speichern.
Die in der Dokumentation beschriebenen Schritte beschreiben, wie dieser Schlüssel in dieser Datei mithilfe der Admin -Schnittstelle geändert werden kann.
Die Schritte und der isolierte Patch in diesem Abschnitt ermöglichen es Ihnen, den Wert in dieser Datei einfach zu ändern und die Probleme zu umgehen, die möglicherweise über die Admin -Oberfläche auftreten.
Die einfachste und sicherere Methode zur Verwaltung des Verschlüsselungsschlüssels besteht jedoch in der Verwendung von Umgebungsvariablen. Wenn Sie bereits Umgebungsvariablen verwenden oder stattdessen diese zur Verwaltung dieses Schlüssels verwenden möchten, gibt es einen separaten Abschnitt, der diese Schritte beschreibt.
Betroffene Produkte und Versionen
Adobe Commerce on Cloud, Adobe Commerce vor Ort 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 für Details zur Verschlüsselungsschlüsselrotation
Verwenden Sie die folgenden angehängten Patches je nach Adobe Commerce-/Magento Open Source-Version:
Für Version 2.4.7, 2.4.7-p1:
Für 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 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 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:
Nachdem Sie den isolierten Patch installiert haben, ändern Sie den aktiven Verschlüsselungsschlüssel mit dem neuen Befehl CLI .
-
Dieser neue Befehl sollte in der Umgebung ausgeführt werden, die Ihre
app/etc/env.php
-Datei für den Schlüssel enthält, den Sie aktualisieren möchten. -
Vergewissern Sie sich, dass der neue Befehl vorhanden ist:
code language-none bin/magento list | grep encryption:key:change
Die folgende Ausgabe sollte angezeigt werden:
code language-none encryption:key:change Change the encryption key inside the env.php file.
-
Ändern Sie den Verschlüsselungsschlüssel:
code language-none bin/magento encryption:key:change
-
Wenn Sie diesen Befehl auf Ihrem Produktionssystem ausgeführt haben, sollte keine weitere Aktion erforderlich sein.
Wenn Sie dies auf einem Entwicklungssystem ausgeführt haben, müssen Sie 1} diese Änderung in Ihr Produktionssystem übernehmen, da Sie normalerweise vertrauliche 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 dabei Ihre vorhandenen verschlüsselten Daten beibehalten, selbst wenn Sie derzeit den Standard-Wert app/etc/env.php
verwenden.
Dieser Abschnitt gilt für Adobe Commerce on Cloud und Cloud Starter, gilt jedoch auch für Adobe Commerce On-Premise, obwohl die genauen Schritte und Speicherorte der Variablen von Ihrer Infrastruktur abhängig sind.
Aktuellen Wert abrufen
- Wenn Sie Ihre Schlüssel bereits mit Umgebungsvariablen verwalten, kann sich diese an mehreren möglichen Speicherorten befinden, höchstwahrscheinlich jedoch in der Variablen
CRYPT_KEY
, wie in der Dokumentation beschrieben. - Wenn Sie keine Variablen verwenden, befindet sich der Verschlüsselungsschlüssel im
crypt/key
-Datenschlüssel in "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 kodiert und mit dem Präfix base64
versehen sind.
So generieren Sie einen neuen Schlüssel:
-
Generieren Sie mithilfe des Tools Ihrer Wahl 32 zufällige Datenbyte, die mit base64 kodiert wurden. Mit dem OpenSSL CLI können Sie beispielsweise
openssl rand -base64 32
ausführen, aber es kann jedes vertrauenswürdige kryptographisch zufällige Generierungs-Tool verwendet werden. -
Setzen Sie diesem Wert
base64
als Präfix voran. Beispiel: Wenn der Befehlopenssl
die Ausgabe ABC123 ausgibt, würde der Wert zu: base64ABC123 -
Hängen Sie den generierten Wert an den vorhandenen Wert an, den Sie oben erfasst haben. Wenn Ihr vorhandener Wert beispielsweise base64HelloWorld ist, lautet der neue Wert:
code language-none base64HelloWorld base64ABC123
Generieren eines neuen Werts für 2.4.6x und frühere Versionen
Verschlüsselungsschlüssel für 2.4.6x und frühere Versionen sind 16 Byte zufälliger Daten in einem hex-kodierten Format.
So generieren Sie einen neuen Schlüssel:
-
Generieren Sie mit dem Tool Ihrer Wahl 16 zufällige Datenbyte. Mit dem OpenSSL CLI können Sie beispielsweise
openssl rand -hex 16
ausführen, aber es kann jedes vertrauenswürdige kryptographisch zufällige Generierungs-Tool verwendet werden. -
Hängen Sie den generierten Wert an den vorhandenen Wert an, den Sie oben erfasst haben. Wenn Ihr vorhandener Wert beispielsweise "abc123"lautet und Ihr zufälliger Wert aus dem vorherigen Schritt "456def"lautet, würde der neue Wert "
"lauten.code language-none abc123 456def
Neue Umgebungsvariable hinzufügen
Verwenden Sie den Wert Cloud Console oder magento-cloud CLI, um die Umgebungsvariable env:MAGENTO_DC_CRYPT__KEY
5} auf diesen neuen Wert festzulegen.
Beim Speichern der Variablen wird automatisch eine Neubereitstellung ausgelöst, die dazu führt, dass der Wert angewendet wird.
Sicherheitsaktualisierungen
Verwandte Sicherheitsaktualisierungen für Adobe Commerce: