Let's Encrypt 인증서가 있는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 원격 URL에 연결할 수 없습니다. 또는 Let's Encrypt 인증서가 만료되었다는 오류 메시지가 표시됩니다.
간략한 설명
Let's Encrypt 교차 서명 DST 루트 CA X3 인증서가 만료된 경우 인증서 만료 오류가 표시됩니다. 이 문제를 해결하려면 운영 체제(OS)용 패키지를 업그레이드하십시오.
Let's Encrypt 인증서는 호환성을 위해 2021년 9월 30일에 만료된 DST 루트 CA X3 인증서로 교차 서명된 인증서 체인을 사용합니다. OpenSSL 1.0.2는 신뢰할 수 없는 체인을 선호합니다. 즉, OpenSSL 인증 검증 프로세스는 만료된 인증서를 확인하고 전체 체인을 만료된 것으로 간주하고 불신합니다. OpenSSL 1.0.2 및 DST 루트 CA X3 인증서가 루트 저장소에 있는 서버는 Let's Encrypt 인증서를 발급하거나 갱신할 수 없습니다. 또한 영향을 받는 서버는 Let's Encrypt 인증서를 사용하는 서버에 액세스할 수 없습니다.
다음 OS를 실행하는 EC2 인스턴스에서는 Let's Encrypt 인증서와 관련된 문제가 발생할 수 있습니다.
- CentOS 및 Red Hat Enterprise Linux(RHEL) 7 이상
- Amazon Linux 1(AL1) 및 Amazon Linux 2(AL2)
- Ubuntu 16.04 이하
- Debian 8 이하
해결 방법
Ubuntu에서 패키지 업데이트
Ubuntu 16.04의 경우 OpenSSL을 1.0.2g-1ubuntu4.20 이상 버전으로 업데이트하십시오. 자세한 내용은 Launchpad 웹 사이트에서 만료 예정인 트러스트 앵커 호환성 문제를 참조하십시오.
참고: Ubuntu 16.04 이전 버전은 수명이 종료되었습니다. Ubuntu는 수동 개입이 가능하더라도 이러한 버전을 지원하지 않습니다.
AL1 또는 AL2에서 패키지 업데이트
AL1 또는 AL2의 경우 인스턴스를 다시 실행하여 업데이트된 ca-certificate 패키지를 자동으로 적용할 수 있습니다.
기존 인스턴스를 업데이트하려면 다음 명령을 실행하여 ca-certificates를 업데이트합니다.
sudo yum update ca-certificates
AWS Elastic Beanstalk과 같이 잠긴 리포지토리 GUID가 있는 Amazon Machine Image(AMI)를 사용하는 경우 업데이트된 ca-certificates 패키지를 설치해야 합니다. Amazon Linux 버전에 따라 다음 명령 중 하나를 실행합니다.
AL1:
sudo yum install https://cdn.amazonlinux.com/patch/ca-certificates-update-2021-09-30/ca-certificates-2018.2.22-65.1.24.amzn1.noarch.rpm
AL2:
sudo yum install https://cdn.amazonlinux.com/patch/ca-certificates-update-2021-09-30/ca-certificates-2021.2.50-72.amzn2.0.1.noarch.rpm
yum 명령을 사용하여 기존 인스턴스를 업데이트하는 것이 가장 좋습니다. 하지만 현재 위치에서 시스템을 수정하려면 다음 명령 중 하나를 실행하십시오.
AL1:
sudo sed -i'' '/Alias: DST Root CA X3/,/No Rejected Uses./d' /usr/share/pki/ca-trust-source/ca-bundle.trust.crtsudo update-ca-trust
AL2:
sudo sed -i'' '/DST Root CA X3/,/\[p11-kit-object-v1\]/d' /usr/share/pki/ca-trust-source/ca-bundle.trust.p11-kit sudo update-ca-trust
RHEL 또는 CentOS에서 패키지 업데이트
RHEL 7 및 CentOS 7의 경우 ca-certificates 패키지를 2021.2.50-72.el7_9 이상으로 업데이트하십시오. 지침은 Red Hat 웹사이트의 RHEL 시스템에 패키지 업데이트를 적용하려면 어떻게 해야 합니까?를 참조하십시오.
업그레이드한 후에도 RHEL 인스턴스에서 여전히 문제가 발생하는 경우 DST 루트 CA X3 인증서를 수동으로 차단해야 합니다. 다음 단계를 완료하십시오.
-
다음 명령을 실행하여 기존 루트 저장소를 백업합니다.
cp -i /etc/pki/tls/certs/ca-bundle.crt ~/ca-bundle.crt-backup
-
다음 명령을 실행하여 거부 목록 디렉터리에 인증서를 추가합니다.
trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | sudo tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem
-
다음 명령을 실행하여 루트 저장소를 업데이트합니다:
sudo update-ca-trust extract
-
다음 명령을 실행하여 인증서가 제거되었는지 확인합니다.
diff ~/ca-bundle.crt-backup /etc/pki/tls/certs/ca-bundle.crt
관련 정보
Let's Encrypt 웹 사이트의 Let's Encrypt 인증서에 대한 Android 디바이스 호환성 확장