한줄공지
  • 등록된 공지내용이 없습니다.

AWS RDS 만료되는 SSL/TLS 인증서 업데이트 (rds-ca-2019)

2024년 4월 24일
조회수 56
코멘트 0

목차

이 포스트는 AWS RDS의 CA 인증서 만료가 1년 미만일 경우 아래와 같은 내용의 알림 메일을 받게 된 경우 CA 인증서 업데이트 방법에 대해 안내 합니다.

RDS planned lifecycle event

이 메시지를 받는 이유는 고객님의 AWS 계정에 AP-NORTHEAST-2 리전에 2024년 8월 22일에 만료되는 SSL/TLS 인증서를 사용하는 Amazon RDS 또는 Amazon Aurora 데이터베이스 인스턴스가 하나 이상 있기 때문입니다.

영향을 받는 리소스 목록은 '영향을 받는 리소스' 탭에서 확인할 수 있습니다.

이는 SSL/TLS CA 인증 만료에 대한 후속 알림입니다. 이미 이 작업을 완료했는데도 이 이메일을 계속 수신하신 경우 2019 인증 기관 (CA) 을 사용하여 새로운 인스턴스를 만들었기 때문일 수 있습니다. 2024년 1월 25일 이후에는 다른 CA를 명시적으로 지정하지 않고 새로 생성되는 모든 인스턴스가 'rds-ca-rsa2048-g1' CA를 사용하게 됩니다. 계정 수준 CA 재정의 설정에 대한 자세한 내용은 인증서 수정 API 문서 [1] 를 참조하세요.

애플리케이션이 SSL/TLS 프로토콜을 사용하여 이러한 인스턴스에 연결하는 경우 2024년 8월 22일 이전에 조치를 취하여 기존 데이터베이스 인스턴스에 대한 연결 장애를 방지해야 합니다. 현재 연결에 SSL을 사용하지 않더라도 데이터베이스 서버 인증서가 만료되면 여전히 영향을 받을 수 있으므로 CA를 업데이트하는 것이 좋습니다.

데이터베이스 인스턴스와의 통신을 보호하기 위해 CA는 데이터베이스 클라이언트 소프트웨어가 정보를 교환하기 전에 데이터베이스 인스턴스를 인증하는지 확인하는 기간 제한이 있는 인증서를 생성합니다. 업계 모범 사례에 따라 AWS는 정기적으로 CA를 갱신하고 새 인증서를 생성하여 고객 연결이 향후 수년간 적절하게 보호될 수 있도록 합니다. AP-NORTHEAST-2 지역의 현재 CA는 2024년 8월 22일에 만료됩니다. 이 날짜 이전에 DB 서버 인증서를 업데이트해야 합니다. 이를 위한 일반적인 프로세스는 다음과 같습니다.

먼저 애플리케이션 클라이언트를 새 인증서로 업데이트하고, 애플리케이션 클라이언트가 신뢰 저장소를 사용하는 경우 새로운 CA 인증서를 클라이언트 애플리케이션의 신뢰 저장소에 추가하세요. RDS는 사용 설명서 [2] 에서 CA 인증서에 대한 다운로드 링크를 제공합니다. 클라이언트 애플리케이션의 신뢰 저장소 업데이트에 대한 자세한 지침은 설명서 [3] 를 참조하시기 바랍니다.

둘째, 영향을 받는 모든 데이터베이스 인스턴스의 인증서를 새로 발급한 CA 중 하나로 업데이트하세요. 알고리즘 변경이 없기 때문에 'rds-ca-rsa2048-g1'이 기본 권장 CA입니다. 다른 CA는 새 키 알고리즘을 사용하므로 호환성을 확인하기 위해 클라이언트 설정을 더 테스트해야 할 수 있습니다. 새 CA에 대한 자세한 내용은 설명서 [4] 를 참조하세요.

셋째, 기본 CA-rsa2048-g1이 아닌 다른 CA를 사용하려는 경우 새 인스턴스에서 선택한 CA를 사용하도록 계정 수준 CA 재정의(override)를 설정해야 합니다. 이를 위해 인증서 수정 API를 사용할 수 있습니다. 이 API를 사용하면 새로 생성된 데이터베이스 인스턴스의 기본 CA를 이전 CA 또는 새 CA 중 하나로 재정의할 수 있습니다. 이 재정의는 재정의하려는 CA가 유효한 경우에만 적용됩니다. 이 API를 사용하려면 AWS CLI 버전 1.17 이상을 실행해야 합니다. 자세한 내용은 인증서 수정 API 설명서 [1] 를 참조하십시오.인증서 설명 API [5] 도 있는데, 이 API는 현재 기본 CA 재정의(override)가 있는 경우 이를 표시합니다.인스턴스 생성 중에 특정 CA를 설정하려면 create-db-instance API의 ca-certificate-identifier 옵션을 사용하여 특정 CA가 포함된 DB 인스턴스를 생성하세요. 자세한 내용은 create-db-인스턴스 API 문서 [6] 를 참조하시기 바랍니다.

이러한 업데이트를 수행하는 방법에 대한 자세한 지침은 Amazon RDS 인스턴스 [7] 및 Amazon Aurora 인스턴스 [8] 설명서를 참조하시기 바랍니다.

다음 일정을 숙지하시기 바랍니다.

1.가능한 한 빨리 - 클라이언트 신뢰 저장소를 업데이트해야 인스턴스 서버 인증서를 새 CA 중 하나에서 생성한 인증서로 업데이트할 수 있습니다.

2 .2024년 1월 26일 이후모든 새 데이터베이스 인스턴스는 기본적으로 'rds-ca-rsa2048-g1' 인증서를 사용합니다. 새 인스턴스에서 다른 인증서를 사용하려는 경우 AWS 콘솔 또는 AWS CLI에서 사용할 인증서를 지정할 수 있습니다. 자세한 내용은 create-db-instance API 설명서 [6] 를 참조하세요.

3.2024년 8월 22일 이후 'rds-ca-2019'는 만료됩니다. 기존 데이터베이스 인스턴스에 대한 연결 장애를 방지하려면 2024년 8월 22일 이전에 조치를 취해야 합니다.

자세한 내용은 블로그 [9] 를 참조하고, 질문이나 우려 사항이 있는 경우 AWS Support [10] 에 문의주시기 바랍니다.

 

TLS Handshake와 인증서

TLS(Transport Layer Security) Handshake는 클라이언트와 서버 간의 보안된 연결을 시작하기 위한 프로세스입니다. 이 과정에서는 다음과 같은 주요 단계가 포함됩니다:

  1. ClientHello 메시지: 클라이언트가 서버에 연결을 시도하며 사용 가능한 암호 스위트, TLS 버전, 임의의 숫자 데이터를 서버에 보냅니다.
  2. ServerHello 메시지: 서버가 클라이언트의 ClientHello 메시지에 응답하여 암호화 설정, 선택된 암호 스위트, 임의의 숫자 데이터를 클라이언트에 전송합니다.
  3. 서버 인증서 전송: 서버는 자신의 정체성을 증명하기 위해 SSL/TLS 인증서를 클라이언트에게 전송합니다. 이 인증서는 서버의 공개 키를 포함하며, 해당 공개 키는 서버와 클라이언트 간의 통신을 암호화하는데 사용됩니다.
  4. 키 교환: 클라이언트와 서버는 세션 키를 생성하고 교환합니다. 이 키는 세션 동안 데이터를 암호화하고 복호화하는 데 사용됩니다.
  5. 서버 완료 메시지: 서버가 모든 필수 메시지를 보냈다는 신호를 클라이언트에게 전송합니다.
  6. 클라이언트 완료 메시지: 클라이언트도 모든 필수 응답을 보낸 후 연결이 성공적으로 설정되었다는 메시지를 서버에 전송합니다.

이 과정을 통해 클라이언트와 서버 사이에 안전한 연결이 구축되어 데이터의 안전한 전송이 보장됩니다. 인증서는 이 연결에서 중요한 역할을 하며, 신뢰할 수 있는 기관에 의해 발급되고 검증됩니다.

 

AWS 인증기관 인증서 종류

rds-ca-2019, rds-ca-rsa2048-g1, rds-ca-rsa4096-g1, rds-ca-ecc384-g1 인증서는 Amazon RDS(Relational Database Service)에 사용되는 SSL/TLS 인증서들입니다. Amazon RDS는 클라우드에서 관계형 데이터베이스를 쉽게 설정, 운영, 확장할 수 있게 하는 서비스입니다. 이 서비스를 이용할 때, 데이터 전송의 보안을 위해 SSL/TLS 인증서를 사용하여 데이터베이스 인스턴스와 클라이언트 간의 통신을 암호화할 수 있습니다. 각 인증서는 다음과 같은 특징을 가지고 있습니다:

  • rds-ca-2019: 2019년에 발행된 인증서로, 일반적인 보안 요구사항을 충족하는 SSL/TLS 인증서입니다. 이 인증서는 AWS RDS의 기본 인증서로 널리 사용됩니다.

  • rds-ca-rsa2048-g1: RSA 알고리즘을 사용하며, 키 길이가 2048비트인 인증서입니다. RSA 2048비트는 현재 널리 사용되는 암호화 표준으로, 좋은 보안 수준을 제공합니다.

  • rds-ca-rsa4096-g1: 이 인증서도 RSA 알고리즘을 사용하지만, 키 길이가 4096비트로, rsa2048-g1보다 더 강력한 보안을 제공합니다. 더 큰 키 길이는 더 강력한 암호화를 의미하므로, 더 높은 보안이 요구되는 환경에서 선호될 수 있습니다.

  • rds-ca-ecc384-g1: ECC(Elliptic Curve Cryptography)를 사용하는 인증서로, 384비트 키 길이를 가집니다. ECC는 RSA보다 작은 키 크기에서도 비슷하거나 더 높은 보안 수준을 제공할 수 있으며, 효율성과 속도 면에서 이점이 있습니다.

이 인증서들은 AWS에서 제공하며, 각각의 암호화 강도와 요구 사항에 따라 선택할 수 있습니다. 데이터베이스 보안 및 클라이언트와의 안전한 통신을 보장하기 위해 적절한 인증서를 사용하는 것이 중요합니다.

 

인증서 만료 정보

인증서 만료 정보는 AWS RDS 데이터베이스페이지로 이동 후 DB 인스턴트를 선택하면 확인 가능 합니다. DB인스턴트를 선택 후 "연결 및 보안"탭의 우측 하단 "DB 인스턴트 인증서 만료 날짜"를 보면 필자의 Amazon RDS 인증기관의 인증서 rds-ca-2019는 2024년 8월 23일에 만료되는것을 확인 할 수 있습니다.

RDS 인증서 정보

 

인증서 업데이트 시 재시작 여부

CA인증서 업데이트 과정에서 DB엔진에 따라 재시작이 필요 할 수 있기때문에 사전에 CA인증서에 영향을 받는 DB엔진에 대한 재시작 여부를 체크해야 합니다.

aws cli describe-db-engine-versions 명령어를 통해서 재시작이 필요한 DB엔진과 상세 버전을 확인 할 수 있습니다.

 

위 명령어로 출력되는 데이터중 SupportsCertificateRotationWithoutRestartd의 값이 false인 경우 재시작 되는 DB엔진입니다.

 

인증서 업데이트

AWS RDS 데이터베이스페이지로 이동 후 인증서를 업데이트 하려고 하는 DB 인스턴트의 수정으로 접속합니다.

RDS 인스턴트 정보 페이지

연결에서 인증기관의 선택박스를 클릭하여 rds-ca-rsa-2048-g1을 선택 합니다. (다만, 사용하는 RDS에 따라 지원되는 인증서 목록이 다를 수 있습니다) 인스턴트 선택 후 하단의 "계속"을 클릭 합니다.

RDS 인스턴트 수정

마지막으로 인스턴트 수정내용의 검토 화면에서 수정예약을 "즉시" 혹은 "예약된 다음 유지 관리 기간에 적용"를 선택하여 인증서 변경을 완료 합니다.

RDS 인스턴트 수정 검토

안정적이고 저렴한 가상 서버(VPS) 안내

안정적인 서버 호스팅을 찾고 계신가요? 지금 Vultr 호스팅을 한번 이용 해 보세요. 지금 보고 계신 HaruLogs 사이트도 Vultr에서 VPS 호스팅 하고 있습니다. 한국, 일본, 미국등 다양한 국가에 클릭 몇번으로 안정적이고 저렴한 VPS를 운영 할 수 있습니다.

아래 배너를 통해 회원 가입을 하시면 100달러의 무료 크레딧을 받을 수 있습니다. 100달러의 무료 크레딧은 Vultr의 최소 사양 VPS를 20대 동시 운영가능한 크레딧입니다.

지금 무료로 Vultr $100 크레딧 선물 받기

 

Vultr 서비스 요약

  • VPS
    • 인스턴스
      • AMD 또는 Intel High Performance 인스턴스 최저 $6 - 1vCPU, 1GB Memory, 2TB Bandwidth, 25GB NVMe
    • 엣지
  • Block Storage
  • Object Storage (AWS S3 호환)
  • Firewall
  • Network
  • Load Balancers
  • Kubernetes
  • Databases
포스트 통계
지금 보고있는 포스트의 통계 데이터를 확인 해 보세요.
  • 총 조회수
    56
  • 최근 30일 조회수
    18
연관 포스트
코멘트 작성