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 보안 연결을 생성하는 방법에 대한 자세한 내용은 SSL 지원에 대한 PostgreSQL 설명서를 참조하세요.

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

  • verify-full
  • verify-ca
  • require
  • prefer
  • allow
  • disable

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

해결 방법

Amazon Relational Database Service(Amazon RDS)는 클러스터를 생성할 때 클러스터에 대한 SSL 또는 TLS 인증서를 생성합니다. 자세한 내용은 Amazon 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로 업데이트됩니다.

DB 클러스터 연결에 SSL/TLS를 사용하도록 요구할 수 있습니다. 이렇게 하려면 rds.force_ssl 파라미터를 사용하세요. rds.force_ssl 파라미터는 기본적으로 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)

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