암호화 키 순환 문제 해결: 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 명령은 실행 시 캐시 정리를 트리거합니다.
- 이 새 명령은 업데이트할 키의
app/etc/env.php파일이 포함된 환경에서 실행해야 합니다. - 새 명령이 있는지 확인합니다.
bin/magento list | grep encryption:key:change- 다음 출력이 표시됩니다.
encryption:key:change Change the encryption key inside the env.php file.
- 다음 출력이 표시됩니다.
- 암호화 키 변경:
bin/magento encryption:key:change - 프로덕션 시스템에서 이 명령을 실행한 경우 추가 작업이 필요하지 않습니다. 개발 시스템에서 이 작업을 실행한 경우, 일반적인 경우 중요한 구성 설정을 배포하는 것처럼 반드시이 변경 내용을 프로덕션 시스템에 적용해야 합니다.
격리된 패치를 사용하는 대신 환경 변수를 사용하여 암호화 키를 업데이트합니다.
위의 섹션에 대한 대체 방법으로 현재 기본 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바이트의 임의 데이터입니다. 새 키를 생성하려면 다음을 수행합니다.
-
원하는 도구를 사용하여 base64로 인코딩된 32개의 임의 바이트를 생성합니다. 예를 들어 OpenSSL CLI를 사용하여
openssl rand -base64 32을(를) 실행할 수 있지만 신뢰할 수 있는 모든 암호화 임의 생성 도구를 사용할 수 있습니다. -
해당 값의 접두사로
base64을(를) 사용합니다. 예를 들어openssl명령이 ABC123을 출력하면 값은 base64ABC123이 됩니다. -
위에서 수집한 기존 값에 생성된 값을 추가합니다. 예를 들어 기존 값이 base64HelloWorld이면 새 값은 다음과 같습니다.
code language-none base64HelloWorld base64ABC123
2.4.6x 및 이전 버전의 암호화 키는 16진수로 인코딩된 형식의 임의 데이터 16바이트입니다. 새 키를 생성하려면 다음을 수행합니다.
-
원하는 도구를 사용하여 16개의 무작위 바이트 데이터를 생성합니다. 예를 들어 OpenSSL CLI를 사용하여
openssl rand -hex 16을(를) 실행할 수 있지만 신뢰할 수 있는 모든 암호화 임의 생성 도구를 사용할 수 있습니다. -
위에서 수집한 기존 값에 생성된 값을 추가합니다. 예를 들어 기존 값이 abc123이고 이전 단계의 임의 값이 456def인 경우 새 값은 다음과 같습니다.
abc123456def
새 환경 변수 추가
클라우드 콘솔 또는 magento-cloud CLI를 사용하여 env:MAGENTO_DC_CRYPT__KEY 환경 변수를 이 새 값으로 설정하십시오.
참고: 변수를 중요(으)로 표시하기로 선택한 경우 이 값은 모든 인터페이스에서 숨겨지고 응용 프로그램에서만 볼 수 있으므로 외부 백업을 저장할 수 있습니다.
변수를 저장하면 재배포가 자동으로 트리거되어 값이 적용됩니다.
보안 업데이트
Adobe Commerce에서 사용할 수 있는 관련 보안 업데이트: