TLS/SSL
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
Versiones de TLS
MongoDB deshabilita el soporte para el cifrado TLS 1.0 en sistemas donde TLS 1.1+ está disponible.
Bibliotecas TLS
MongoDB utiliza las librerías nativas de TLS/SSL OS:
Plataforma | Biblioteca TLS/SSL |
|---|---|
Windows | Canal seguro (Schannel) |
Linux/BSD | OpenSSL |
macOS | Transporte seguro |
Cifrados TLS/SSL
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.
Secreto de reenvío
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).
Curva elíptica efímera Diffie-Hellman (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 |
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
Efímera Diffie-Hellman (DHE)
Plataforma | Nivel de soporte |
|---|---|
Linux | MongoDB permite compatibilidad con Ephemeral Diffie-Hellman (DHE):
|
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.
Rendimiento del secreto de reenvío
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'
Certificados
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.
Advertencia de vencimiento del certificado
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.
OCSP (Protocolo de estado de certificado en línea)
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,
mongodlasmongosinstancias 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. | |
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.
Verificación de identidad
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:
Modo FIPS
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.