Azure Cosmos DB에 대한 예정된 TLS 1.3 지원 준비
적용 대상:
NoSQL
MongoDB
Cassandra
Gremlin
테이블
Azure Cosmos DB는 보안 모범 사례에 맞게 전 세계 플랫폼의 퍼블릭 엔드포인트에서 TLS 1.3 지원을 사용하도록 설정합니다. 2025년 8월 31일부터 공식적으로 TLS 1.0/1.1을 더 이상 사용하지 않습니다. TLS 1.2 이상만 지원됩니다. 이 문서에서는 Azure Cosmos DB용 TLS 1.3의 향후 지원을 준비하는 방법에 대한 추가 지침을 제공합니다.
TLS 1.3은 이전 버전에 비해 훨씬 향상된 기능을 제공합니다. TLS 1.3의 개선은 더 빠른 핸드셰이크 및 간소화된 더 안전한 암호 제품군, 즉 TLS_AES_256_GCM_SHA384 및 TLS_AES_128_GCM_SHA256을 제공하여 성능과 보안 모두에 중점을 둡니다. 특히 TLS 1.3은 이를 지원하지 않는 주요 교환 알고리즘을 제거하여 PFS(Perfect Forward Secrecy)의 우선 순위를 지정합니다.
사용 가능한 최신 TLS 버전을 활용하는 클라이언트는 사용 가능한 경우 자동으로 TLS 1.3을 선택합니다. Azure Cosmos DB는 TLS 1.3 외에도 TLS 1.2를 계속 지원합니다.
이러한 문제는 TLS 1.3 사용, 잠재적 효과 및 완화와 관련된 몇 가지 알려진 문제입니다.
알려진 문제, 영향 및 완화
JDK 관련 문제: Java 런타임 엔진이 TLS 1.3
4.1.68.Final
을 지원하지 않는 경우 클라이언트가 직접 모드 연결에서 TLS 핸드셰이크를 실패하게 하는 버그가 포함되어 있습니다4.1.86.Final
. 4.20.0에서 4.40.0에 이르는 Azure Cosmos DB Java SDK 버전에는 이 버그가 있는 io.netty에 대한 전이적 종속성이 있습니다. 여기에 표시된 것처럼 예외가java.lang.IllegalArgumentException
발생하여 클라이언트가 실패합니다.Caused by: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem at ... Caused by: java.lang.IllegalArgumentException: TLSv1.3 at sun.security.ssl.ProtocolVersion.valueOf(ProtocolVersion.java:187)
완화를 위한 권장 사항:
참고 항목
클라이언트가 TLS 1.3을 사용하도록 설정하려면 Java 런타임에서 TLS 1.3을 지원해야 합니다.