암호화 키 순환 문제 해결: 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 인 경우 새 값은 다음과 같습니다.
abc123
456def
새 환경 변수 추가
클라우드 콘솔 또는 magento-cloud CLI를 사용하여 env:MAGENTO_DC_CRYPT__KEY
환경 변수를 이 새 값으로 설정하십시오.
참고: 변수를 중요(으)로 표시하기로 선택한 경우 이 값은 모든 인터페이스에서 숨겨지고 응용 프로그램에서만 볼 수 있으므로 외부 백업을 저장할 수 있습니다.
변수를 저장하면 재배포가 자동으로 트리거되어 값이 적용됩니다.
보안 업데이트
Adobe Commerce에서 사용할 수 있는 관련 보안 업데이트: