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:

CVE-2024-34102 Protection Flow Chart.jpg {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.

NOTE
Det nya CLI-kommandot utlöser en rensning av cachen vid körning.
  1. 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.

  2. 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.
    
  3. Ändra krypteringsnyckeln:

    code language-none
    bin/magento encryption:key:change
    
  4. 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 i crypt/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:

  1. 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.

  2. Använd base64 som prefix för det värdet. Om till exempel kommandot openssl returnerar ABC123 blir värdet: base64ABC123

  3. 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:

  1. 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.

  2. 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.

NOTE
Observera att om du väljer att markera variabeln som känslig kanske du vill spara en extern säkerhetskopia av det här värdet, eftersom det döljs från alla gränssnitt och bara är synligt för programmet.

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:

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