암호화 키 순환 문제 해결: CVE-2024-34102
이 문서는 판매자가 CVE-2024-34102의 이 article에 설명된 단계를 이미 수행한 후 암호화 키 순환의 문제를 해결하는 데 도움을 주기 위한 것입니다.
위 문서의 단계를 이미 따랐고 암호화 키를 회전시키는 데 문제가 있는 경우 잠재적인 문제를 해결하는 데 도움이 되는 분리된 패치를 제공합니다.
위에서 이전에 전달되고 요약된 단계를 설명하고 CVE-2024-34102과(와) 아래 발견된 추가 문제 해결을 보호하기 위해 이 순서도를 활용할 수도 있습니다.
{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 명령으로 활성 암호화 키를 변경합니다.
-
이 새 명령은 업데이트할 키의
app/etc/env.php
파일이 포함된 환경에서 실행해야 합니다. -
새 명령이 있는지 확인합니다.
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.
-
암호화 키 변경:
code language-none bin/magento encryption:key:change
-
프로덕션 시스템에서 이 명령을 실행한 경우 추가 작업이 필요하지 않습니다.
개발 시스템에서 이 작업을 실행한 경우, 일반적인 경우 중요한 구성 설정을 배포하는 것처럼 반드시 이 변경 내용을 프로덕션 시스템에 적용해야 합니다.
격리된 패치를 사용하는 대신 환경 변수를 사용하여 암호화 키를 업데이트합니다.
위의 섹션에 대한 대체 방법으로 현재 기본 app/etc/env.php
을(를) 사용하고 있더라도 이러한 단계를 통해 암호화된 기존 데이터를 유지하면서 새 암호화 키를 추가할 수 있습니다.
이 섹션은 Adobe Commerce on Cloud 및 Cloud Starter에 적용되지만, 변수의 정확한 단계 및 위치는 인프라에 따라 다르지만 Adobe Commerce on-premise 에도 적용됩니다.
현재 값 수집
어느 경우든, 그것은 다중선 값일 수 있고, 데이터의 다수의 무작위 선들을 포함할 수 있다.
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 및 이전 버전에 대한 새 값 생성
2.4.6x 및 이전 버전의 암호화 키는 hex 인코딩 형식으로 된 16바이트의 임의 데이터입니다.
새 키를 생성하려면 다음을 수행합니다.
-
원하는 도구를 사용하여 16개의 무작위 바이트 데이터를 생성합니다. 예를들어 OpenSSL CLI을(를) 사용하여
openssl rand -hex 16
을(를) 실행할 수 있지만 신뢰할 수 있는 암호화 임의 생성 도구를 사용할 수 있습니다. -
위에서 수집한 기존 값에 생성된 값을 추가합니다. 예를 들어 기존 값이 abc123 이고 이전 단계의 임의 값이 456def 인 경우 새 값은
이(가) 됩니다.code language-none abc123 456def
새 환경 변수 추가
Cloud Console 또는 magento-cloud CLI을(를) 사용하여 env:MAGENTO_DC_CRYPT__KEY
환경 변수를 이 새 값으로 설정합니다.
변수를 저장하면 재배포가 자동으로 트리거되어 값이 적용됩니다.
보안 업데이트
Adobe Commerce에서 사용할 수 있는 관련 보안 업데이트: