암호화 키 순환 문제 해결: CVE-2024-34102

이 문서는 판매자가 CVE-2024-34102의 이 article에 설명된 단계를 이미 수행한 후 암호화 키 순환의 문제를 해결하는 데 도움을 주기 위한 것입니다.

위 문서의 단계를 이미 따랐고 암호화 키를 회전시키는 데 문제가 있는 경우 잠재적인 문제를 해결하는 데 도움이 되는 분리된 패치를 제공합니다.

위에서 이전에 전달되고 요약된 단계를 설명하고 CVE-2024-34102과(와) 아래 발견된 추가 문제 해결을 보호하기 위해 이 순서도를 활용할 수도 있습니다.

CVE-2024-34102 Protection Flow Chart.jpg {modal="regular"}

격리된 패치를 적용하여 새 명령을 실행하는 방법

파일의 압축을 풀고 지침이 필요하면 지원 기술 자료에서 Adobe이 제공한 작성기 패치를 적용하는 방법을 참조하십시오.

환경 변수를 사용하지 않고 새 암호화 키 추가

기본 응용 프로그램 동작은 app/etc/env.php 파일에 암호화 키를 저장하는 것입니다.

설명서에 설명된 단계에서는 Admin 인터페이스를 사용하여 해당 파일 내에서 이 키를 변경하는 방법을 설명합니다.

이 섹션에 제공된 단계 및 격리된 패치를 사용하면 해당 파일의 값을 쉽게 변경할 수 있으며 Admin 인터페이스를 통해 발생할 수 있는 문제를 해결할 수 있습니다.

그러나 암호화 키를 관리하는 가장 쉽고 안전한 방법은 환경 변수를 사용하는 것입니다. 이미 환경 변수를 사용하고 있거나 환경 변수를 사용하여 이 키를 대신 관리하려는 경우 이러한 단계를 설명하는 별도의 섹션이 있습니다.

영향을 받는 제품 및 버전

Adobe Commerce on Cloud, Adobe Commerce 온-프레미스 및 Magento Open Source:

  • 2.4.7-p1 및 이전
  • 2.4.6-p6 및 이전
  • 2.4.5-p8 및 이전
  • 2.4.4-p9 및 이전

암호화 키 회전 문제 해결을 위한 분리된 패치 세부 정보

Adobe Commerce/Magento Open Source 버전에 따라 다음과 같이 첨부된 패치를 사용하십시오.

버전 2.4.7, 2.4.7-p1의 경우:

버전 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의 경우:

버전 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:

버전 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:

버전 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:

분리된 패치를 설치한 후 새 CLI 명령으로 활성 암호화 키를 변경합니다.

NOTE
이 새 CLI 명령은 실행 시 캐시 정리를 트리거합니다.
  1. 이 새 명령은 업데이트할 키의 app/etc/env.php 파일이 포함된 환경에서 실행해야 합니다.

  2. 새 명령이 있는지 확인합니다.

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

    다음 출력이 표시됩니다.

    code language-none
    encryption:key:change Change the encryption key inside the env.php file.
    
  3. 암호화 키 변경:

    code language-none
    bin/magento encryption:key:change
    
  4. 프로덕션 시스템에서 이 명령을 실행한 경우 추가 작업이 필요하지 않습니다.
    개발 시스템에서 이 작업을 실행한 경우, 일반적인 경우 중요한 구성 설정을 배포하는 것처럼 반드시 ​이 변경 내용을 프로덕션 시스템에 적용해야 합니다.

격리된 패치를 사용하는 대신 환경 변수를 사용하여 암호화 키를 업데이트합니다.

위의 섹션에 대한 대체 방법으로 현재 기본 app/etc/env.php을(를) 사용하고 있더라도 이러한 단계를 통해 암호화된 기존 데이터를 유지하면서 새 암호화 키를 추가할 수 있습니다.
이 섹션은 Adobe Commerce on Cloud 및 Cloud Starter에 적용되지만, 변수의 정확한 단계 및 위치는 인프라에 따라 다르지만 Adobe Commerce on-premise ​에도 적용됩니다.

현재 값 수집

  • 이미 환경 변수를 사용하여 키를 관리하는 경우 가능한 여러 위치에 있을 수 있지만, 설명서에 설명된 대로 CRYPT_KEY 변수에 있을 가능성이 높습니다.
  • 변수를 사용하지 않는 경우 암호화 키는 crypt/key 데이터 키 내의 app/etc/env.php에 있습니다.

어느 경우든, 그것은 다중선 값일 수 있고, 데이터의 다수의 무작위 선들을 포함할 수 있다.

2.4.7x 버전에 대한 새 값 생성

암호화 키는 base64 (으)로 인코딩되고 base64 접두사가 붙은 32바이트의 임의 데이터입니다.
새 키를 생성하려면 다음을 수행합니다.

  1. 선택한 도구를 사용하여 base64 (으)로 인코딩된 32개의 임의 바이트를 생성합니다. 예를들어 OpenSSL CLI을(를) 사용하여 openssl rand -base64 32을(를) 실행할 수 있지만 신뢰할 수 있는 암호화 임의 생성 도구를 사용할 수 있습니다.

  2. 해당 값의 접두사로 base64을(를) 사용합니다. 예를 들어 openssl 명령 출력이 ABC123 ​이면 값은 base64ABC123 ​이 됩니다.

  3. 위에서 수집한 기존 값에 생성된 값을 추가합니다. 예를 들어 기존 값이 base64HelloWorld ​인 경우 새 값은
    이 됩니다.

    code language-none
    base64HelloWorld
    base64ABC123
    

2.4.6x 및 이전 버전에 대한 새 값 생성

2.4.6x 및 이전 버전의 암호화 키는 hex 인코딩 형식으로 된 16바이트의 임의 데이터입니다.
새 키를 생성하려면 다음을 수행합니다.

  1. 원하는 도구를 사용하여 16개의 무작위 바이트 데이터를 생성합니다. 예를들어 OpenSSL CLI을(를) 사용하여 openssl rand -hex 16을(를) 실행할 수 있지만 신뢰할 수 있는 암호화 임의 생성 도구를 사용할 수 있습니다.

  2. 위에서 수집한 기존 값에 생성된 값을 추가합니다. 예를 들어 기존 값이 abc123 ​이고 이전 단계의 임의 값이 456def ​인 경우 새 값은
    이(가) 됩니다.

    code language-none
    abc123
    456def
    

새 환경 변수 추가

Cloud Console 또는 magento-cloud CLI을(를) 사용하여 env:MAGENTO_DC_CRYPT__KEY 환경 변수를 이 새 값으로 설정합니다.

NOTE
변수를 sensitive(으)로 표시하도록 선택하는 경우, 이 값은 모든 인터페이스에서 숨겨지고 응용 프로그램에서만 표시되므로 이 값의 외부 백업을 저장할 수 있습니다.

변수를 저장하면 재배포가 자동으로 트리거되어 값이 적용됩니다.

보안 업데이트

Adobe Commerce에서 사용할 수 있는 관련 보안 업데이트:

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