Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Planifique su configuración de TLS para implementaciones autogestionadas

TLS cifra las conexiones entre los clientes y la implementación de MongoDB, y entre los nodos de un set de réplicas. Antes de configurar TLS, utilice esta página para decidir la configuración que coincida con sus requisitos de seguridad.

Importante

Estos pasos se aplican a las implementaciones autogestionadas de MongoDB. Los clústeres de MongoDB Atlas utilizan TLS por defecto. Si utilizas Cloud Manager o MongoDB Ops Manager, configura TLS a través de tu herramienta de gestión de implementación.

Antes de planificar la configuración de TLS, asegúrate de tener los siguientes recursos e información:

  • Un set de réplicas de MongoDB autogestionado para configurar con TLS.

  • El tipo de autoridad de certificación disponible, como una CA pública o privada.

  • Sus requisitos de seguridad, como si necesita autenticación X.509.

El tipo de CA al que tiene acceso determina qué configuraciones de TLS están disponibles para usted:

Tipo de CA
Descripción
Uso recomendado

CA pública

  • Requiere un nombre de dominio registrado

  • No es compatible con clientAuth EKU (a partir de abril de 2026)

Cifrado TLS intraclúster sin autenticación mTLS o X.509

CA privada

  • Operado internamente por la PKIde su organización

  • Admite EKUs serverAuth y clientAuth

Autenticación de nodos mTLS y X.509 dentro del clúster

Autofirmado

  • Usted genera el certificado

  • No verifica la identidad de forma tan fiable como los certificados emitidos por CA

  • No utilizar en producción

Solo desarrollo y pruebas locales

Las siguientes secciones le ayudarán a decidir cómo configurar el cifrado y la autenticación TLS entre nodos en un set de réplicas, y entre clientes y el servidor.

Diagrama de implementación habilitada para TLS, con TLS y autenticación de archivo de claves entre nodos y TLS mutuo y autenticación X.509 entre el servidor y el cliente.

Ejemplo de implementación con TLS intraclúster y autenticación de archivo de claves entre nodos, y TLS mutuo y autenticación X.509 entre el cliente y el servidor.

haga clic para ampliar

Todas las implementaciones habilitadas para TLS cifran las conexiones entre nodos. También puede habilitar intra-clúster mTLS, lo que requiere que los nodos presenten certificados para autenticarse como clientes durante el protocolo de enlace TLS. Cuando un nodo acepta una conexión entrante, presenta su certificado de servidor para que la parte que se conecta pueda verificar su identidad. Cuando un nodo realiza una conexión saliente a otro nodo, su comportamiento depende de si habilita mTLS intraclúster.

Utilice la siguiente tabla para determinar lo que necesita para cada moda de cifrado:

Modo de cifrado
Requisitos del sistema

TLS intra-clúster sin mTLS

  • Certificados de servidor con EKU serverAuth únicamente, emitidos por cualquier tipo de CA

mTLS intra-clúster

  • Certificados de servidor con serverAuth EKU, emitidos por cualquier tipo de CA

  • Certificados de cliente con EKU clientAuth, emitidos por una CA privada

Sin mTLS intraclúster, los nodos no presentan un certificado para autenticarse como cliente en las conexiones salientes. El nodo de conexión verifica el certificado del servidor del nodo receptor, pero el nodo receptor no verifica la identidad del nodo de conexión a través del protocolo de enlace TLS. Utilice esta configuración si solo puede obtener certificados con un EKU serverAuth, como a través de una CA pública. No puede habilitar la autenticación X.509 entre nodos con esta configuración.

Con mTLS dentro del clúster, cada nodo también presenta un certificado en las conexiones salientes a otros nodos, lo que proporciona una verificación de identidad mutua. Se requiere mTLS dentro del clúster para utilizar la autenticación de nodo X.509. Sin embargo, debido a que requiere certificados con el EKU clientAuth, debe tener acceso a una CA privada.

Los sets de réplicas se autentican entre sí para confirmar que solo los nodos autorizados participan en la replicación. Por defecto, los sets de réplicas habilitados para autorización utilizan la autenticación de archivo de llave entre nodos. Sin embargo, si habilita mTLS dentro del clúster, puede utilizar la autenticación de certificado X.509 en su lugar.

Utiliza la siguiente tabla para determinar lo que necesitas para cada moda de autenticación:

Moda de autenticación
Requisitos del sistema

Autenticación mediante archivo de claves

  • Archivo de claves compartido en todos los nodos

Autenticación de nodo X.509

  • mTLS intra-clúster habilitado

  • Certificados de cliente con EKU clientAuth emitidos por una CA privada

Si utiliza la autenticación de archivo de claves, todos los nodos del set de réplicas comparten un único secreto almacenado en un archivo de claves. Cada nodo demuestra su pertenencia presentando el secreto compartido cuando se conecta a otros nodos del conjunto. Dado que todos los nodos comparten la misma clave, si desea revocar el acceso de un nodo individual, debe reemplazar el archivo de claves en todos los nodos.

La autenticación X.509 utiliza el certificado de clúster de cada nodo para verificar la pertenencia. Dado que el intercambio de certificados se produce durante el protocolo de enlace TLS, la autenticación de nodos X.509 requiere mTLS intraclúster para que los nodos tengan una verificación mutua de la identidad. La identidad de certificado única de cada nodo le permite revocar el acceso de un nodo individual revocando su certificado, sin afectar a otros nodos. Además, la autenticación y el cifrado se establecen juntos en un único protocolo de enlace.

Los certificados de los nodos del clúster deben incluir atributos X.509 que los distingan de los certificados de cliente normales. Para aprender sobre los atributos de certificado necesarios, consulta Certificado X.509 de nodo.

Cuando un cliente como mongosh o un driver se conecta a una instancia mongod habilitada para TLS, el servidor presenta su certificado para demostrar su identidad y el cliente verifica el certificado con un certificado de CA de confianza. El cliente también confirma que el nombre de host del servidor coincide con el nombre de host del certificado. Si la verificación se realiza correctamente, TLS cifra la conexión entre el servidor y el cliente.

Utilice la siguiente tabla para determinar lo que necesita para cada moda de cifrado:

Moda de conexión
Requisitos del sistema

TLS sin certificado de cliente

Establezca allowConnectionsWithoutCertificates en true en su archivo de configuración mongod/mongos

Autenticación de cliente TLS mutua o X.509

El cliente debe presentar un certificado con EKU clientAuth

Puede establecer allowConnectionsWithoutCertificates en true para permitir que el cliente se conecte sin enviar un certificado. Al habilitar esto, se evita que los usuarios se conecten con certificados incorrectos, como los que solo incluyen el EKU serverAuth. El servidor cifra la conexión y demuestra su propia identidad al cliente, pero el servidor no puede verificar la identidad del cliente a través del protocolo de enlace TLS. El cliente debe autenticarse mediante un método como SCRAM.

Si el cliente presenta su propio certificado durante el protocolo de enlace, el servidor puede verificar el certificado del cliente con una CA de confianza. Esto establece TLS mutuo entre el servidor y el cliente. El cliente debe presentar un certificado para habilitar la autenticación de cliente X.509 entre el cliente y el servidor.

Una vez establecida la conexión TLS, los clientes deben autenticarse para acceder a la implementación. Los clientes pueden autenticarse de muchas maneras, pero esta guía rápida cubre la autenticación SCRAM y X.509.

Utiliza la siguiente tabla para determinar lo que necesitas para cada moda de autenticación:

Moda de autenticación
Requisitos del sistema

Autenticación SCRAM

  • Cuenta de administrador en el clúster

X.509 autenticación de cliente

  • TLS mutuo entre cliente y servidor

  • Certificado con clientAuth EKU

  • Acceso a CA privada

MongoDB utiliza SCRAM como mecanismo de autenticación de cliente por defecto. El cliente proporciona un nombre de usuario, una contraseña y la base de datos de autenticación, y MongoDB verifica las credenciales con los usuarios de la base de datos especificada. SCRAM no requiere que el cliente presente un certificado durante el protocolo de enlace TLS.

La autenticación de cliente X.509 utiliza el certificado que el cliente presenta durante la conexión. Una vez que se establece TLS mutuo, el cliente se autentica en la base de datos $external utilizando el mecanismo MONGODB-X509. MongoDB asigna el campo de asunto del certificado a un usuario de la base de datos $external.

Después de determinar la configuración utilizando esta página, continúa con Obtener certificados de servidor TLS.