Compartir vía


Introducción a la seguridad de bases de datos en el núcleo virtual de Azure Cosmos DB for MongoDB

SE APLICA A: núcleo virtual de MongoDB

En este artículo se describen los procedimientos recomendados de seguridad de bases de datos y las principales características que ofrece el núcleo virtual de Azure Cosmos DB for MongoDB para ayudarle a evitar y detectar infracciones en bases de datos, así como a responder a estos incidentes.

Novedades en la seguridad de núcleo virtual de Azure Cosmos DB for MongoDB

El cifrado en reposo ahora está disponible para los documentos y copias de seguridad almacenados en el núcleo virtual de Azure Cosmos DB for MongoDB en todas las regiones de Azure. El cifrado en reposo se aplica automáticamente a los clientes nuevos y existentes de estas regiones. No es necesario configurar nada. Obtiene la misma latencia, rendimiento, disponibilidad y funcionalidad excelentes que antes con la ventaja de saber que los datos son seguros y de protegerlos con el cifrado en reposo. Los datos almacenados en clúster de núcleo virtual de Azure Cosmos DB for MongoDB se cifran de forma automática y efectiva con claves administradas por Microsoft mediante las claves administradas por el servicio.

¿Cómo puedo proteger mi base de datos?

La seguridad de los datos constituye una responsabilidad compartida entre el cliente y el proveedor de base de datos. Dependiendo del proveedor de base de datos que elija, puede variar el nivel de responsabilidad que asumir. Si elige una solución local, debe proporcionar todos los elementos: desde la protección de extremo a extremo hasta la seguridad física del hardware, lo que no es tarea fácil. Si elige un proveedor de bases de datos en la nube PaaS como Azure Cosmos DB, se reduce considerablemente el área de responsabilidad. En la siguiente imagen, que se tomó prestada de las notas del producto Shared Responsibilities for Cloud Computing (Responsabilidades compartidas de la informática en la nube), se muestra cómo se reduce la responsabilidad con un proveedor de PaaS como Azure Cosmos DB.

Captura de pantalla de responsabilidades del cliente y del proveedor de bases de datos.

En el diagrama anterior se muestran los componentes de seguridad en la nube de alto nivel, pero, en una solución de base de datos, ¿por qué debe preocuparse exactamente? ¿Y cómo puede comparar soluciones?

Recomendamos la siguiente lista de comprobación de requisitos para comparar sistemas de bases de datos:

  • Seguridad de red y la configuración de firewall
  • Autenticación de usuarios y controles de usuario muy específicos
  • Capacidad de replicar datos globalmente en caso de errores regionales
  • Capacidad de conmutar por error de un centro de datos a otro
  • Replicación de datos local dentro de un centro de datos
  • Copias de seguridad de datos automáticas
  • Restauración de los datos eliminados de las copias de seguridad
  • Protección y aislamiento de datos confidenciales
  • Supervisión de ataques
  • Respuesta a alertas
  • Capacidad de aplicar límites geografos a datos para cumplir las restricciones de gobernanza de datos
  • Protección física de los servidores en centros de datos protegidos
  • Certificaciones

Aunque puede parecer obvio, algunas infracciones recientes de bases de datos de gran envergadura nos recuerdan lo importantes que son los siguientes requisitos (que, además, son muy fáciles de cumplir):

  • Servidores revisados que se mantengan actualizados
  • Protocolo HTTPS de forma predeterminada/cifrado TLS
  • Cuentas administrativas con contraseñas seguras

¿Cómo protege Azure Cosmos DB mi base de datos?

El núcleo virtual de Azure Cosmos DB for MongoDB cumple sin problemas todos y cada uno de esos requisitos de seguridad.

Analicemos cada uno de ellas en detalle.

Requisito de seguridad Enfoque de seguridad de Azure Cosmos DB
Seguridad de red El acceso privado implementado a través de la tecnología de Private Link madura permite proporcionar acceso al clúster para los recursos de las redes virtuales de Azure. El acceso público permite abrir el clúster en un conjunto definido de direcciones IP públicas. El acceso privado y público se puede combinar y habilitar o deshabilitar en cualquier momento.

Configuración predeterminada: los clústeres de núcleo virtual de Azure Cosmos DB para MongoDB se crean bloqueados de forma predeterminada. Para proporcionar acceso al clúster, la configuración de red debe actualizarse para habilitar el acceso privado o público al clúster durante la creación del clúster o después de él.

Acceso privado: con el acceso privado habilitado, se podría crear un punto de conexión privado para acceder al clúster privado desde la red virtual de Azure. El punto de conexión privado se crea en la subred de una red virtual especificada. Una vez hecho esto, todas las funcionalidades de red virtual de Azure están disponibles para el clúster, incluido el emparejamiento de red virtual local y global, el acceso a entornos locales privados, el filtrado y el enrutamiento del tráfico de red, entre otros.

Acceso público: el uso de un firewall de IP es la primera capa de protección para proteger la base de datos. El núcleo virtual de Azure Cosmos DB for MongoDB admite controles de acceso basados en IP orientados a directivas para agregar compatibilidad con el firewall de entrada. Los controles de acceso basados en IP son similares a las reglas de firewall que usan los sistemas de base de datos tradicionales. Sin embargo, se han ampliado para que un clúster de núcleo virtual de Azure Cosmos DB for MongoDB sea accesible desde un conjunto aprobado de máquinas o servicios en la nube. El núcleo virtual de Azure Cosmos DB for MongoDB bloqueará todas las solicitudes procedentes de máquinas que no pertenezcan a esta lista permitida. Las solicitudes de máquinas aprobadas y servicios en la nube deben completar el proceso de autenticación para poder controlar el acceso a los recursos.
Replicación local Incluso dentro de una sola región, Azure Cosmos DB para núcleo virtual de MongoDB replica los datos en el nivel de almacenamiento manteniendo 3 réplicas sincrónicas de cada partición física de forma transparente en todo momento.

Los clústeres habilitados para alta disponibilidad tienen otra capa de replicación entre cada par de particiones físicas principal y en espera. La replicación de alta disponibilidad es sincrónica y proporciona una pérdida de datos cero en las conmutaciones por error, lo que garantiza un Acuerdo de Nivel de Servicio de disponibilidad mensual del 99,99 % para la configuración de una sola región.
Replicación global El núcleo virtual de Azure Cosmos DB para MongoDB ofrece replicación entre regiones que le permite replicar los datos en otra región de Azure. Gracias a la replicación global, podrá realizar un escalado a nivel internacional y proporcionar un acceso de latencia baja a datos de todo el mundo. En el contexto de seguridad, la replicación global garantiza la protección de datos frente a interrupciones regionales poco frecuentes. Con el clúster de réplicas entre regiones, una copia de los datos siempre está presente en otra región. La réplica de otra región combinada con alta disponibilidad proporciona un Acuerdo de Nivel de Servicio de disponibilidad mensual del 99,995 % para la configuración de varias regiones.
Aislamiento de la base de datos Las bases de datos de núcleo virtual de Azure Cosmos DB para MongoDB se hospedan en sus propios recursos dedicados. Significa que cada clúster obtiene su propio nodo dedicado denominado partición física o algunos en una configuración de varias particiones. Cada partición física tiene su propio proceso y almacenamiento remoto asociado. No hay ningún uso compartido de la infraestructura entre clústeres que proporcionan una capa adicional de aislamiento físico y lógico para la base de datos.
Copias de seguridad automatizadas del clúster La copia de seguridad de clústeres de núcleo virtual de Azure Cosmos DB para MongoDB está habilitada en el momento de la creación del clúster, está totalmente automatizada y no se puede deshabilitar. Restauración se proporciona a cualquier marca de tiempo en un período de retención de copia de seguridad de 35 días.
Restauración de los datos eliminados Las copias de seguridad automatizadas en línea se pueden usar para recuperar datos de un clúster que puede haber eliminado accidentalmente hasta ~7 días después del evento.
HTTPS, SSL y cifrado TLS Todas las comunicaciones de red con los clústeres de núcleo virtual de Azure Cosmos DB para MongoDB se cifran. Solo se aceptan conexiones a través de un cliente de MongoDB y siempre se aplica el cifrado. Cada vez que los datos se escriben en Azure Cosmos DB para el núcleo virtual de MongoDB, los datos se cifran en tránsito. El cifrado de datos admite niveles TLS de hasta 1.3 (incluido).
Cifrado en reposo Los datos de núcleo virtual de Azure Cosmos DB para MongoDB, incluidas todas las copias de seguridad, se cifran en disco, incluidos los archivos temporales. El servicio usa el cifrado AES de 256 bits que se incluye en el cifrado de almacenamiento de Azure y las claves las administra el sistema. El cifrado de almacenamiento siempre está activado y no se puede deshabilitar.
Supervisión de los ataques Mediante registro de auditoría y registros de actividad, puede supervisar la base de datos para detectar actividad normal y anómala. Puede ver qué operaciones se realizaron en los recursos. Estos datos incluyen quién inició la operación, cuándo se produjo, el estado y más información.
Respuesta a ataques Una vez que se ha puesto en contacto con el equipo de Soporte técnico de Azure para informar de un posible ataque, se inicia un proceso de respuesta a incidentes de cinco pasos. El objetivo del proceso de cinco pasos es restaurar la seguridad y las operaciones normales del servicio. El proceso de cinco pasos restaura los servicios lo antes posible después de que se detecte un problema y se inicie una investigación.

Obtenga más información en Responsabilidad compartida en Cloud.
Instalaciones protegidas Los datos de Azure Cosmos DB para núcleo virtual de MongoDB se almacenan en los centros de datos protegidos de Azure.

Obtenga información sobre los centros de datos globales de Microsoft.
Servidores revisados El núcleo virtual de Azure Cosmos DB para MongoDB elimina la necesidad de administrar automáticamente las actualizaciones de software y los clústeres de revisiones que se realizan automáticamente.
Cuentas administrativas con contraseñas seguras Cuesta creer que tengamos que hacer mención a este requisito, pero, a diferencia de algunos de nuestros competidores, no se puede tener una cuenta administrativa sin contraseña en el núcleo virtual de Azure Cosmos DB for MongoDB. La contraseña debe tener al menos 8 caracteres, como mayúsculas y minúsculas en inglés, números y caracteres no alfanuméricos.

La seguridad a través de la autenticación basada en secretos de TLS se realiza de forma predeterminada.
Cuentas secundarias Para obtener acceso más pormenorizados las cuentas de usuario secundarias se pueden crear en clústeres con privilegios de lectura y escritura o de solo lectura en las bases de datos del clúster.
Certificaciones de protección de datos y seguridad Para obtener la lista más actualizada de certificaciones, consulte Cumplimiento de Azure y el documento de cumplimiento de Azure más reciente con todas las certificaciones de Azure, incluido Azure Cosmos DB.

En la captura de pantalla siguiente se muestra cómo puede usar los registros de actividad y los registros de auditoría para supervisar su cuenta: Captura de pantalla de registros de actividad de Azure Cosmos DB.

Opciones de seguridad de red

En esta sección se describen varias opciones de seguridad de red que puede configurar para su clúster. Puede combinar opciones de acceso público y privado en el clúster. Puede cambiar las opciones de configuración de red en cualquier momento.

Sin acceso

Sin acceso es la opción predeterminada para un clúster recién creado si durante el aprovisionamiento del clúster no se crearon reglas de cortafuegos o puntos de conexión privados para el acceso público o privado respectivamente. En este caso, ningún equipo, ya sea dentro o fuera de Azure, puede conectarse a los nodos de base de datos.

Acceso dirección IP pública con firewall

En la opción de acceso público, se asigna una dirección IP pública al clúster, y el acceso al mismo está protegido por un cortafuegos. Si la dirección IP pública no se especifica en una de las reglas de firewall del clúster, el firewall rechaza las solicitudes de esa dirección IP y no llega a la base de datos.

Acceso privado

En la opción de acceso privado, se crea un punto de conexión privado para el clúster. Este punto de conexión privado está asociado a una red virtual (VNet) de Azure y a una subred dentro de esa red virtual. El punto de conexión privado permite que los hosts de la red virtual asociada y las redes virtuales emparejadas accedan al clúster de núcleo virtual de Azure Cosmos DB para MongoDB.

Información general de firewalls

El núcleo virtual de Azure Cosmos DB para MongoDB usa un firewall de nivel de clúster para evitar todo el acceso al clúster hasta que especifique qué equipos (direcciones IP) tienen permiso. Asimismo, otorgan acceso al clúster según la dirección IP de origen de cada solicitud. Para configurar su firewall, cree reglas de firewall que especifiquen intervalos de direcciones IP aceptables.

Las reglas de firewall permiten a los clientes acceder al clúster y a todas las bases de datos que contiene. Las reglas de firewall de nivel de clúster se pueden configurar mediante Azure Portal o programación usando herramientas de Azure, como la CLI de Azure.

De forma predeterminada, el firewall bloquea todo el acceso a su clúster. Para comenzar a usar el clúster desde otro equipo, debe especificar una o varias reglas de firewall a nivel de clúster para habilitar el acceso a su clúster. Use las reglas de firewall para especificar los intervalos de direcciones IP de Internet que se permitirán. Las reglas de firewall no afectan al acceso al sitio web de Azure Portal. Los intentos de conexión desde Internet y Azure deben atravesar primero el firewall antes de poder alcanzar sus bases de datos.