Förbereda för kommande TLS 1.3-stöd för Azure Cosmos DB
GÄLLER FÖR: NoSQL MongoDB Kassandra Gremlin Bord
Azure Cosmos DB aktiverar TLS 1.3-stöd på offentliga slutpunkter på sin plattform globalt för att anpassa sig till bästa praxis för säkerhet senast den 10 oktober 2024. Från och med den 31 oktober 2024 föråldrade vi officiellt TLS 1.0/1.1.. Endast TLS 1.2 eller senare stöds. Den här artikeln ger extra vägledning om hur du förbereder dig för det kommande stödet för TLS 1.3 för Azure Cosmos DB.
TLS 1.3 medför betydande förbättringar jämfört med tidigare. TLS 1.3-förbättringar fokuserar på både prestanda och säkerhet, med snabbare handskakningar och en strömlinjeformad uppsättning säkrare chiffersviter, nämligen TLS_AES_256_GCM_SHA384 och TLS_AES_128_GCM_SHA256. TLS 1.3 prioriterar PFS (Perfect Forward Secrecy) genom att eliminera nyckelutbytesalgoritmer som inte stöder det.
Klienter som använder den senaste tillgängliga TLS-versionen väljer automatiskt TLS 1.3 när den är tillgänglig. Azure Cosmos DB fortsätter att stödja TLS 1.2 utöver TLS 1.3.
Dessa problem är några av de kända problemen med TLS 1.3-aktivering, potentiell effekt och minskning.
JDK-relaterade problem: Io.netty-versionerna mellan
4.1.68.Final
och4.1.86.Final
inklusive innehåller en bugg som gör att klienten misslyckas med TLS-handskakningen i direktlägesanslutningen när Java-körningsmotorn inte stöder TLS 1.3. Azure Cosmos DB Java SDK-versioner från 4.20.0 till 4.40.0 inclusive har ett transitivt beroende av io.netty med den här buggen. Klienten misslyckas medjava.lang.IllegalArgumentException
undantag som visas här.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)
Rekommendationer för åtgärder:
- Alternativ 1: (Krävs) Uppgradera Azure Cosmos DB Java SDK till minst den rekommenderade versionen.
- Alternativ 2: Vi inser att det kanske inte alltid är möjligt att uppgradera till den senaste SDK-versionen. När du övergår programmet till den senaste SDK:n kan du åtgärda problemet genom att växla anslutningen till gatewayläge. Se till att testa programmet noggrant innan du distribuerar det i produktionsmiljön.
Anteckning
För att klienten ska kunna använda TLS 1.3 krävs Java-körning för att stödja TLS 1.3