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

Habilitar y configurar TLS

En esta guía, puedes aprender a usar el protocolo TLS para asegurar tu conexión a una implementación de MongoDB. Para configurar tu conexión para usar TLS, activa la opción TLS y, si lo deseas, proporciona tus certificados para su validación en el archivo config/database.php de tu aplicación.

Tip

Para aprender más información sobre TLS, consulta la entrada de Wikipedia sobre Seguridad de la capa de transporte.

En el archivo config/database.php de su aplicación, puede habilitar TLS en una conexión a su implementación de MongoDB de una de las siguientes maneras:

  • Establecer la opción tls en true en tu cadena de conexión

  • Estableciendo la opción tls en true en la propiedad options de tu entrada de conexión mongodb

Seleccione entre las siguientes pestañas Connection String y Connection Options para ver una muestra de código correspondiente:

'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => 'mongodb://<hostname>:<port>/?tls=true',
'database' => 'myDB',
]
]
'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => '<connection string>',
'database' => 'myDB',
'options' => [
'tls' => true,
],
]
]

Para ver una lista completa de opciones de conexión, consulta Opciones de conexión.

Nota

Si su cadena de conexión utiliza un registro DNS SRV al incluir el prefijo mongodb+srv, TLS está habilitado en su conexión de forma predeterminada.

Para iniciar correctamente una solicitud TLS, tu aplicación podría necesitar presentar certificados criptográficos para probar su identidad. Los certificados de tu aplicación deben almacenarse como archivos PEM para habilitar TLS al conectarse.

Importante

Para uso en producción, recomendamos que tu implementación de MongoDB utilice certificados válidos generados y firmados por la misma autoridad certificadora. Para las pruebas, tu implementación puede usar certificados autofirmados.

La siguiente lista describe los componentes que su cliente puede presentar para establecer una conexión habilitada para TLS:

Componente TLS
Descripción

Autoridad certificadora (CA)

Una o más autoridades certificadoras confiables al realizar una conexión TLS. Puedes pasar la ruta de este archivo a la opción tlsCAFile.

Certificado de cliente

Un certificado digital que permite al servidor verificar la identidad de tu aplicación para establecer una conexión de red cifrada. Puedes pasar la ruta de este archivo a la opción tlsCertificateKeyFile.

Clave del certificado

El archivo de clave privada del certificado del cliente. Esta clave a menudo se incluye dentro del archivo del certificado. Si debe proporcionar este elemento, el certificado y la clave deben estar concatenados en un solo archivo que pueda pasar a la opción tlsCertificateKeyFile.

Frase de contraseña

La contraseña para descifrar la clave privada del cliente si está cifrada. Puede pasar la ruta de este archivo a la opción tlsCertificateKeyFilePassword.

Si es necesario, debes referenciar tus certificados al configurar tu conexión mongodb para que el servidor pueda validarlos antes de que el cliente se conecte.

Recomendamos hacer referencia a tus certificados y establecer otras opciones de TLS en la propiedad options de tu configuración de conexión en lugar de en la cadena de conexión. Esto mejora la legibilidad del código en tu aplicación.

Establezca las siguientes opciones en la propiedad options para referenciar sus certificados:

  • tlsCAFile

  • tlsCertificateKeyFile

  • tlsCertificateKeyFilePassword

Nota

Para fines de prueba, puedes establecer las siguientes opciones en true para desactivar la validación:

  • tlsAllowInvalidCertificates

  • tlsAllowInvalidHostnames

También puede configurar la opción tlsInsecure en true para configurar implícitamente ambas opciones anteriores.

Especificar estas opciones en un entorno de producción puede volver insegura su aplicación. Para aprender más, consulte la referencia Opciones de conexión en el manual del servidor.

El siguiente ejemplo configura una conexión con TLS activado:

'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => '<connection string>',
'database' => 'myDB',
'options' => [
'tls' => true,
'tlsCAFile' => '<path to CA certificate>',
'tlsCertificateKeyFile' => '<path to private client certificate>',
'tlsCertificateKeyFilePassword' => '<path to client key passphrase>',
]
]
]

Para obtener más información sobre cómo configurar las opciones del URI, consulta la documentación de la API de MongoDB\\Driver\\Manager::__construct().

Para obtener más información sobre cómo habilitar TLS en una conexión, consulta la siguiente documentación del manual del servidor: