Rotatie coderingssleutel voor problemen oplossen: CVE-2024-34102

Dit artikel is bedoeld om handelaren te helpen encryptie zeer belangrijke omwenteling problemen oplossen nadat zij reeds de stappen hebben gevolgd die in dit worden geschetst artikelop CVE-2024-34102.

Als u de stappen in het bovenstaande artikel al hebt uitgevoerd en problemen hebt met het roteren van uw coderingssleutels, hebben we een geïsoleerde patch om mogelijke problemen op te lossen.

Ter illustratie van de stappen die eerder zijn meegedeeld en hierboven zijn samengevat, kunt u dit stroomdiagram ook gebruiken om te beschermen tegen CVE-2024-34102 en om hieronder de extra problemen op te lossen:

CVE-2024-34102 de Stroom Chart.jpg van de Bescherming {modal="regular"}

Hoe te om het geïsoleerde flard toe te passen om het nieuwe bevel in werking te stellen

Pak het dossier uit en zie hoe te om een componentenflard toe te passen die door Adobein onze basis van steunkennis voor instructies wordt verstrekt.

Een nieuwe coderingssleutel toevoegen zonder omgevingsvariabelen

Standaard wordt de coderingssleutel in het app/etc/env.php -bestand opgeslagen.

De stappen die in de documentatieworden geschetst beschrijven hoe te om deze sleutel binnen dat dossier te veranderen gebruikend de Admin interface.

Met de stappen en de geïsoleerde patch in deze sectie kunt u de waarde in dat bestand gemakkelijk wijzigen en kunt u de problemen die u ondervindt, oplossen via de interface van Admin .

De eenvoudigste en veiligste manier om de coderingssleutel te beheren is echter het gebruik van omgevingsvariabelen. Als u reeds milieuvariabelen gebruikt, of in het gebruiken van hen geinteresseerd bent om deze sleutel in plaats daarvan te beheren, is er een afzonderlijke sectie die die stappen beschrijft.

Betrokken producten en versies

Adobe Commerce op Cloud, Adobe Commerce op locatie en Magento Open Source:

  • 2.4.7-p1 en lager
  • 2.4.6-p6 en eerdere versies
  • 2.4.5-p8 en eerder
  • 2.4.4-p9 en eerder

Geïsoleerde patch voor het oplossen van problemen met rotatiedetails van coderingssleutels

Gebruik de volgende bijgevoegde patches, afhankelijk van uw Adobe Commerce/Magento Open Source-versie:

Voor versie 2.4.7, 2.4.7-p1:

Voor versies 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:

Voor versies 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:

Voor versies 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:

Nadat u de geïsoleerde patch hebt geïnstalleerd, wijzigt u de actieve coderingssleutel met de nieuwe opdracht CLI .

NOTE
dit nieuwe CLI bevel zal een geheim voorgeheugen op uitvoering teweegbrengen.
  1. Deze nieuwe opdracht moet worden uitgevoerd in de omgeving die het app/etc/env.php -bestand bevat voor de sleutel die u wilt bijwerken.

  2. Bevestig dat de nieuwe opdracht bestaat:

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

    U zou de volgende output moeten zien:

    code language-none
    encryption:key:change Change the encryption key inside the env.php file.
    
  3. Verander de encryptiesleutel:

    code language-none
    bin/magento encryption:key:change
    
  4. Als u dit bevel op uw productiesysteem hebt uitgevoerd, zou geen verdere actie moeten worden vereist.
    Als u dit op een ontwikkelingssysteem in werking hebt gesteld, moet u ​deze verandering in uw productiesysteem krijgen aangezien u normaal gevoelige configuratiemontages zou opstellen.

De coderingssleutel bijwerken met omgevingsvariabelen in plaats van de geïsoleerde patch te gebruiken

Als alternatief voor de bovenstaande sectie kunt u met deze stappen een nieuwe coderingssleutel toevoegen terwijl de bestaande gecodeerde gegevens behouden blijven, zelfs als u momenteel de standaard app/etc/env.php gebruikt.
deze sectie is op Adobe Commerce op Cloud en de Starter van de Wolk van toepassing, maar is ook op Adobe Commerce op-gebouw van toepassing, hoewel de nauwkeurige stappen en de plaatsen van de variabelen van uw infrastructuur afhankelijk zullen zijn.

Verzamel uw huidige waarde

  • Als u reeds uw sleutels met omgevingsvariabelen beheert, kan het in verscheidene mogelijke plaatsenzijn, maar het zal zeer waarschijnlijk in de CRYPT_KEYvariabele zijn zoals die in de documentatie wordt beschreven.
  • Als u geen variabelen gebruikt, bevindt de coderingssleutel zich in app/etc/env.php binnen de gegevenssleutel van crypt/key .

In beide gevallen kan het een waarde met meerdere regels zijn en meerdere willekeurige gegevenslijnen bevatten.

Een nieuwe waarde genereren voor 2,4,7 x versies

Coderingssleutels zijn 32 bytes van willekeurige gegevens die met base64 zijn gecodeerd en vooraf met base64 zijn ingesteld.
Een nieuwe sleutel genereren:

  1. Met het gereedschap van uw keuze genereert u 32 willekeurige bytes met gegevens die zijn gecodeerd met base64 . Als u bijvoorbeeld OpenSSL CLI gebruikt, kunt u openssl rand -base64 32 uitvoeren, maar u kunt elk betrouwbaar cryptografisch willekeurig generatiegereedschap gebruiken.

  2. Plaats een voorvoegsel voor die waarde in base64 . Bijvoorbeeld, als de openssl beveloutput ABC123, de waarde zou worden: base64ABC123

  3. Voeg de gegenereerde waarde toe aan de bestaande waarde die u hierboven hebt verzameld. Bijvoorbeeld, als uw bestaande waarde base64HelloWorld is, zou uw nieuwe waarde worden:

    code language-none
    base64HelloWorld
    base64ABC123
    

Een nieuwe waarde genereren voor 2,4,6 x en eerdere versies

Coderingssleutels op 2.4.6x en eerdere versies bestaan uit 16 bytes aan willekeurige gegevens in een hex -gecodeerde indeling.
Een nieuwe sleutel genereren:

  1. Met het gereedschap van uw keuze genereert u 16 willekeurige gegevensbytes. Als u bijvoorbeeld OpenSSL CLI gebruikt, kunt u openssl rand -hex 16 uitvoeren, maar u kunt elk betrouwbaar cryptografisch willekeurig generatiegereedschap gebruiken.

  2. Voeg de gegenereerde waarde toe aan de bestaande waarde die u hierboven hebt verzameld. Bijvoorbeeld, als uw bestaande waarde abc123 is, en uw willekeurige waarde van de vorige stap is 456def, zou uw nieuwe waarde worden:

    code language-none
    abc123
    456def
    

Een nieuwe omgevingsvariabele toevoegen

Gebruik Cloud Console of magento-cloud CLIom de env:MAGENTO_DC_CRYPT__KEY milieuvariabeleaan deze nieuwe waarde te plaatsen.

NOTE
Word geadviseerd dat als u verkiest om de variabele als gevoelig te merken, u een externe steun van deze waarde kunt willen bewaren, aangezien het van alle interfaces en slechts zichtbaar aan de toepassing zal worden verborgen.

Op het bewaren van de variabele, zal een herplaatsing automatisch teweeggebracht worden die de waarde zal veroorzaken om worden toegepast.

Beveiligingsupdates

Gerelateerde beveiligingsupdates beschikbaar voor Adobe Commerce:

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