Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

TLS/SSL (Cifrado de Transporte)

MongoDB soporta TLS/SSL (Transport Layer Security/Secure Sockets Layer) para encriptar todo el tráfico de red de MongoDB. TLS/SSL asegura que el tráfico de red de MongoDB solo sea legible por el cliente previsto.

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 sólidos cifrados TLS/SSL con una longitud mínima de clave de 128 bits para todas las conexiones.

Los conjuntos de cifrado Forward Secrecy crean una clave de sesión efímera que está protegida por la llave privada del servidor, pero nunca se transmite. El uso de una clave efímera asegura que, incluso si la llave privada de un servidor se ve comprometida, no puedas descifrar sesiones pasadas con la clave comprometida.

MongoDB soporta suites de cifrado Forward Secrecy que usan los algoritmos Ephemeral Diffie-Hellman (DHE) y Ephemeral Elliptic Curve Diffie-Hellman (ECDHE).

Plataforma
Nivel de soporte

Linux

Si OpenSSL de la plataforma Linux admite la selección automática de curvas, MongoDB activa la compatibilidad para el intercambio efímero de claves mediante curva elíptica (ECDHE).

De lo contrario, si la plataforma Linux no admite la selección automática de curva en OpenSSL, MongoDB intenta habilitar el soporte de ECDHE usando 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.

Las suites de cifrado ECDHE son más lentas que las suites de cifrado RSA estáticas. Para lograr un mejor rendimiento con ECDHE, se pueden utilizar certificados que empleen el Algoritmo de Firma Digital de Curva Elíptica (ECDSA). Consultar también Desempeño de Forward Secrecy para más información

Plataforma
Nivel de soporte

Linux

MongoDB habilita el soporte para El cifrado efímero de 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 una suite de cifrado con DHE pero no pueden aceptar el parámetro seleccionado por el servidor, la conexión TLS falla.

Parámetros estrictos (i.e. el tamaño es mayor que 1024) no son compatibles con Java 6 y 7 a menos que se haya adquirido soporte ampliado 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.

Las suites de cifrado DHE y ECDHE son más lentas que las suites de cifrado estáticas RSA siendo DHE significativamente más lento que ECDHE.

Para un mejor rendimiento con ECDHE, puede utilizar certificados que empleen el Algoritmo de Firma Digital de Curva Elíptica (ECDSA). Alternativamente, puedes desactivar los cifrados ECDHE con el parámetro opensslCipherConfig, como en el siguiente ejemplo (que también desactiva DHE)

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

Si necesita desactivar la compatibilidad con los conjuntos de cifrado DHE debido al rendimiento, puede utilizar el parámetro opensslCipherConfig, como en el siguiente 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 utilizar cualquier certificado TLS/SSL válido emitido por una autoridad certificadora o un certificado autofirmado. Para el uso en producción, tu implementación de MongoDB debe utilizar certificados válidos generados y firmados por la misma autoridad certificadora. Se puede generar y mantener una autoridad certificadora independiente o utilizar 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, vea Configuración de 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 nodo falla en el estado STARTUP2, establezca tlsOCSPVerifyTimeoutSecs en un valor inferior a 5.

Para verificar la revocación de certificados, MongoDB enables el uso de OCSP (Online Certificate Status Protocol) por defecto. El uso de OCSP elimina la necesidad de descargar periódicamente una Certificate Revocation List (CRL) y reiniciar el mongod / mongos con la CRL actualizada.

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

  • Stapling OCSP. Con la incorporación OCSP, las instancias mongod y mongos adjuntan o “incorporan” la respuesta de estado OCSP a sus certificados cuando proporcionan estos certificados a los clientes durante el apretón de manos TLS/SSL. OCSP stapling elimina la necesidad de que los clientes realicen una solicitud separada para recuperar el estado OCSP del certificado proporcionado. La respuesta de estado OCSP se incluye con los certificados.

  • Extensión must-staple de OCSP. OCSP must-staple es una extensión que se puede agregar al certificado del servidor que le indica al cliente que espere una OCSP staple cuando reciba un certificado durante el apretón de manos TLS/SSL.

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

Parameter
Descripción

Habilita o deshabilita el soporte OCSP.

Especifica el número de segundos que se deben esperar antes de actualizar la respuesta de estado OCSP adherida.

Especifica el número máximo de segundos que la instancia mongod / mongos debe esperar para recibir la respuesta de estado OCSP para sus certificados.

Especifica el número máximo de segundos que mongod / mongos debe esperar la respuesta OCSP al verificar los certificados del 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.

La Norma Federal de Procesamiento de Información (FIPS) es una norma de seguridad informática del gobierno de Estados Unidos utilizada para certificar módulos de software y librerías que cifran y descifran datos de manera segura. Puedes configurar MongoDB para que ejecute con una librería certificada FIPS 140-2 para OpenSSL. Configura FIPS para ejecutarlo de forma por defecto 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