Docs Menu
Docs Home
/ /

TLS/SSL (Cifrado de Transporte)

MongoDB admite TLS/SSL (Seguridad de la capa de transporte/Capa de sockets seguros) para cifrar todo el tráfico de red de MongoDB. TLS/SSL garantiza que el tráfico de red de MongoDB solo sea legible por el cliente objetivo.

A partir de MongoDB 7.0 y 6.0.7, MongoDB admite OpenSSL 3.0 y el proveedor FIPS de OpenSSL con estos sistemas operativos:

  • Red Hat Enterprise Linux 9

  • Amazon Linux 2023

  • Ubuntu Linux 22.04

A partir de MongoDB 8.0, MongoDB es compatible con OpenSSL 3.0 y el proveedor FIPS de OpenSSL para Amazon Linux 2023.3.

MongoDB deshabilita el soporte para el cifrado TLS 1.0 y TLS 1.1 en sistemas donde TLS 1.2+ está disponible.

MongoDB utiliza las librerías nativas de TLS/SSL OS:

Plataforma
Biblioteca TLS/SSL

Windows

Canal seguro (Schannel)

Linux/BSD

OpenSSL

macOS

Transporte seguro

El cifrado TLS/SSL de MongoDB solo permite el uso de cifrados TLS/SSL fuertes con una longitud de clave mínima de 128bits para todas las conexiones.

Los conjuntos de cifrado de confidencialidad directa crean una clave de sesión efímera, protegida por la clave privada del servidor, que nunca se transmite. El uso de una clave efímera garantiza que, incluso si la clave privada de un servidor se ve comprometida, no se puedan descifrar sesiones anteriores con ella.

MongoDB admite conjuntos de cifrados de secreto directo que utilizan algoritmos Diffie-Hellman efímero (DHE) y Diffie-Hellman de curva elíptica efímera (ECDHE).

Plataforma
Nivel de soporte

Linux

Si OpenSSL de la plataforma Linux admite la selección automática de curvas, MongoDB habilita la compatibilidad con Ephemeral Elliptic Curve Diffie-Hellman (ECDHE).

De lo contrario, si OpenSSL de la plataforma Linux no admite la selección automática de curvas, MongoDB intenta habilitar la compatibilidad con ECDHE mediante prime256v1 como la curva nombrada.

Windows

La curva elíptica efímera Diffie-Hellman (ECDHE) se respalda implícitamente mediante el uso de Secure Channel (Schannel), la biblioteca TLS/SSL nativa de Windows.

macOS

Ephemeral Elliptic Curve Diffie-Hellman (ECDHE) es compatible implícitamente a través del uso de Secure Transport, la librería nativa TLS/SSL de macOS.

Los conjuntos de cifrado ECDHE son más lentos que los conjuntos de cifrado RSA estáticos. Para un mejor rendimiento con ECDHE, puede usar certificados que utilicen el algoritmo de firma digital de curva elíptica (ECDSA). Consulte también Rendimiento del secreto de reenvío para obtener más información

Plataforma
Nivel de soporte

Linux

MongoDB permite compatibilidad con Ephemeral Diffie-Hellman (DHE):

  • Si el opensslDiffieHellmanParameters se establece al inicio (independientemente de si ECDHE está habilitado o deshabilitado).

  • De lo contrario, si el parámetro no opensslDiffieHellmanParameters está configurado pero ECDHE está habilitado, MongoDB habilita DHE usando el ffdhe3072 parámetro, como se define en RFC-7919#appendix-A..2

Windows

El protocolo Diffie-Hellman efímero (DHE) se respalda implícitamente mediante el uso de Secure Channel (Schannel), la biblioteca TLS/SSL nativa de Windows.

macOS

El efímero Diffie-Hellman (DHE) es compatible implícitamente a través del uso de Secure Transport, la librería nativa de TLS/SSL de macOS.

Nota

Si los clientes negocian un conjunto de cifrado con DHE pero no pueden aceptar el parámetro seleccionado por el servidor, la conexión TLS falla.

Los parámetros fuertes (es decir, un tamaño mayor que 1024) no son compatibles con Java 6 y 7, a menos que se haya adquirido soporte extendido de Oracle. Sin embargo, Java 7 admite y prefiere ECDHE, por lo que negociará ECDHE si está disponible.

Los conjuntos de cifrado DHE (y ECDHE) tienen un rendimiento más lento que los conjuntos de cifrado RSA estáticos, siendo DHE significativamente más lento que ECDHE.Consulte Rendimiento de confidencialidad directa para obtener más información.

Los conjuntos de cifrados DHE y ECDHE son más lentos que los conjuntos de cifrados RSA estáticos, siendo DHE significativamente más lento que ECDHE.

Para un mejor rendimiento con ECDHE, puede usar certificados que utilicen el algoritmo de firma digital de curva elípticaECDSA (). Como alternativa, puede deshabilitar los conjuntos de cifrado ECDHE con el opensslCipherConfig parámetro, como en el siguiente ejemplo (que también deshabilita el DHE).

mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL:!kECDHE:!ECDHE:!DHE:!kDHE@STRENGTH'

Si necesita deshabilitar la compatibilidad con conjuntos de cifrado DHE debido al rendimiento, puede usar el parámetro, como en el siguiente opensslCipherConfig ejemplo:

mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL:!DHE:!kDHE@STRENGTH'

Para utilizar TLS/SSL con MongoDB, debe tener los certificados TLS/SSL como archivos PEM, que son contenedores de certificados concatenados.

MongoDB puede usar cualquier certificado TLS/SSL válido emitido por una autoridad de certificación o un certificado autofirmado. Para uso en producción, su implementación de MongoDB debe usar certificados válidos generados y firmados por la misma autoridad de certificación. Puede generar y mantener una autoridad de certificación independiente o usar certificados generados por un proveedor externo de TLS/SSL.

El uso de un certificado firmado por una autoridad de certificación confiable permite a los controladores de MongoDB verificar la identidad del servidor.

Por ejemplo,consulte Configuración TLS/SSL para clientes.

mongod / mongos genera un registro de advertencia en la conexión si el certificado X.509 presentado caduca dentro de 30 días a partir de la hora del sistema host mongod/mongos.

A partir de MongoDB,6.0 si se establece ocspEnabled en true durante la sincronización inicial, todos los nodos deben poder comunicarse con el respondedor OCSP.

Si un miembro falla en el STARTUP2 estado, establezca en un valor que sea tlsOCSPVerifyTimeoutSecs menor 5 que.

Para comprobar la revocación de certificados, MongoDB enables utiliza OCSP (Protocolo de Estado de Certificados en Línea) de forma predeterminada. El uso de OCSP elimina la necesidad de descargar periódicamente un Certificate Revocation List (CRL) y reiniciar el mongod / con la CRL mongos actualizada.

Como parte de su soporte OCSP, MongoDB admite lo siguiente en Linux:

  • Grapado OCSP. Con el grapado OCSP, mongod las mongos instancias y adjuntan o "grapan" la respuesta de estado OCSP a sus certificados al proporcionarlos a los clientes durante el protocolo de enlace TLS/SSL. Al incluir la respuesta de estado OCSP con los certificados, el grapado OCSP evita que los clientes tengan que realizar una solicitud independiente para recuperar el estado OCSP de los certificados proporcionados.

  • Extensión OCSP must-staple. OCSP must-staple es una extensión que se puede agregar al certificado del servidor y que le indica al cliente que debe esperar una grapa OCSP cuando recibe un certificado durante el protocolo de enlace TLS/SSL.

MongoDB también proporciona los siguientes parámetros relacionados con OCSP:

Parameter
Descripción

Habilita o deshabilita el soporte OCSP.

Especifica la cantidad de segundos que se deben esperar antes de actualizar la respuesta de estado de OCSP grapada.

Especifica la cantidad máxima de segundos que la mongod instancia / debe esperar para recibir la respuesta de estado de OCSP para sus certificados.mongos

Especifica la cantidad máxima de segundos que mongod / debe esperar la respuesta de OCSP al verificar los certificados del mongos cliente.

Puedes establecer estos parámetros al inicio utilizando la configuración del archivo setParameter o la opción de la línea de comandos --setParameter.

Nota

A partir de MongoDB 5.0, el comando rotateCertificates y el método db.rotateCertificates() también actualizarán cualquier respuesta OCSP adjunta.

Además de cifrar las conexiones, TLS/SSL permite la autenticación mediante certificados, tanto para la autenticación del cliente como para la autenticación interna de miembros de conjuntos de réplicas y clústeres fragmentados.

Para obtener más información, consulte:

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

El Estándar Federal de Procesamiento de Información (FIPS) es un estándar de seguridad informática del gobierno estadounidense que se utiliza para certificar módulos y bibliotecas de software que cifran y descifran datos de forma segura. Puede configurar MongoDB para que se ejecute con una biblioteca certificada FIPS 140-2 para OpenSSL. Configure FIPS para que se ejecute de forma predeterminada o según sea necesario desde la línea de comandos.

Para ver un ejemplo, consulta Configurar MongoDB para FIPS.

Volver

Utilice netsh de Windows

En esta página