문의 주신 내용에 맞는 전문 컨설턴트 배정 후 연락드리겠습니다.
안녕하세요. GS네오텍 최준승입니다.
오늘은 평소와 좀 다른 범주의 이야기를 소개해 드리려고 합니다. 보통은 포스팅을 통해 새로운 서비스나 단위 기능을 전달드리곤 하는데요. 오늘은 AWS가 수행하는 일종의 관리 작업(?)과 관련된 주의사항을 재정리해보려고 합니다. 아마 AWS 계정을 갖고 계시다면, 그 계정에 등록된 주소로 아래와 같은 이메일을 최근에 받으셨을 겁니다.
Hello,
This is a reminder that Amazon Simple Storage Service (S3) and Amazon CloudFront are both migrating their services’ certificates from DigiCert to Amazon Trust Services starting March 23, 2021. If you do not send HTTPS traffic directly to your S3 bucket, or only use custom domains like www.example.com with your CloudFront distribution, then there is no impact and you can disregard this message. If you do send HTTPS traffic directly to your S3 bucket, or use CloudFront domains covered by *.cloudfront.net, please continue reading and review the FAQ below on which certificates are migrating. (후략)
Reminder라고 하니, 뭔가 조치를 해야할 것 같은 느낌이 드는데.. 당장 뭘 어떻게 해야 할지 감이 안잡히시는 분들께 도움을 드리고자 오늘 글을 작성하고 있구요. 내용을 어떤식으로 정리할까 고민하다가, 문득 Q&A 문항 9개로 재구성하면 가장 직관적으로 이해가 빠를것 같아 그렇게 진행하려고 합니다.
Q1. 이번에 공지된 AWS 작업 내용은 구체적으로 어떤 것인가요?
A1. Cloudfront와 S3 기본 주소에 요청할때 사용되는 보안 인증서 인증기관(CA)이 DigiCert에서 Amazon Trust Services로 변경됩니다.
Q2. 구체적으로 해당 변경이 적용되는 주소값은 어떤것입니까?
A2. 상용 리전 한정으로 아래와 같으며, 일부 리전(S3:Regional, 바레인)의 주소값은 작업 대상에서 제외될 수 있습니다. (Q3 참고)
* CloudFront(Global): *.cloudfront.net
* S3(Global): *.s3.amazonaws.com (AP-NORTHEAST-1, AP-NORTHEAST-2, AP-NORTHEAST-3, AP-SOUTH-1, AP-SOUTHEAST-1, AP-SOUTHEAST-2, CA-CENTRAL-1, EU-CENTRAL-1, EU-NORTH-1, EU-WEST-1, EU-WEST-2, EU-WEST-3, SA-EAST-1, US-EAST-1, US-EAST-2, US-WEST-1, US-WEST-2)
* S3(Regional): *.s3.region.amazonaws.com (AP-NORTHEAST-1, AP-NORTHEAST-2, AP-SOUTH-1, AP-SOUTHEAST-1, AP-SOUTHEAST-2, CA-CENTRAL-1, CN-NORTH-1, CN-NORTHWEST-1, EU-CENTRAL-1, EU-WEST-1, EU-WEST-2, SA-EAST-1, US-EAST-1, US-EAST-2, US-GOV-WEST-1, US-WEST-1, US-WEST-2)
Q3. 무슨 얘긴지 잘 이해가 되지 않습니다. 변경사항이 무엇이고, 어느곳에 적용되는지 좀 더 직관적으로 알려주실 수 없나요?
A3. 두가지 예시를 들어보겠습니다. 하나는 1) 서울 리전에 위치한 S3 버킷 내 객체를 HTTPS로 요청, 2) 바레인 리전에 위치한 객체를 동일하게 요청
현재 *.s3.ap-northeast-2.amazonaws.com 주소로 요청할때 사용되는 인증서의 발급자가 DigiCert로 되어 있습니다. 이 인증서가 3월말부터 순차적으로 Amazon의 것으로 변경된다는 것입니다.
*.s3.me-south-1.amazonaws.com 주소로 요청할때 사용되는 인증서는 이미 Amazon의 것을 사용하고 있습니다. 따라서 Q2에서 말씀드린 작업 대상에 포함되지 않습니다.
Q4. 저희 어플리케이션에서는 S3에 HTTPS 요청이 아니라 HTTP 요청으로 객체를 받아오는데, 이는 인증서와 상관이 없으므로 영향도가 없을까요?
A4. 네. HTTP로 요청할 경우 인증서가 사용되지 않으므로 이번 작업과 무관합니다. 더불어 CloudFront에서 CNAME처리를 하여 해당 도메인으로 별도의 인증서를 쓰는 경우에도 이번 작업과는 무관합니다. (따라서 영향도가 없습니다)
Q5. 위에서 말한 인증서의 CA가 변경되는 경우, 어떤 문제가 발생할 수 있나요?
A5. 요청하는 환경의 Trust Store에 Amazon이 포함되어 있지 않은 경우(아주 오래된 웹브라우저, OS, Application) 요청시 정상적인 응답을 받지 못할 수 있습니다. 사실 Amazon의 것도 2005년부터 범용적으로 사용되어 왔기 때문에, 아래를 포함한 대부분의 환경에서는 이슈가 없습니다.
* Microsoft Windows versions, that have updates installed, from January 2005, Windows Vista, Windows 7, Windows Server 2008, and newer versions
* Mac OS X 10.4 with Java for Mac OS X 10.4 Release 5, Mac OS X 10.5 and newer versions
* Red Hat Enterprise Linux 5 (March 2007), Linux 6, and Linux 7 and CentOS 5, CentOS 6, and CentOS 7
* Ubuntu 8.10, Debian 5.0, Amazon Linux (all versions)
* Java 1.4.2_12, Java 5 update 2, and all newer versions, including Java 6, Java 7, and Java 8
* Chrome, Firefox, Safari
* The Windows operating system manages certificate bundles for Internet Explorer and Microsoft Edge, so you must update Windows as well
Q6. 어떤 경우에 이번 변경사항에 이슈가 발생할 수 있나요?
A6. 1) 위에서 언급되지 않은 아주 구버전의 환경에서 요청하는 경우 2) 또는 Certificate pinning 기법과 같이 별도로 신뢰하는 CA목록을 중간에서 관리하는 로직이 있는 경우, 사전에 영향도를 테스트해봐야 합니다.
Q7. 사전에 영향도를 판단하기 위한 방법이 있나요?
A7. 아래 두개 링크에 나온 URL을 통해 각자의 클라이언트 환경에서 영향도를 사전에 판별할 수 있습니다.
https://aws.amazon.com/blogs/security/how-to-prepare-for-aws-move-to-its-own-certificate-authority/
https://s3-ats-migration-test.s3.eu-west-3.amazonaws.com/test.jpg
Q8. AWS의 작업(CA 변경)은 3/23 당일에 한꺼번에 이뤄집니까?
A8. 기존 Digicert의 인증서 유효기간이 대략 21년 9월까지인것으로 보아(여유가 있음), 3/23일부터 변경작업이 순차적으로 이루어질 것으로 추측됩니다. 공지에도 작업이 3/23부터 시작된다고 고지되어 있습니다.
Q9. 글이 너무 긴데, 3줄로 요약해주실 수 있나요?
A9. 1) 대부분의 사용 환경에서는 영향도가 없습니다. 2) 다만 CloudFront와 S3의 기본주소로 (HTTPS 등의) 인증서가 사용되는 요청을 할 경우, 3월 말부터 일부 오래된 클라이언트 환경에서 이슈가 발생할 수도 있습니다. 3) 해당 사항이 있는 경우 Q7에 나온 링크로 사전 검증할 수 있습니다.
마칩니다. 감사합니다.