Felsökning av krypteringsnyckelrotation: CVE-2024-34102
Den här artikeln är avsedd att hjälpa handlare att felsöka krypteringsnyckelrotation efter att de redan har följt de steg som beskrivs i den här artikeln på CVE-2024-34102.
Om du redan har följt stegen i artikeln ovan och har problem med att rotera dina krypteringsnycklar har vi en isolerad korrigering som hjälper dig att lösa eventuella problem.
För att illustrera de steg som tidigare har kommunicerats och sammanfattas ovan, för att skydda mot CVE-2024-34102, samt den ytterligare felsökning som finns nedan, kan du även använda det här flödesdiagrammet:
{modal="regular"}
Använda den isolerade korrigeringen för att köra det nya kommandot
Zippa upp filen och se Använda en kompositkorrigering från Adobe i vår kunskapsbas för support för instruktioner.
Lägga till en ny krypteringsnyckel utan att använda miljövariabler
Standardbeteendet för programmet är att lagra krypteringsnyckeln i filen app/etc/env.php
.
De steg som beskrivs i dokumentationenbeskriver hur du ändrar nyckeln i filen med hjälp av gränssnittet Admin.
Med hjälp av stegen och den isolerade korrigeringsfilen i det här avsnittet kan du enkelt ändra värdet i filen och du kan komma runt de problem som kan uppstå via Admin-gränssnittet.
Det enklaste och säkraste sättet att hantera krypteringsnyckeln är att använda miljövariabler. Om du redan använder miljövariabler, eller är intresserad av att använda dem för att hantera nyckeln i stället, finns det ett separat avsnitt som beskriver dessa steg.
Berörda produkter och versioner
Adobe Commerce i molnet, Adobe Commerce lokalt och Magento Open Source:
- 2.4.7-p1 och tidigare versioner
- 2.4.6-p6 och tidigare
- 2.4.5-p8 och tidigare
- 2.4.4-p9 och tidigare
Isolerad korrigering för felsökning av rotationsinformation för krypteringsnyckel
Använd följande bifogade patchar, beroende på vilken version av Adobe Commerce/Magento Open Source du använder:
För version 2.4.7, 2.4.7-p1:
För version 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 version 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 version 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:
När du har installerat den isolerade korrigeringen ändrar du den aktiva krypteringsnyckeln med det nya CLI-kommandot.
-
Det nya kommandot bör köras i miljön som innehåller din
app/etc/env.php
-fil för nyckeln som du vill uppdatera. -
Bekräfta att det nya kommandot finns:
code language-none bin/magento list | grep encryption:key:change
Följande utdata bör visas:
code language-none encryption:key:change Change the encryption key inside the env.php file.
-
Ändra krypteringsnyckeln:
code language-none bin/magento encryption:key:change
-
Om du har utfört det här kommandot i produktionssystemet behöver du inte utföra någon ytterligare åtgärd.
Om du har kört detta på ett utvecklingssystem måste du få in den här ändringen i produktionssystemet på samma sätt som du vanligtvis distribuerar känsliga konfigurationsinställningar.
Uppdatera krypteringsnyckeln med hjälp av miljövariabler i stället för att använda den isolerade korrigeringen
Som ett alternativ till avsnittet ovan kan du med de här stegen lägga till en ny krypteringsnyckel samtidigt som du bevarar dina befintliga krypterade data, även om du använder standardvärdet app/etc/env.php
.
Det här avsnittet gäller för Adobe Commerce i molnet och Cloud Starter, men gäller även för Adobe Commerce lokalt, även om de exakta stegen och platserna för variablerna beror på din infrastruktur.
Samla in aktuellt värde
- Om du redan hanterar dina nycklar med miljövariabler kan det finnas på flera möjliga platser, men troligen i variabeln
CRYPT_KEY
enligt beskrivningen i dokumentationen. - Om du inte använder variabler kommer krypteringsnyckeln att finnas i
app/etc/env.php
icrypt/key
-datanyckeln.
I båda fallen kan det vara ett flerradigt värde och innehålla flera slumpmässiga rader med data.
Generera ett nytt värde för 2.4.7x-versioner
Krypteringsnycklar är 32 byte slumpmässiga data som är kodade med base64 och prefix med base64
.
Så här skapar du en ny nyckel:
-
Generera 32 slumpmässiga databyte som är kodade med base64 med det verktyg du väljer. Med OpenSSL CLI kan du till exempel köra
openssl rand -base64 32
, men du kan använda ett pålitligt kryptografiskt slumpmässigt genereringsverktyg. -
Använd
base64
som prefix för det värdet. Om till exempel kommandotopenssl
returnerar ABC123 blir värdet: base64ABC123 -
Lägg till det genererade värdet i det befintliga värdet som du har samlat in ovan. Om ditt befintliga värde till exempel är base64HelloWorld blir ditt nya värde:
code language-none base64HelloWorld base64ABC123
Generera ett nytt värde för 2.4.6x och tidigare versioner
Krypteringsnycklar för 2.4.6x och tidigare versioner är 16 byte slumpdata i ett hex-kodat format.
Så här skapar du en ny nyckel:
-
Generera 16 slumpmässiga databyte med valfritt verktyg. Med OpenSSL CLI kan du till exempel köra
openssl rand -hex 16
, men du kan använda ett pålitligt kryptografiskt slumpmässigt genereringsverktyg. -
Lägg till det genererade värdet i det befintliga värdet som du har samlat in ovan. Om det befintliga värdet till exempel är abc123 och det slumpmässiga värdet från föregående steg är 456def, blir det nya värdet:
code language-none abc123 456def
Lägg till en ny miljövariabel
Använd Cloud Console eller magento-cloud CLI för att ange env:MAGENTO_DC_CRYPT__KEY
miljövariabelntill det nya värdet.
När du sparar variabeln aktiveras en omdistribution automatiskt, vilket gör att värdet används.
Säkerhetsuppdateringar
Relaterade säkerhetsuppdateringar för Adobe Commerce: