Leer en inglés

Compartir a través de


Preparación de la próxima compatibilidad con TLS 1.3 para Azure Cosmos DB

SE APLICA A: NoSQL MongoDB Cassandra Gremlin Table

A partir del 10 de octubre de 2024, Azure Cosmos DB habilitará la compatibilidad con TLS 1.3 en puntos de conexión públicos en toda su plataforma globalmente para alinearse con los procedimientos recomendados de seguridad. A partir del 31 de octubre de 2024, TLS 1.0/1.1. quedará en desuso oficialmente. Solo se admite TLS 1.2 o una versión posterior. En este artículo se proporcionan instrucciones adicionales sobre cómo prepararse para la próxima compatibilidad de TLS 1.3 para Azure Cosmos DB. 

TLS 1.3 presenta mejoras sustanciales en comparación con sus predecesores. Las mejoras de TLS 1.3 se centran tanto en el rendimiento como en la seguridad, con protocolos de enlace más rápidos y un conjunto optimizado de conjuntos de cifrado más seguros, como TLS_AES_256_GCM_SHA384 y TLS_AES_128_GCM_SHA256. En particular, TLS 1.3 da prioridad a la confidencialidad directa perfecta (PFS) mediante la eliminación de algoritmos de intercambio de claves que no lo admiten. 

Los clientes que usen la versión más reciente de TLS disponible seleccionarán automáticamente TLS 1.3 cuando esté disponible. Azure Cosmos DB sigue admitiendo TLS 1.2 además de TLS 1.3. 

Estos son algunos de los problemas conocidos con la habilitación de TLS 1.3, su posible impacto y la mitigación.

Problemas conocidos, impacto y mitigación

  • Problemas relacionados con JDK: las versiones de io.netty entre 4.1.68.Final y 4.1.86.Final, inclusive, contienen un error que hace que el cliente sufra un error en el protocolo de enlace TLS en la conexión en modo directo cuando TLS 1.3 no es compatible con el motor del entorno de ejecución de Java. Las versiones del SDK de Java de Cosmos DB que van de 4.20.0 a 4.40.0, inclusive, tienen una dependencia transitiva de io.netty con este error. El cliente sufre un error con excepciones java.lang.IllegalArgumentException, como se muestra a continuación.

     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)
    
  • Recomendaciones para la mitigación:

    • Opción 1: (requisito) Actualice el SDK de Java de Azure Cosmos DB al menos a la versión mínima recomendada.
    • Opción 2: Reconocemos que es posible que la actualización a la versión más reciente del SDK no siempre sea factible. Al realizar la transición de la aplicación al SDK más reciente, puede solucionar este problema si cambia la conexión al modo de puerta de enlace. Asegúrese de probar exhaustivamente la aplicación antes de implementarla en el entorno de producción.

Nota

La habilitación del cliente para usar TLS 1.3 requiere que el entorno de ejecución de Java admita TLS 1.3