Descripción de las características de seguridad
Azure Database for MySQL: servidor flexible proporciona varias características diseñadas para proteger los datos y las operaciones. Echemos un vistazo a cada una de estas características.
Redes
Azure Database for MySQL: servidor flexible proporciona una sólida configuración de firewall para proteger la conectividad de las bases de datos para el acceso público, así como las redes virtuales (VNet) de Azure. Hay tres opciones de configuración para la conexión del servidor flexible de MySQL: acceso público, acceso privado y vínculo privado. En todos los casos, las conexiones deben autenticarse igualmente con el servidor.
El acceso público proporciona una dirección DNS que se puede resolver de forma pública y accesible a través de Internet mediante una lista permitida de intervalos de direcciones IP. De forma predeterminada, no se admite ninguna dirección IP. Puede agregar direcciones IP durante o después de la creación. También puede permitir el acceso desde cualquier dirección IP de Azure (incluidas otras suscripciones de cliente en otras regiones).
El acceso privado usa una subred delegada para hospedar servidores flexibles de MySQL y proporciona una dirección DNS que se puede resolver desde su red virtual o desde una red virtual emparejada. Esto bloquea el acceso a la base de datos solo a su infraestructura de red virtual. Puede configurar reglas de firewall del grupo de seguridad de red (NSG) para filtrar el tráfico de red de manera más precisa. Puede usar el acceso privado para conectarse de forma segura a un servidor flexible de MySQL desde la misma red virtual, desde una red virtual diferente mediante el emparejamiento o incluso desde el entorno local mediante una conexión de ExpressRoute o VPN.
El vínculo privado proporciona un punto de conexión de dirección IP privada dentro de una subred de la red virtual para conectarse directamente al servidor flexible de MySQL. Azure Private Link aporta esencialmente servicios de Azure dentro de la red virtual privada por medio de una dirección IP como cualquier otro recurso de red virtual. Puede crear varios puntos de conexión privados, por ejemplo, uno por aplicación de conexión o por recurso PaaS de Azure. Junto con las reglas de firewall del NSG, los vínculos privados proporcionan un control específico sobre qué servicios pueden acceder a la base de datos.
Microsoft Defender for Cloud
Microsoft Defender for Cloud supervisa la base de datos para detectar actividades inusuales y potencialmente dañinas. Defender for Cloud se proporciona como un plan complementario para abordar posibles amenazas sin necesidad de crear o administrar la supervisión de la seguridad. Defender for Cloud tiene disponibilidad de varias nubes en Azure Database for MySQL: servidor flexible, además de MySQL en AWS Aurora y RDS. Defender for Cloud también admite PostgreSQL y MariaDB.
Defender for Cloud detecta amenazas de bases de datos como:
- Ataques por fuerza bruta: errores de inicio de sesión anormalmente elevados e inicio de sesión correcto después de muchos errores.
- Patrones de inicio de sesión inusuales: si un usuario inicia sesión por primera vez en más de dos meses.
- Ubicaciones de inicio de sesión inusuales: si un usuario inicia sesión desde una base de datos de Azure inusual, desde otro proveedor de nube o desde una dirección IP marcada como sospechosa.
Defender for Cloud envía alertas de detección a Azure Portal y por correo electrónico. Las alertas incluyen:
- Detalles de la actividad sospechosa.
- La información de MITRE ATT&CK asociada (tácticas, técnicas y conocimientos comunes de los adversarios).
- Sugerencias para investigar y mitigar el ataque.
- Más opciones para investigar con Microsoft Sentinel.
Autenticación
Azure Database for MySQL ofrece dos modos de autenticación: Autenticación de MySQL (nombre de usuario y contraseña) y autenticación de Microsoft Entra ID. Puede habilitar ambos modos al mismo tiempo.
La autenticación de Microsoft Entra ID permite la autenticación basada en identidades en el servidor flexible de MySQL mediante identidades proporcionadas por Microsoft Entra ID. Esto centraliza la administración de usuarios para la base de datos y otros servicios Microsoft.
De forma predeterminada, un servidor flexible de MySQL se establece para usar solo la autenticación de MySQL (nombre de usuario y contraseña). Puede cambiar esta configuración para usar solo la autenticación de Microsoft Entra ID (sin usuarios de base de datos) o combinar identidades administradas con la autenticación de MySQL.
Cuando se usa la autenticación de Microsoft Entra ID, hay dos cuentas de administrador: el administrador de MySQL original y el administrador de Microsoft Entra ID. El administrador de Microsoft Entra ID puede ser un usuario o un grupo de usuarios. Si el administrador es un grupo, cualquier miembro del grupo puede administrar la autenticación de Microsoft Entra ID. Los grupos de administradores son más fáciles de administrar porque se centraliza la administración de usuarios en Microsoft Entra ID en lugar de tener que actualizar los usuarios o permisos de MySQL directamente. Solo puede configurar un administrador de Microsoft Entra ID, ya sea un solo usuario o un único grupo de usuarios.
En el diagrama siguiente se muestran los dos modos de administración de la autenticación.
Cuando los usuarios o aplicaciones intentan conectarse a un servidor flexible de MySQL mediante una identidad de Microsoft Entra, se emite un token para permitir el inicio de sesión. La identidad se asocia a un usuario de base de datos mediante su identificador de usuario único de Microsoft Entra, en lugar de mediante su nombre u otros atributos.
Cifrado de datos
Los servidores flexibles de MySQL cifran los datos en tránsito. De forma predeterminada, los servidores requieren la conexión mediante el protocolo de Seguridad de la capa de transporte (TLS) 1.2 y deniegan las conexiones sin cifrar o las conexiones mediante los protocolos TLS 1.0 y 1.1 en desuso. Puede deshabilitar las conexiones cifradas (podría ser que una aplicación heredada no admita el cifrado), permitir versiones anteriores a la versión 1.2, o usar TLS 1.3, que es la configuración recomendada para el desarrollo de nuevas aplicaciones.
De forma predeterminada, Azure Database for MySQL: servidor flexible cifra los datos en reposo (incluidos los archivos temporales y de copia de seguridad creados durante la ejecución de consultas) mediante una clave de cifrado (DEK) AES de 256 bits simétrica. Con las claves administradas por el cliente (CMK), puede usar su propia clave (BYOK) para agregar otra capa de cifrado mediante el cifrado de la DEK del servicio.
El servicio BYOK le proporciona un control total del cifrado de datos y del ciclo de vida de las claves: creación, carga, rotación y eliminación. La administración del ciclo de vida de las claves le permite alinear la rotación de claves con las directivas de la empresa, así como separar las responsabilidades del equipo de seguridad, el administrador de base de datos (DBA) y el administrador del sistema.
La habilitación de CMK requiere vincular una base de datos a una identidad administrada asignada por el usuario (UMI) y, después, especificar la clave que se usará, la cual se almacena en Azure Key Vault. Si crea una copia del servidor, la copia se cifrará y también puede agregar identidades administradas y claves a las réplicas existentes.