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

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

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

위에서 이전에 전달되고 요약된 단계를 설명하는 데 도움이 되도록 아래에서 확인할 수 있는 추가 문제 해결뿐만 아니라 CVE-2024-34102 로부터 보호하기 위해 이 순서도를 활용할 수도 있습니다.

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

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

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

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

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

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

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

설명 description

영향을 받는 제품 및 버전

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 및 이전

해결 방법 resolution

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

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:

분리된 패치를 설치한 후 새 CLI 명령을 사용하여 활성 암호화 키를 변경합니다.

참고: 이 새 CLI 명령은 실행 시 캐시 정리를 트리거합니다.

  1. 이 새 명령은 업데이트할 키의 app/etc/env.php 파일이 포함된 환경에서 실행해야 합니다.
  2. 새 명령이 있는지 확인합니다. bin/magento list | grep encryption:key:change
    • 다음 출력이 표시됩니다.
      • encryption:key:change Change the encryption key inside the env.php file.
  3. 암호화 키 변경: bin/magento encryption:key:change
  4. 프로덕션 시스템에서 이 명령을 실행한 경우 추가 작업이 필요하지 않습니다. 개발 시스템에서 이 작업을 실행한 경우, 일반적인 경우 중요한 구성 설정을 배포하는 것처럼 반드시 이 변경 내용을 프로덕션 시스템에 적용해야 합니다.

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

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

현재 값 수집

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

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

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 및 이전 버전의 암호화 키는 16진수로 인코딩된 형식의 임의 데이터 16바이트입니다. 새 키를 생성하려면 다음을 수행합니다.

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

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

    abc123

    456def

새 환경 변수 추가

클라우드 콘솔 또는 magento-cloud CLI를 사용하여 env:MAGENTO_DC_CRYPT__KEY 환경 변수를 이 새 값으로 설정하십시오.

참고: 변수를 중요(으)로 표시하기로 선택한 경우 이 값은 모든 인터페이스에서 숨겨지고 응용 프로그램에서만 볼 수 있으므로 외부 백업을 저장할 수 있습니다.

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

보안 업데이트

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

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f