sql >> Base de Datos >  >> NoSQL >> MongoDB

10 consejos para mejorar su seguridad MongoDB

MongoDB proporciona una serie de construcciones para mejorar la seguridad de sus datos. La seguridad de sus datos en MongoDB es primordial, por lo que es importante aprovechar estas construcciones para reducir su área de superficie. Aquí hay 10 consejos que puede usar para mejorar la seguridad de sus servidores MongoDB en las instalaciones y en la nube.

  1. Habilitar autenticación

    Incluso si ha implementado sus servidores MongoDB en una red confiable, es una buena práctica de seguridad habilitar la autenticación. Le proporciona una "defensa en profundidad" si su red se ve comprometida. Edite su archivo de configuración de MongoDB para habilitar la autenticación:

    auth = true
    
  2. No exponga su base de datos de producción a Internet

    Restringir el acceso físico a su base de datos es un aspecto importante de la seguridad. Si no es necesario, no exponga su base de datos de producción a Internet. En caso de compromiso, si un atacante no puede conectarse físicamente a su servidor MongoDB, sus datos estarán mucho más seguros. Si está en AWS, puede colocar sus bases de datos en una subred de nube privada virtual (VPC). Lea la publicación de blog Implementación de MongoDB en una VPC para obtener más información.

  3. Usar cortafuegos

    Utilice cortafuegos para restringir qué otras entidades pueden conectarse a su servidor MongoDB. La mejor práctica es permitir que los servidores de aplicaciones solo accedan a la base de datos. Si está alojado en AWS, use "Grupos de seguridad" para restringir el acceso. Si está alojado en un proveedor que no admite construcciones de firewall, puede configurarlo usted mismo fácilmente usando 'iptables'. Consulte la documentación de MongoDB para configurar iptables para su escenario.

  4. Usar archivos clave para configurar el conjunto de réplicas

    Especifique un archivo de claves compartidas para habilitar la comunicación entre sus instancias de MongoDB en un conjunto de réplicas. Para habilitar esto, agregue el parámetro keyfile al archivo de configuración como se describe a continuación. El contenido del archivo debe ser el mismo en todas las máquinas:

    keyFile = /srv/mongodb/keyfile
    
  5. Deshabilitar interfaz de estado HTTP

    MongoDB, de forma predeterminada, proporciona una interfaz http que se ejecuta en el puerto 28017 que proporciona la página de estado de "inicio". Esta interfaz no se recomienda para uso en producción y es mejor deshabilitarla. Use la opción de configuración "nohttpinterface" para deshabilitar la interfaz http:

    nohttpinterface = true
    
  6. Deshabilitar la interfaz REST

    La interfaz REST de MongoDB no se recomienda para producción. No admite ninguna autenticación y está desactivado de forma predeterminada. Si lo activó con la opción de configuración "reposo", debe desactivarlo para los sistemas de producción.

    rest = false
    
  7. Configurar bind_ip

    Si su sistema tiene múltiples interfaces de red, puede usar la opción "bind_ip" para restringir su servidor MongoDB para escuchar solo en las interfaces que son relevantes. De forma predeterminada, MongoDB se vinculará a todas las interfaces:

    bind_ip = 10.10.0.25,10.10.0.26
    
  8. Habilitar SSL

    Si no usa SSL, sus datos viajan entre su cliente Mongo y el servidor Mongo sin cifrar y son susceptibles de espionaje, manipulación y ataques de "intermediarios". Esto es especialmente importante si se conecta a su servidor MongoDB a través de redes no seguras como Internet.

  9. Autorización basada en roles

    MongoDB admite la autenticación basada en roles para brindarle un control detallado sobre las acciones que puede realizar cada usuario. Use construcciones basadas en roles para restringir el acceso en lugar de hacer que todos sus usuarios sean administradores. Consulte la documentación de funciones para obtener más detalles.

  10. MongoDB empresarial y Kerberos

    Enterprise MongoDB se integra con Kerberos para la autenticación. Consulte la documentación de MongoDB para obtener más detalles. Los sistemas de nombre de usuario/contraseña son intrínsecamente inseguros; si es posible, use autenticación basada en bordillo.

En ScaleGrid, nos esforzamos por admitir configuraciones de seguridad de mejores prácticas de forma predeterminada para todas nuestras implementaciones. Le permitimos usar SSL y también no exponer su base de datos a Internet. Si tiene alguna pregunta, envíenos un correo electrónico a [email protected].