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 stegen 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, och för att skydda mot CVE-2024-34102, samt den ytterligare felsökningen som beskrivs nedan, kan du även använda det här flödesdiagrammet:

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ägger 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 dokumentationen beskriver hur du ändrar nyckeln i filen med hjälp av administratörsgränssnittet.

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 arbeta med att lösa problem som kan uppstå via administratörsgrä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.

Beskrivning description

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

Upplösning resolution

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 har:

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.

Obs!: Det här nya CLI-kommandot utlöser en rensning av cacheminnet 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: bin/magento list | grep encryption:key:change
    • Följande utdata bör visas:
      • encryption:key:change Change the encryption key inside the env.php file.
  3. Ändra krypteringsnyckeln: 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 prefixerade med base64. Så här skapar du en ny nyckel:

  1. Generera 32 slumpmässiga databyte som är kodade med base64 med valfritt verktyg. Med OpenSSL CLI kan du till exempel köra openssl rand -base64 32, men alla tillförlitliga kryptografiska slumpmässiga genereringsverktyg kan användas.

  2. Använd base64 som prefix för det värdet. Om kommandot openssl till exempel 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
    

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 alla tillförlitliga kryptografiska slumpmässiga genereringsverktyg kan användas.

  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:

    abc123

    456def

Lägg till en ny miljövariabel

Använd Cloud Console eller magento-cloud CLI för att ställa in env:MAGENTO_DC_CRYPT__KEY miljövariabeln på det nya värdet.

Obs!: Observera att om du markerar variabeln som känslig kanske du vill spara en extern säkerhetskopia av det här värdet, eftersom det kommer att döljas för alla gränssnitt och endast vara 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
3d58f420-19b5-47a0-a122-5c9dab55ec7f