Este documento proporciona una lista de medidas de seguridad que debe implementar para proteger su instalación de MongoDB. La lista no pretende ser exhaustiva.
-
Habilite el control de acceso y especifique el mecanismo de autenticación. Puede utilizar el mecanismo de autenticación SCRAM o x.509 de MongoDB o integrarlo con su infraestructura Kerberos / LDAP existente. La autenticación requiere que todos los clientes y servidores proporcionen credenciales válidas antes de que puedan conectarse al sistema.
Ver también:
- Primero cree un administrador de usuarios y luego cree usuarios adicionales. Cree un usuario de MongoDB único para cada persona / aplicación que acceda al sistema.
- Siga el principio de privilegio mínimo. Cree roles que definan los derechos de acceso exactos que requiere un conjunto de usuarios. Luego cree usuarios y asígneles solo los roles que necesitan para realizar sus operaciones. Un usuario puede ser una persona o una aplicación cliente.
NOTA: Un usuario puede tener privilegios en diferentes bases de datos. Si un usuario requiere privilegios en varias bases de datos, cree un único usuario con roles que otorguen los privilegios de base de datos aplicables en lugar de crear el usuario varias veces en diferentes bases de datos.
Ver también:
-
Configure MongoDB para usar TLS / SSL para todas las conexiones entrantes y salientes. Usar TLS / SSL para cifrar la comunicación entre
mongod
ymongos
componentes de un despliegue MongoDB, así como entre todas las aplicaciones y MongoDB.A partir de la versión 4.0, MongoDB usa las bibliotecas nativas del sistema operativo TLS / SSL:
Plataforma Biblioteca TLS / SSL Ventanas Canal seguro (Schannel) Linux / BSD OpenSSL Mac OS Transporte seguro NOTA: A partir de la versión 4.0, MongoDB deshabilita la compatibilidad con el cifrado TLS 1.0 en sistemas donde TLS 1.1+ está disponible. Para obtener más detalles, consulte Deshabilitar TLS 1.0 .
Consulte también: Configurar
mongod
ymongos
para TLS / SSL .
- A partir de MongoDB Enterprise 3.2, puede cifrar datos en la capa de almacenamiento con el cifrado en reposo nativo del motor de almacenamiento WiredTiger .
- Si no está utilizando el cifrado de WiredTiger en reposo, los datos de MongoDB deben cifrarse en cada host mediante un sistema de archivos, dispositivo o cifrado físico (por ejemplo, dm-crypt). Proteja los datos de MongoDB mediante permisos del sistema de archivos. Los datos de MongoDB incluyen archivos de datos, archivos de configuración, registros de auditoría y archivos de claves.
- Reúna los registros en un almacén de registros central. Estos registros contienen intentos de autenticación de la base de datos, incluida la dirección IP de origen.
- Asegúrese de que MongoDB se ejecute en un entorno de red confiable y configure un firewall o grupos de seguridad para controlar el tráfico entrante y saliente para sus instancias de MongoDB.
- Deshabilite el acceso raíz SSH directo.
- Permita que solo los clientes de confianza accedan a las interfaces de red y los puertos en los que están disponibles las instancias de MongoDB.
NOTA: A partir de MongoDB 3.6, binarios de MongoDB mongod
y mongos
, se enlazan localhost
de forma predeterminada. Desde las versiones 2.6 a 3.4 de MongoDB, solo los binarios de los paquetes oficiales de MongoDB RPM (Red Hat, CentOS, Fedora Linux y derivados) y DEB (Debian, Ubuntu y derivados) se vincularían localhost
de forma predeterminada. Para obtener más información sobre este cambio, consulte Cambios de compatibilidad de enlaces de Localhost .
Ver también:
- Fortalecimiento de la red y la configuración
- el
net.bindIp
ajuste de configuración - el
security.clusterIpSourceWhitelist
ajuste de configuración - el campo authenticationRestrictions al
db.createUser()
comando para especificar una lista blanca de IP por usuario.
-
Rastree el acceso y los cambios a las configuraciones y los datos de la base de datos. MongoDB Enterprise incluye una función de auditoría del sistema que puede registrar eventos del sistema (por ejemplo, operaciones de usuario, eventos de conexión) en una instancia de MongoDB. Estos registros de auditoría permiten el análisis forense y permiten a los administradores verificar los controles adecuados. Puede configurar filtros para registrar eventos específicos, como eventos de autenticación.
Ver también:
-
Ejecute procesos de MongoDB con una cuenta de usuario de sistema operativo dedicada. Asegúrese de que la cuenta tenga permisos para acceder a los datos, pero no permisos innecesarios.
Ver también: Instalar MongoDB
-
MongoDB soporta la ejecución de código JavaScript para ciertas operaciones del lado del servidor:
mapReduce
,$where
,$accumulator
, y$function
. Si no usa estas operaciones, deshabilite las secuencias de comandos del lado del servidor usando la--noscripting
opción en la línea de comando. -
Mantenga habilitada la validación de entrada. MongoDB habilita la validación de entrada de forma predeterminada a través de la
net.wireObjectCheck
configuración. Esto asegura que todos los documentos almacenados por lamongod
instancia sean BSON válidos .Consulte también: Fortalecimiento de la configuración y la red
- La Guía de implementación técnica de seguridad (STIG) contiene pautas de seguridad para implementaciones dentro del Departamento de Defensa de los Estados Unidos. MongoDB Inc. proporciona su STIG, a pedido, para situaciones en las que sea necesario. Por favor, solicitar una copia para obtener más información.
- Para las aplicaciones que requieren el cumplimiento de HIPAA o PCI-DSS, consulte la Arquitectura de referencia de seguridad de MongoDB para obtener más información sobre cómo puede utilizar las capacidades de seguridad clave para crear una infraestructura de aplicaciones compatible.
Verificaciones de producción periódicas / continuas ¶
- Compruebe periódicamente el CVE del producto MongoDB y actualice sus productos.
- Consulte las fechas de finalización de la vida útil de MongoDB y actualice su instalación de MongoDB. En general, intente mantenerse con la última versión.
- Asegúrese de que las políticas y los procedimientos de su sistema de gestión de seguridad de la información se extiendan a su instalación de MongoDB, incluida la realización de lo siguiente:
- Aplique periódicamente parches a su máquina y revise las pautas.
- Revise los cambios de políticas / procedimientos, especialmente los cambios en las reglas de su red para evitar la exposición inadvertida de MongoDB a Internet.
- Revise los usuarios de la base de datos MongoDB y rótelos periódicamente.