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

Una descripción general de MongoDB Atlas:segunda parte

En la primera parte del blog "Una descripción general de MongoDB Atlas", analizamos cómo comenzar con MongoDB Atlas, la configuración inicial y la migración de un MongoDB Cluster existente a MongoDB Atlas. En esta parte, continuaremos explorando varios elementos de gestión necesarios para cada sistema de producción de MongoDB, como la seguridad y la continuidad del negocio.

Seguridad de la base de datos en MongoDB Atlas

La seguridad siempre es lo primero. Si bien es importante para todas las bases de datos, para MongoDB tiene un significado especial. A mediados de 2017, Internet estaba lleno de noticias sobre ataques de ransomware dirigidos específicamente a vulnerabilidades en los sistemas MongoDB. Los piratas informáticos secuestraban instancias de MongoDB y pedían un rescate a cambio de la devolución de los datos almacenados. Hubo advertencias. Antes de estos ataques de ransomware, los blogueros y expertos escribieron sobre cuántas instancias de producción se encontraron vulnerables. Suscitó una discusión vibrante sobre la seguridad de MongoDB durante mucho tiempo después.

Estamos en 2019 y MongoDB se está volviendo aún más popular. La nueva versión principal (4.0) se lanzó recientemente y hemos visto una mayor estabilidad en MongoDB Atlas. Pero qué se ha hecho para aumentar la seguridad de las bases de datos NoSQL en la nube.

El ransomware y la presión constante deben haber tenido un impacto en MongoDB, ya que podemos ver claramente que la seguridad ahora está en el centro del ecosistema de MongoDB. MongoDB Atlas no es una excepción, ya que ahora viene con controles de seguridad integrados para las necesidades de procesamiento de datos de producción y muchas funciones de seguridad empresarial listas para usar. El enfoque predeterminado (que causó la vulnerabilidad) de la versión anterior desapareció y la base de datos ahora está protegida de forma predeterminada (autorizaciones de red, crud, etc.). También viene con funciones que esperaría tener en un entorno de producción moderno (auditoría, acceso temporal de usuarios, etc.).

Pero no termina ahí. Dado que Atlas es una solución en línea, ahora puede usar integraciones con terceros, como la autenticación LDAP o los servicios de Internet modernos de MongoDB, como los gráficos de MongoDB. MongoDB Atlas se basa en Amazon WebServices (AWS), Microsoft Azure y Google Cloud Platform (GCP), que también ofrecen sus propias medidas de alta seguridad. Esta gran combinación garantiza que los estándares de seguridad de MongoDB Atlas sean los esperados. Echemos un vistazo rápido a algunas de estas funciones clave.

MongoDB Atlas y seguridad de red

MongoDB Atlas crea clústeres sobre su infraestructura de nube existente. Cuando uno elige AWS, los datos del cliente se almacenan en los sistemas MongoDB Atlas. Estos sistemas son servidores virtuales de AWS EC2 dedicados y de un solo arrendatario que se crean únicamente para un cliente de Atlas. Los centros de datos de Amazon AWS cumplen con varios estándares de seguridad física y seguridad de la información, pero dado que necesitamos una red abierta, puede generar inquietudes.

Los clústeres dedicados de MongoDB Atlas se implementan en una nube privada virtual (VPC) con firewalls dedicados. El acceso debe ser otorgado por una lista blanca de IP o a través de VPC Peering. De forma predeterminada, todos los accesos están deshabilitados.

MongoDB requiere los siguientes puertos de red para Atlas...

  • 27016 para fragmentos
  • 27015 para el conector BI
  • 27017 para servidor
  • Si LDAP está habilitado, MongoDB requiere que la red LDAP 636 en el lado del cliente esté abierta al tráfico 0.0.0.0 (Internet completo).

Los puertos de red no se pueden cambiar y TLS no se puede deshabilitar. El acceso también se puede aislar mediante la lista blanca de IP.

Además, puede optar por acceder a MongoDB Atlas a través de hosts Bastion. Los hosts bastión están configurados para requerir claves SSH (no contraseñas). También requieren autenticación de múltiples factores, y los usuarios también deben ser aprobados por la alta gerencia para el acceso al backend.

Gestión de acceso basada en roles de MongoDB Atlas

Puede configurar reglas de acceso avanzadas basadas en roles para controlar qué usuarios (y equipos) pueden acceder, manipular y/o eliminar datos en sus bases de datos. De forma predeterminada, no hay usuarios creados, por lo que se le pedirá que cree uno.

MongoDB Atlas permite a los administradores definir permisos para un usuario o aplicación, así como a qué datos se puede acceder cuando se consulta MongoDB. MongoDB Atlas brinda la capacidad de proporcionar a los usuarios roles específicos para un proyecto o base de datos, lo que permite realizar una separación de funciones entre las diferentes entidades que acceden y administran los datos. El proceso es simple y completamente interactivo.

Para crear un nuevo usuario, vaya a la pestaña Seguridad en el lado izquierdo y elija entre usuarios de MongoDB y roles de MongoDB.

Funciones de MongoDB

Cifrado de base de datos de extremo a extremo en MongoDB Atlas

Todos los datos de MongoDB Atlas en tránsito se cifran mediante Transport Layer Security (TLS). Tiene la flexibilidad de configurar la versión mínima del protocolo TLS. El cifrado de datos en reposo se automatiza mediante volúmenes de almacenamiento cifrados.

También puede integrar sus prácticas y procesos de seguridad existentes con MongoDB Atlas para proporcionar un control adicional sobre cómo protege su entorno.

Para MongoDB Atlas Cluster, la autenticación se habilita automáticamente de forma predeterminada a través de SCRAM para garantizar un sistema seguro listo para usar.

Con Encryption Key Management, puede traer sus propias claves de cifrado a sus clústeres dedicados para una capa adicional de cifrado en los archivos de la base de datos, incluidas las instantáneas de copia de seguridad.

Auditoría en MongoDB Atlas

La auditoría granular de la base de datos responde preguntas detalladas sobre la actividad del sistema para implementaciones con varios usuarios mediante el seguimiento de todos los comandos en la base de datos. La auditoría en MongoDB solo está disponible en MongoDB Enterprise. Puede escribir eventos de auditoría en la consola, en el syslog, en un archivo JSON o en un archivo BSON. La opción de auditoría se configura mediante el calificador –auditDestination. Por ejemplo, para enviar eventos de auditoría como eventos JSON a syslog use...

mongod --dbpath data/db --auditDestination syslog

MongoDB mantiene un sistema de gestión de registros centralizado para la recopilación, el almacenamiento y el análisis de datos de registro para entornos de producción. Esta información se puede utilizar para el control del estado, la solución de problemas y con fines de seguridad. Las alertas se configuran en el sistema para notificar a los SRE sobre cualquier problema operativo.

Integración LDAP de MongoDB Atlas

La autenticación y autorización de usuarios contra los clústeres de MongoDB Atlas se pueden administrar a través del servidor de protocolo ligero de acceso a directorios (LDAP) de un cliente a través de TLS. Se aplica una única configuración de LDAP a todos los clústeres de bases de datos dentro de un proyecto de Atlas. Los servidores LDAP se utilizan para simplificar el control de acceso y hacer que la gestión de permisos sea más granular.

Para los clientes que ejecutan su servidor LDAP en una nube privada virtual (VPC) de AWS, se recomienda una conexión entre pares entre ese entorno y la VPC que contiene sus bases de datos Atlas.

MongoDB Continuidad empresarial y recuperación ante desastres

MongoDB Atlas crea y configura clústeres dedicados en la infraestructura proporcionada por AWS, Azure y/o Google GCP. La disponibilidad de los datos está sujeta a los procesos de planes de continuidad comercial (BCP) y recuperación ante desastres (DR) del servicio del proveedor de infraestructura. Los proveedores de servicios de infraestructura de MongoDB Atlas cuentan con una serie de certificaciones e informes de auditoría para estos controles.

Copias de seguridad de bases de datos en MongoDB Atlas

MongoDB Atlas realiza copias de seguridad de los datos, por lo general, solo segundos después de un sistema operativo. MongoDB Atlas garantiza copias de seguridad continuas de conjuntos de réplicas, instantáneas coherentes de todo el clúster de clústeres fragmentados y recuperación de un punto en el tiempo. Este servicio de copia de seguridad totalmente administrado utiliza Amazon S3 en la región más cercana a la implementación de la base de datos del cliente.

Los datos de copia de seguridad están protegidos mediante cifrado del lado del servidor. Amazon S3 cifra los datos respaldados a nivel de objeto mientras los escribe en discos en sus centros de datos y los descifra cuando los restaura. Todas las claves están completamente administradas por AWS.

Los clústeres de Atlas implementados en Amazon Web Services y Microsoft Azure pueden aprovechar las instantáneas del proveedor de la nube que usan las capacidades de instantáneas nativas del proveedor de la nube subyacente. Las copias de seguridad se almacenan en la misma región de la nube que el clúster correspondiente. Para clústeres de varias regiones, las instantáneas se almacenan en la región preferida del clúster.

Atlas ofrece los siguientes métodos para hacer una copia de seguridad de sus datos...

Copias de seguridad continuas de la base de datos

Las copias de seguridad continuas están disponibles en clústeres M10+ y versiones anteriores a la versión 4.2 del servidor. Este es un método antiguo para realizar copias de seguridad de MongoDB. Atlas utiliza instantáneas incrementales para realizar copias de seguridad continuas de sus datos. Las instantáneas de copia de seguridad continuas suelen tener solo unos segundos de retraso con respecto al sistema operativo. Atlas garantiza copias de seguridad puntuales de conjuntos de réplicas e instantáneas coherentes de todo el clúster de clústeres fragmentados por sí solo, para lo que utiliza S3.

Instantáneas de copia completa

Atlas utiliza las capacidades de instantáneas nativas de su proveedor de nube para admitir instantáneas de copia completa y almacenamiento de instantáneas localizado.

MongoDB Atlas Data Lake

El uso de Atlas Data Lake para ingerir sus datos de S3 en los clústeres de Atlas le permite consultar rápidamente los datos almacenados en sus depósitos de AWS S3 mediante Mongo Shell, MongoDB Compass y cualquier controlador de MongoDB.

Cuando crea un lago de datos, otorgará a Atlas acceso de solo lectura a los depósitos de S3 en su cuenta de AWS y creará un archivo de configuración de datos que mapee los datos de sus depósitos de S3 a sus bases de datos y colecciones de MongoDB. Atlas admite el uso de cualquier clúster M10+, incluidos los clústeres globales, para conectarse a Data Lakes en el mismo.

Al momento de escribir este blog, se admiten los siguientes formatos.

  • Avro
  • Parquet
  • JSON
  • JSON/Gzip
  • BSON
  • CSV (requiere fila de encabezado)
  • TSV (requiere fila de encabezado)

Conclusión

Eso es todo por ahora, espero que haya disfrutado de mi resumen de dos partes de MongoDB Atlas. Recuerde que ClusterControl también proporciona una gestión integral de los clústeres de MongoDB y es una excelente alternativa de menor costo a MongoDB Atlas, que también se puede implementar en la nube.