MongoDB Seguridad, monitoreo y respaldo (Mongodump)
⚡ Resumen inteligente
MongoDB La seguridad, la monitorización y las copias de seguridad son conceptos fundamentales de la administración de bases de datos que mantienen los datos seguros, disponibles y recuperables. Este recurso cubre las mejores prácticas de seguridad, copias de seguridad con mongodump, herramientas de monitorización, consejos de indexación, mecanismos de autenticación, certificados x.509 y configuración. MongoDB con autenticación Kerberos.
Uno de los conceptos claves en MongoDB es la gestión de bases de datos. Aspectos importantes como la seguridad, las copias de seguridad y el acceso a las bases de datos son conceptos fundamentales en la administración de bases de datos.
MongoDB Descripción general de seguridad
MongoDB tiene la capacidad de definir mecanismos de seguridad para las bases de datos. Por defecto, no se querría que todos tuvieran acceso abierto a todas las bases de datos. MongoDB, de ahí la necesidad de contar con algún tipo de mecanismo de seguridad en MongoDB es importante.
A continuación se presentan las mejores prácticas para implementar la seguridad en las bases de datos:
- Habilitar el control de acceso – Crear usuarios para que todas las aplicaciones y usuarios estén obligados a tener algún tipo de mecanismo de autenticación al acceder a las bases de datos en MongoDB.
- Configurar el control de acceso basado en roles – A veces puede haber un grupo lógicoping de permisos que puedan ser necesarios, los cuales pueden agruparse en roles. Posteriormente, se pueden asignar usuarios a estos roles.
- Intenta configurar MongoDB utilizar algún tipo de protocolo de cifrado como TLS o SSL. Estos protocolos se pueden utilizar para cifrar el tráfico que fluye entre el cliente y el servidor. MongoDB ambiente.
- Configurar auditoría – Los administradores normalmente necesitan saber quién hace qué, lo que ayuda a analizar los problemas más adelante. La mejor manera es habilitar la auditoría en MongoDB.
- Ejecute el MongoDB Instancia de servidor con un ID de usuario independiente que tiene acceso únicamente a los recursos necesarios en el entorno del servidor.
MongoDB Procedimientos de copia de seguridad – mongodump
Cuando se trabaja con MongoDB, es importante asegurarse siempre de que exista un procedimiento de respaldo en caso de que los datos dentro MongoDB se corrompe por cualquier motivo. A continuación se muestran los mecanismos de respaldo disponibles desde dentro MongoDB:
- Copia de seguridad copiando archivos de datos subyacentes – Este es probablemente el mecanismo más sencillo. Todo lo que hay que hacer es copiar los archivos de datos en los que MongoDB reside allí y cópielos a otra ubicación, que idealmente debería ser otro servidor.
- Copia de seguridad de una base de datos con mongodump – La herramienta mongodump lee datos de un MongoDB mongodump abre una base de datos y crea archivos BSON de alta fidelidad. Es importante tener en cuenta que, si el conjunto de datos es muy extenso, puede consumir muchos recursos; por lo tanto, para mitigar este problema, se recomienda ejecutar la utilidad en un servidor secundario.
- MongoDB Copia de seguridad del administrador de la nube – MongoDB Cloud Manager realiza copias de seguridad continuamente MongoDB conjuntos de réplicas y clústeres fragmentados leyendo los datos del registro de operaciones del MongoDB ambiente. MongoDB Cloud Manager puede crear una recuperación puntual almacenando datos de oplog para poder crear una restauración en cualquier momento para un conjunto de réplicas o clúster fragmentado específico.
MongoDB Monitoring
El monitoreo es una de las actividades administrativas más críticas en MongoDBEsto se debe a que puedes ser más proactivo al monitorear el entorno para detectar posibles problemas que puedan surgir. A continuación, se muestran algunos ejemplos de implementación de monitoreo:
- mongostato Te indicará cuántas veces se realizan operaciones de base de datos como inserciones, consultas, actualizaciones y eliminaciones en el servidor. Esto te dará una buena idea de la carga que soporta el servidor e indicará si necesitas recursos adicionales o, tal vez, servidores adicionales para distribuir la carga.
- mongotop tracks e informa la actividad actual de lectura y escritura de un MongoDB por ejemplo, y reporta estas estadísticas por colección.
- MongoDB Proporciona una interfaz web que muestra información de diagnóstico y monitorización en una página web sencilla.
- El comando serverStatus, o db.serverStatus() desde el shell, devuelve una descripción general del estado de la base de datos, con detalles sobre el uso del disco, el uso de la memoria y las conexiones establecidas a la base de datos. MongoDB medio ambiente y más.
MongoDB Consideraciones de indexación y rendimiento
- Los índices son muy importantes en cualquier base de datos y se pueden utilizar para mejorar la eficiencia de las consultas de búsqueda en MongoDBSi realiza búsquedas continuamente en su documento, es mejor agregar índices en los campos del documento que se utilizan en los criterios de búsqueda.
- Intenta limitar siempre el número de resultados de la consulta. Supongamos que un documento contiene varios campos, pero solo quieres ver dos. En ese caso, asegúrate de que la consulta muestre únicamente los dos campos que necesitas y no todos.
- Si desea ver ciertos valores de campo, utilice solo esos campos en la consulta. No consulte todos los campos de la colección si no son obligatorios.
MongoDB Mecanismos de autenticación
Mientras que la autorización se centra en garantizar el acceso del cliente al sistema, la autenticación comprueba qué tipo de acceso tiene el cliente. MongoDB una vez que hayan sido autorizados en el sistema. Existen varios mecanismos de autenticación; a continuación se muestran solo algunos de ellos.
MongoDB Autenticación mediante certificados x.509
Utilice certificados x.509 para autenticar al cliente; un certificado es básicamente una firma de confianza entre el cliente y el servidor. MongoDB Server.
Entonces, en lugar de ingresar un nombre de usuario y contraseña para conectarse al servidor, se pasa un certificado entre el cliente y el MongoDB Servidor. El cliente básicamente tendrá un certificado de cliente que se pasará al servidor para autenticarse en el servidor. Cada certificado de cliente corresponde a un único MongoDB usuario. Entonces cada usuario de MongoDB debe tener su propio certificado para poder autenticarse ante el MongoDB servidor.
Para garantizar que esto funcione, se deben seguir los siguientes pasos:
- Se debe comprar un certificado válido a una autoridad externa válida e instalarlo en el dispositivo. MongoDB Server.
- El certificado del cliente debe tener las siguientes propiedades: una única Autoridad de Certificación (CA) debe emitir los certificados tanto para el cliente como para el servidor, y los certificados del cliente deben contener los campos keyUsage y extendedKeyUsage.
- Cada usuario que se conecta al MongoDB El servidor necesita tener un certificado independiente.
Cómo configurar MongoDB con autenticación Kerberos
A continuación se detallan los pasos para configurar MongoDB con autenticación Kerberos en Windows:
Paso 1) Configurar MongoDB con autenticación Kerberos activada Windows
Kerberos es un mecanismo de autenticación utilizado en grandes entornos cliente-servidor. Es un mecanismo muy seguro en el que la contraseña solo se permite si está cifrada. MongoDB Tiene la capacidad de autenticarse contra un sistema basado en Kerberos existente.
Paso 2) proceso del servidor mongod.exe
A continuación, inicie el proceso del servidor mongod.exe.
Paso 3) proceso del cliente mongo.exe y conexión
A continuación, inicie el proceso cliente mongo.exe y conéctese a la MongoDB servidor.
Paso 4) Agregar un usuario en MongoDB
Agregue un usuario, que es básicamente un nombre principal de Kerberos, a la base de datos $external. La base de datos $external es una base de datos especial que indica MongoDB para autenticar a este usuario en un sistema Kerberos en lugar de en su propio sistema interno.
use $external db.createUser( { user: "user1@example.NET", roles: [ { role: "read", db: "Marketing" } ] } )
Paso 5) Comience a usar el comando
Inicie mongod.exe con soporte para Kerberos utilizando el siguiente comando:
mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI
Y ahora puede conectarse con el usuario de Kerberos y la autenticación Kerberos a la base de datos.


