EC2 인스턴스에서 Let's Encrypt 인증서에 대한 인증서 만료 오류를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Let's Encrypt 인증서가 있는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 원격 URL에 연결할 수 없습니다. 또는 Let's Encrypt 인증서가 만료되었다는 오류 메시지가 표시됩니다. 이 문제를 해결하려면 어떻게 해야 하나요?

간략한 설명

일부 EC2 인스턴스에서 만료된 Let's Encrypt 교차 서명된 DST 루트 CA X3으로 인해 만료된 인증서 오류가 발생합니다. 다음 운영 체제를 실행하는 인스턴스는 Let's Encrypt 인증서를 사용하는 서버에 연결하지 못할 수 있습니다. 또한 이러한 운영 체제는 2021년 9월 30일 이후에는 Let's Encrypt 엔드포인트에 액세스하여 인증서를 발급하거나 갱신하지 못할 수도 있습니다.

  • CentOS 및 RHEL 7 이하
  • Amazon Linux 및 Amazon Linux 2
  • Ubuntu 16.04 이하
  • Ubuntu 8 이하

호환성을 위해 Let's Encrypt 인증서는 기본적으로 2021년 9월 30일에 만료된 DST 루트 CA X3 인증서에 의해 교차 서명된 인증서 체인을 사용합니다.

OpenSSL 1.0.2에서는 신뢰할 수 없는 체인이 항상 우선시됩니다. 이는 만료된 인증서가 표시되고 전체 체인이 만료된 것으로 간주됨을 의미합니다. 영향을 받는 버전의 OpenSSL 및 루트 저장소에 DST 루트 CA X3 인증서가 있는 서버는 Let's Encrypt 인증서를 발급하거나 갱신할 수 없습니다. 영향을 받는 서버 또한 이를 사용하는 서버에 액세스할 수 없습니다.

해결 방법

이 문제는 Ubuntu 16.04에서 OpenSSL 패키지의 최신 릴리스로 해결되었습니다. Amazon Linux 및 Red Hat은 만료되는 인증서를 거부하는 새로운 CA 인증서 패키지도 출시했습니다.

패키지 업데이트

Ubuntu 16.04: OpenSSL을 버전 1.0.2g-1ubuntu4.20 이상으로 업데이트합니다.

Amazon Linux 및 Amazon Linux 2: 업데이트된 CA 인증서 패키지를 자동으로 적용하기 위해 Amazon Linux 인스턴스가 다시 시작될 수 있습니다. 기존 인스턴스를 업데이트해야 하는 경우 다음 명령을 실행하여 CA 인증서를 업데이트할 수 있습니다.

sudo yum update ca-certificates

참고: Elastic Beanstalk와 같이 리포지토리 GUID가 잠겨 있는 AMI를 사용하는 경우, 다음 명령을 사용하여 업데이트된 CA 인증서 패키지를 설치할 수 있습니다.

Amazon Linux 1

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

Amazon Linux 2

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

Red Hat 및 CentOS 7: CA 인증서 패키지를 2021.2.50-72.el7_9 이상으로 업데이트합니다.

참고: 16.04 미만 Ubuntu 버전은 지원이 종료되었습니다. 수동 개입이 가능할 수도 있지만 지원되지 않습니다.

Amazon Linux 기반 시스템에 대한 수동 문제 해결

앞의 yum 명령을 사용하여 기존 인스턴스를 업데이트하는 것이 가장 좋습니다. 시스템을 제자리에서 수정하려면 다음 명령을 대신 사용합니다.

Amazon Linux 1

sudo sed -i'' '/Alias: DST Root CA X3/,/No Rejected Uses./d' /usr/share/pki/ca-trust-source/ca-bundle.trust.crt
sudo update-ca-trust

Amazon Linux 2

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

Red Hat 기반 시스템에 대한 수동 문제 해결

1.    기존 루트 저장소를 백업합니다.

cp -i /etc/pki/tls/certs/ca-bundle.crt ~/ca-bundle.crt-backup

2.    거부 목록 디렉터리에 인증서를 추가합니다.

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

3.    루트 저장소를 업데이트합니다.

sudo update-ca-trust extract

4.    인증서 제거를 확인합니다.

diff ~/ca-bundle.crt-backup /etc/pki/tls/certs/ca-bundle.crt

관련 정보

Let's Encrypt 인증서에 대한 Android 기기 호환성 확장

AWS 공식
AWS 공식업데이트됨 2년 전