Aurora PostgreSQL 호환 DB 인스턴스에서 SSL을 활성화하려면 어떻게 해야 하며, SSL 인증서를 사용하여 인스턴스에 연결하려면 어떻게 해야 하나요?

2분 분량
0

Secure Socket Layer(SSL) 연결을 사용하여 Amazon Aurora PostgreSQL 호환 에디션 DB 클러스터에 연결하고 싶습니다.

간략한 설명

SSL 또는 전송 계층 보안(TLS)을 사용하여 애플리케이션에서 Aurora PostgreSQL 호환 DB 클러스터에 대한 연결을 암호화할 수 있습니다. SSL 및 TLS 연결은 클러스터에 단일 보안 계층을 제공하고, 클라이언트와 클러스터 간에 이동하는 데이터를 암호화합니다. 자세한 내용은 SSL/TLS를 사용하여 DB 클러스터에 대한 연결 암호화를 참조하세요.

보안을 유지하려면, 먼저 클라이언트와 서버 모두에서 SSL 연결을 구성해야 합니다. 서버에 SSL이 구성되지 않은 경우, 클라이언트는 암호와 같은 민감한 정보를 전송할 수 있습니다. SSL 보안 연결을 만드는 방법에 대한 자세한 내용은 PostgreSQL 웹사이트의 SSL 지원을 참조하세요.

PostgreSQL의 SSL 모드는 다음과 같습니다.

  • 검증 완료
  • verify-ca
  • 필요
  • 선호
  • 허용
  • 비활성화

사용 사례에 적합한 SSL 모드를 선택하는 방법에 대한 자세한 내용은 PostgreSQL 웹사이트의 다양한 모드에서 제공되는 보호를 참조하세요.

해결 방법

Amazon Relational Database Service(RDS)는 클러스터에 대한 SSL 또는 TLS 인증을 생성합니다. 이는 클러스터를 생성할 때 발생합니다. 자세한 내용은 Aurora PostgreSQL을 사용한 보안을 참조하세요.

SSL/TLS를 통해 DB 클러스터에 연결

  1. SSL/TSL 인증서를 다운로드합니다.
  2. 운영 체제로 인증서를 가져옵니다.
  3. SSL/TLS를 통해 Aurora PostgreSQL 호환 DB 클러스터에 연결합니다.
    예를 들면, 다음과 같습니다.
    psql -h DBInstance.cluster-Account-Number.eu-west-1.rds.amazonaws.com  -p 5432 "dbname=postgres user=postgres sslrootcert=global-bundle.pem sslmode=verify-full"

rds.force_ssl을 1(켜짐)로 설정하면 DB 인스턴스의 pg_hba.conf 파일이 새 SSL 구성을 지원하도록 수정됩니다. pg_hba_file_rules 보기를 사용하여 pg_hba.conf 파일의 요약 내용을 볼 수 있습니다. rds.force_ssl이 1(켜짐)로 설정된 후 pg_hba_file_rules 보기의 유형 값이 hostssl로 업데이트됩니다.

SSL/TLS를 사용하려면, DB 클러스터에 대한 연결이 필요할 수 있습니다. 이 작업을 수행하려면, rds.force_ssl 매개 변수를 사용하세요. rds.force\ _ssl 매개 변수는 기본적으로 0으로 설정되어 있습니다. 값이 0이면 꺼져 있음을 나타냅니다. 이 매개 변수를 켜려면, rds.force_ssl을 1로 설정합니다. 따라서 DB 클러스터에 연결하려면, SSL/TLS가 필요합니다.

자세한 내용은 SSL/TLS를 사용한 Aurora PostgreSQL 데이터 보안을 참조하세요.

SSL 연결 검토

SSL 연결을 검토하려면, 다음 명령을 실행합니다.

postgres=> select ssl_is_used(); ssl_is_used
-------------
 t
(1 row)

postgres=> select ssl_cipher();
         ssl_cipher
-----------------------------
 ECDHE-RSA-AES128-GCM-SHA256
(1 row)

참고: 아마존 RDS 인스턴스 SSL은 단방향 SSL입니다. 즉, 클라이언트가 서버의 ID를 확인할 수 있습니다.

AWS 공식
AWS 공식업데이트됨 7달 전