소개
Azure Database for PostgreSQL을 사용하려면 데이터베이스 서버와 클라이언트 애플리케이션 간의 통신을 암호화하는 업계 표준 프로토콜인 TLS(전송 계층 보안)를 사용하려면 모든 클라이언트 연결이 필요합니다. TLS는 이전 SSL 프로토콜을 대체하며 TLS 버전 1.2 및 1.3만 안전한 것으로 인식됩니다. TLS 보안의 무결성은 다음 세 가지 핵심 요소를 사용합니다.
- TLS 버전 1.2 또는 1.3만 사용합니다.
- 클라이언트는 신뢰할 수 있는 루트 CA에서 시작한 CA 체인에서 CA(인증 기관)에서 발급한 서버의 TLS 인증서의 유효성을 검사합니다.
- 서버와 클라이언트 간에 보안 암호 그룹을 협상합니다.
신뢰할 수 있는 루트 인증서 및 인증서 교체
중요합니다
새 중간 CA 인증서 및 결과 인증서 체인을 업데이트하기 위해 Azure Database for PostgreSQL에 대한 TLS 인증서 회전을 시작했습니다. 루트 CA는 동일하게 유지됩니다.
클라이언트 구성이 TLS에 대한 권장 구성을 구현하는 경우에는 아무 작업도 필요하지 않습니다.
인증서 회전 일정
- 미국 중서부, 동아시아 및 영국 남부 Azure 지역은 2025년 11월 11일에 TLS 인증서 회전을 시작했습니다.
- 2026년 1월 19일부터 이 인증서 회전은 Azure Government를 포함한 나머지(중국 제외) 지역으로 확장될 예정입니다.
- 2026년 봄 축제(중국 설날) 이후 중국 지역도 루트 CA 중 하나에 대한 변경을 포함하는 인증서 회전을 거칩니다.
Azure Database for PostgreSQL에서 사용하는 루트 CA
루트 CA는 인증서 체인의 최상위 기관입니다. Azure Database for PostgreSQL은 현재 다음 루트 CA에 의해 고정된 ICA에서 발급한 이중 서명된 인증서를 사용합니다.
중국 지역은 현재 다음 CA를 사용합니다.
- Microsoft RSA Root CA 2017
- DigiCert 글로벌 루트 CA
- 봄 축제 후 (중국 설날) 2026: Digicert 글로벌 루트 G2. 신뢰할 수 있는 루트 저장소에 새 루트 CA를 추가하여 이 변경을 미리 준비하는 것이 좋습니다.
중간 인증 기관 정보
Azure Database for PostgreSQL은 IA(중간 CA)를 사용하여 서버 인증서를 발급합니다. Microsoft는 보안을 유지하기 위해 이러한 ICA 및 발급하는 서버 인증서를 주기적으로 순환합니다. 이러한 회전은 루틴이며 미리 발표되지 않습니다.
2025년 11월에 시작되어 2026년 1분기에 완료될 예정인 중간 CA DigiCert Global Root CA 의 현재 회전은 다음과 같이 중간 CA를 대체합니다.
권장 사례를 따른 경우 이 변경을 수행하려면 환경을 변경할 필요가 없습니다.
이전 CA 체인
이 정보는 참조용으로만 제공됩니다. 신뢰할 수 있는 루트 저장소에서 중간 CA 또는 서버 인증서를 사용하지 마세요.
DigiCert Global Root G2Microsoft Azure RSA TLS Issuing CA 03 / 04 / 07 / 08- 서버 인증서
새 CA 체인
이 정보는 참조용으로만 제공됩니다. 신뢰할 수 있는 루트 저장소에서 중간 CA 또는 서버 인증서를 사용하지 마세요.
DigiCert Global Root G2Microsoft TLS RSA Root G2Microsoft TLS G2 RSA CA OCSP 02 / 04 / 06 / 08 / 10 / 12 / 14 / 16- 서버 인증서
읽기 복제본
DigiCert Global Root CA에서 DigiCert Global Root G2로의 루트 CA 마이그레이션은 모든 지역에서 완료되지 않습니다. 따라서 새로 만든 읽기 복제본이 주 서버보다 최신 루트 CA 인증서에 있을 수 있습니다. 따라서 읽기 복제본 신뢰할 수 있는 저장소에 DigiCert 전역 루트 CA 를 추가해야 합니다.
인증서 체인
인증서 체인은 ICA(중간 CA) 인증서를 발급하는 루트 CA부터 신뢰할 수 있는 CA(인증 기관)에서 발급한 인증서의 계층적 시퀀스입니다. ICA는 하위 ICA에 대한 인증서를 발급할 수 있습니다. 체인에서 가장 낮은 ICA는 개별 서버 인증서를 발급합니다. 신뢰 체인은 체인의 각 인증서를 루트 CA 인증서까지 확인하여 설정합니다.
연결 오류 감소
권장 TLS 구성을 활용하면 인증서 회전 또는 중간 CA 변경으로 인한 연결 실패 위험을 줄일 수 있습니다. 특히 Microsoft에서 인증서 체인을 업데이트할 때 이러한 사례로 인해 예기치 않은 연결 문제가 발생할 수 있으므로 중간 CA 또는 개별 서버 인증서를 신뢰하지 마세요.
중요합니다
루트 CA의 변경 내용은 클라이언트 애플리케이션을 준비하는 데 도움이 되도록 미리 발표됩니다. 그러나 서버 인증서 회전 및 중간 CA에 대한 변경 내용은 일상적이므로 발표되지 않습니다.
주의
지원되지 않는(클라이언트) 구성을 사용하면 예기치 않은 연결 오류가 발생합니다.
TLS에 대한 권장 구성
최상의 구성
- 서버 매개 변수를 .로 설정
ssl_min_protocol_version하여 가장 안전한 최신 TLS 버전을 적용합니다TLSv1.3. - PostgreSQL 연결 시
sslmode=verify-all를 사용하여 인증서와 호스트 이름을 완전히 검증하세요. 프라이빗 엔드포인트 또는 VNET 통합verify-all을 사용하는 DNS 구성에 따라 불가능할 수 있으므로 대신 사용할verify-ca수 있습니다. - 항상 신뢰할 수 있는 루트 저장소에서 Azure 루트 인증서의 전체 집합을 유지 관리합니다.
구성이 좋습니다.
- 서버 매개 변수를
ssl_min_protocol_version로 설정하십시오TLSv1.3. TLS 1.2를 지원해야 하는 경우 최소 버전을 설정하지 마세요. -
sslmode=verify-all또는sslmode=verify-ca을 PostgreSQL 연결에 사용하여 인증서를 전체 또는 부분적으로 확인합니다. - 신뢰할 수 있는 루트 저장소에 현재 Azure Database for PostgreSQL에서 사용하는 루트 CA 인증서가 포함되어 있는지 확인합니다.
지원됨, 권장되지 않음
다음 구성은 사용하지 않기를 강력히 권장합니다.
-
require_secure_transport를OFF로 설정하고 클라이언트 측을sslmode=disable로 설정하여 TLS를 완전히 비활성화하세요. - 중간자 공격을 방지하기 위해 클라이언트 쪽
sslmode설정disable,allow,prefer, 또는require를 피하십시오.
지원되지 않는 구성; 사용하지 마십시오
Azure PostgreSQL은 중간 CA 변경 또는 개별 서버 인증서 회전에 대한 변경 내용을 알리지 않습니다. 따라서 sslmode 또는 verify-ca 설정을 사용하여 verify-all 다음 구성을 사용할 때 지원되지 않습니다.
- 신뢰할 수 있는 저장소에서 중간 CA 인증서를 사용합니다.
- 신뢰할 수 있는 저장소에서 개별 서버 인증서를 사용하는 것과 같이, 인증서 고정을 사용합니다.
주의
Microsoft가 인증서 체인의 중간 CA를 변경하거나 서버 인증서를 회전할 때마다 애플리케이션이 경고 없이 데이터베이스 서버에 연결하지 못합니다.
인증서 고정 문제
비고
클라이언트 애플리케이션 연결 문자열에서 sslmode=verify-full 또는 sslmode=verify-ca 설정을 사용하지 않는 경우 인증서 회전은 영향을 주지 않습니다. 따라서 이 섹션의 단계를 따를 필요가 없습니다.
중간 CA의 현재 인증서 변경과 같은 인증서 회전을 중단하기 때문에 애플리케이션에서 인증서 고정을 사용하지 마세요. 인증서 고정이 무엇인지 모르는 경우, 이를 사용할 가능성은 거의 없습니다. 인증서 고정을 확인하려면 다음을 수행합니다.
- 신뢰할 수 있는 루트 저장소에 있는 인증서 목록을 생성합니다.
- Java 애플리케이션에 대한 루트 CA 인증서를 결합하고 업데이트합니다.
- 클라이언트 컴퓨터에서 신뢰할 수 있는 루트 저장소를 열고 인증서 목록을 내보냅니다.
- 신뢰할 수 있는 루트 저장소에 중간 CA 인증서 또는 개별 PostgreSQL 서버 인증서가 있는 경우 인증서 고정을 사용합니다.
- 인증서 고정을 제거하려면 신뢰할 수 있는 루트 저장소에서 모든 인증서를 제거하고 권장 루트 CA 인증서를 추가합니다.
이러한 단계를 수행한 후에도 중간 인증서로 인해 문제가 발생하는 경우 Microsoft 지원에 문의하세요. 타이틀에 'ICA 회전 2026'를 포함하세요.
TLS에 대한 기타 고려 사항
비안전한 TLS 버전과 안전한 TLS 버전
전 세계 여러 정부 기관에서는 네트워크 보안과 관련하여 TLS에 대한 지침을 유지 관리하고 있습니다. 미국에서는 이러한 조직으로 보건복지부와 미국 국립표준기술원이 있습니다. TLS가 제공하는 보안 수준은 TLS 프로토콜 버전과 지원되는 암호화 그룹의 영향을 가장 많이 받습니다.
Azure Database for PostgreSQL은 TLS 버전 1.2 및 1.3을 지원합니다. RFC 8996에서 IETF(인터넷 엔지니어링 태스크 포스)는 TLS 1.0 및 TLS 1.1을 사용하면 안 됨을 명시적으로 나타냅니다. 두 프로토콜 모두 2019년 말부터 더 이상 사용되지 않습니다. TLS 1.0 및 TLS 1.1과 같은 이전 안전하지 않은 버전의 TLS 프로토콜을 사용하는 들어오는 모든 연결은 기본적으로 거부됩니다.
IETF는 2018년 8월 RFC 8446에서 TLS 1.3 사양을 릴리스했으며 TLS 1.3은 TLS 1.2보다 빠르고 안전하므로 권장되는 버전입니다.
권장하지는 않지만 필요한 경우 Azure Database for PostgreSQL에 대한 연결에 대해 TLS를 사용하지 않도록 설정할 수 있습니다.
require_secure_transport 서버 매개 변수를 OFF로 업데이트할 수 있습니다.
중요합니다
최신 버전의 TLS 1.3을 사용하여 데이터베이스 연결을 암호화하는 것이 좋습니다. 서버 매개 변수ssl_min_protocol_version를 .로 설정 TLSv1.3 하여 최소 TLS 버전을 지정할 수 있습니다. 서버 매개 변수를 ssl_max_protocol_version 설정하지 마세요.
암호 그룹
암호 그룹은 암호, 키 교환 알고리즘 및 해시 알고리즘을 포함하는 알고리즘 집합입니다. 보안 TLS 연결을 설정하기 위해 TLS 인증서 및 TLS 버전과 함께 사용됩니다. 대부분의 TLS 클라이언트 및 서버는 여러 암호 그룹 및 경우에 따라 여러 TLS 버전을 지원합니다. 연결이 설정되는 동안 클라이언트와 서버는 핸드셰이크를 통해 사용할 TLS 버전 및 암호 그룹을 협상합니다. 이 핸드셰이크 중에 다음이 발생합니다.
- 클라이언트는 허용 가능한 암호 그룹 목록을 보냅니다.
- 서버는 목록에서 가장 적합한(자체 정의에 따라) 암호 그룹을 선택하고 선택한 암호를 클라이언트에 알릴 수 있습니다.
Azure Database for PostgreSQL에서 사용할 수 없는 TLS 기능
현재 Azure Database for PostgreSQL은 다음 TLS 기능을 구현하지 않습니다.
- mTLS(상호 인증)를 사용하여 TLS를 통한 TLS 인증서 기반 클라이언트 인증.
- 사용자 지정 서버 인증서(사용자 고유의 TLS 인증서 가져오기).