Ejercicio: Supervisión de la base de datos

Completado

Imagine que recibe una alerta del administrador de seguridad de su empresa. Se ha detectado una posible vulneración de seguridad en la red. Es posible que un individuo no autorizado haya accedido a la base de datos mediante actividades malintencionadas. ¿Cómo afrontaría este problema?

Sabe que debe supervisar activamente la base de datos para detectar actividades sospechosas. ¿Qué puede hacer para no solo obtener visibilidad de lo que sucede en la base de datos, sino también para evitar que se produzca actividad malintencionada?

Azure SQL Database tiene características integradas que pueden ayudarle a realizar un seguimiento de lo que sucede en la base de datos. Puede supervisar y avisarle si identifica actividades malintencionadas.

Auditoría de Azure SQL Database

Al habilitar la auditoría, las operaciones que se producen en la base de datos se almacenan para su posterior inspección o para que las herramientas automatizadas las analicen. La auditoría también se usa para la administración del cumplimiento o para comprender cómo se usa la base de datos. La auditoría también es necesaria si quiere usar la detección de amenazas de Azure en una base de datos SQL de Azure.

Puede usar la auditoría de base de datos SQL para:

  • Conservar una traza de auditoría de eventos seleccionados. Puede definir categorías de acciones de base de datos para auditar.
  • Informar sobre la actividad de la base de datos. Puede usar informes preconfigurados y un panel para empezar rápidamente con el informe de actividades y eventos.
  • Analizar informes. Puede buscar eventos sospechosos, actividades inusuales y tendencias.

Los registros de auditoría se escriben en blobs anexos en una cuenta de Azure Blob Storage que designe. Las directivas de auditoría pueden aplicarse en el nivel de servidor o en el nivel de base de datos. Una vez habilitado, puede usar Azure Portal para ver los registros o enviarlos a Log Analytics o a Event Hubs para su posterior procesamiento y análisis.

La auditoría en la práctica

Como procedimiento recomendado, no habilite la auditoría de blobs de servidor ni la auditoría de blobs de base de datos, a menos que:

  • Quiera usar una cuenta de almacenamiento o un período de retención diferentes para una base de datos específica.
  • Quiera auditar tipos de eventos o categorías para una base de datos específica que difiere del resto de las bases de datos del servidor. Por ejemplo, es posible que tenga inserciones de tabla que deban auditarse, pero solo para una base de datos concreta.

En caso contrario, se recomienda habilitar solo la auditoría de blobs de nivel de servidor y dejar que la auditoría de nivel de base de datos esté deshabilitada para todas las bases de datos.

Siga estos pasos para configurar la auditoría en el sistema.

  1. Inicie sesión en Azure Portal con la misma cuenta con la que ha activado el espacio aislado.

  2. En la barra de búsqueda de la parte superior del portal, busque el servidor y a continuación, seleccione el servidor en el portal. Reemplace NNNNN por el número del nombre del servidor.

  3. En el panel de menú izquierdo, en Seguridad, seleccione Auditoría.

  4. De manera predeterminada, la auditoría está desactivada. Para habilitarlo en el servidor de bases de datos, establezca Habilitar auditoría de Azure AQL en ACTIVADO.

  5. Una vez seleccionado el botón ACTIVADO, active la casilla Almacenamiento.

  6. Seleccione su suscripción.

  7. Para almacenar las auditorías puede seleccionar una cuenta de almacenamiento existente o crear una nueva. La cuenta de almacenamiento se debe configurar de forma que se use la misma región que el servidor.

    En este caso, defina una nueva cuenta de almacenamiento. En Cuenta de almacenamiento, seleccione Crear nuevo. Aparece el panel Crear cuenta de almacenamiento. Asigne un nombre a la cuenta de almacenamiento <nombre de servidor>auditoría, reemplazando <nombre del servidor> por el nombre del servidor lógico.

  8. Deje el resto de las opciones en sus valores predeterminados y seleccione Aceptar. De vuelta en el panel Configuración de almacenamiento, deje los valores predeterminados y haga clic en Aceptar.

  9. Seleccione Guardar para guardar los cambios y habilitar la auditoría en el servidor de bases de datos.

Ahora, genere algunos registros de auditoría y eche un vistazo a lo que puede esperar.

  1. Inicie sesión de nuevo en la base de datos como el usuario ApplicationUser.

    sqlcmd -S tcp:[server-name].database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
    
  2. Ejecute la siguiente consulta.

    SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer;
    GO
    
  3. De vuelta en Azure Portal, en el servidor SQL Server, seleccione Bases de datos SQL en el panel del menú izquierdo y seleccione la base de datos marketplace.

  4. En el panel de menú izquierdo de la base de datos marketplaceDb, en la sección Seguridad, seleccione Auditoría.

  5. Dado que ha habilitado la auditoría en el nivel de servidor, debería ver que está habilitada aquí. Seleccione Ver registros de auditoría en la barra de menús superior para ver los registros.

  6. Debería ver uno o más registros de auditoría con el NOMBRE PRINCIPALApplicationUser y el TIPO DE EVENTOLOTE COMPLETADO. Una de ellas debe contener los detalles de la consulta que ejecutó. También es posible que vea otros eventos, como intentos de autenticación completados correctamente y con errores. Seleccione todos los registros para ver los detalles completos del evento.

Recorte de pantalla que muestra un evento de ejemplo en el registro de auditoría.

Estas acciones configuran las auditorías en el nivel de servidor de bases de datos. Las auditorías se aplican a todas las bases de datos del servidor. También se puede configurar la auditoría en un nivel de base de datos.

Eche un vistazo a otra característica que usa estos registros para aumentar la seguridad de la base de datos.

Advanced Data Security para Azure SQL Database

Advanced Data Security (ADS) proporciona un conjunto de capacidades avanzadas de seguridad de SQL, entre las que se incluyen Clasificación y detección de datos, Evaluación de vulnerabilidad y Advanced Threat Protection.

  • Detección y clasificación de datos (actualmente en versión preliminar) proporciona capacidades integradas en Azure SQL Database para detectar, clasificar, etiquetar y proteger la información confidencial de las bases de datos. Se puede utilizar para proporcionar visibilidad del estado de clasificación de una base de datos y para realizar un seguimiento del acceso a información confidencial dentro de la base de datos y más allá de sus límites.
  • La evaluación de vulnerabilidades es un servicio fácil de configurar que permite detectar las posibles vulnerabilidades de la base de datos, así como hacer un seguimiento y ayudar a corregirlas. Permite ver el estado de la seguridad e incluye los pasos necesarios para resolver incidencias de seguridad y mejorar las defensas de cualquier base de datos.
  • Advanced Threat Protection permite detectar actividades anómalas que indica intentos poco habituales y posiblemente dañinos de acceder a sus bases de datos o aprovecharse de ellas. Supervisa constantemente una base de datos para detectar actividades sospechosas y proporciona de forma inmediata alertas de seguridad de posibles puntos vulnerables, ataques por inyección de código SQL y patrones anómalos de acceso a las bases de datos. Las alertas de Advanced Threat Protection proporcionan detalles de la actividad sospechosa y recomiendan acciones para investigar y mitigar la amenaza.

Instalación y configuración

Habilite ADS en la base de datos. ADS es una configuración de nivel de servidor, por lo que comenzará ahí.

  1. De vuelta en Azure Portal, vaya al servidor SQL Server. En la barra de búsqueda de la parte superior de la página, busque _<nombre del servidor>, y a continuación, seleccione el servidor.

  2. En el panel de menús de la izquierda, en Seguridad, seleccione Microsoft Defender for Cloud.

  3. Seleccione Enable Microsoft Defender for SQL (Habilitar Microsoft Defender para SQL).

  4. Seleccione Configurar junto al mensaje Habilitado en el nivel de suscripción. Aparece el panel Configuración del servidor.

  5. La opción Exámenes periódicos está activada de forma predeterminada. Cuando se desencadena un examen semanal, se envía un resumen del resultado del examen a la dirección de correo electrónico que proporcione. En este caso, desactive esta opción. Enviar también por correo electrónico una notificación a los administradores y a los propietarios de la suscripción está habilitado de manera predeterminada para enviar las amenazas a los administradores de servicios. Para guardar la configuración, seleccione Guardar en la parte superior.

  6. En Configuración de Advanced Threat Protection, seleccione Agregar los detalles de contacto... para abrir el panel Notificaciones por correo electrónico de Defender for Cloud Email. Aquí, puede definir opcionalmente dónde se entregan los correos electrónicos de notificación de la evaluación de vulnerabilidades y la protección contra amenazas avanzada como una lista de direcciones de correo electrónico separadas por punto y coma. Enviar también por correo electrónico una notificación a los administradores y a los propietarios de la suscripción está habilitado de manera predeterminada para enviar las amenazas a los administradores de servicios.

  7. También puede seleccionar Habilitar auditoría... para activar Auditoría de Azure SQL.

  8. Seleccione Guardar para aplicar los cambios.

Recibirá notificaciones por correo cuando se detecten vulnerabilidades. En el correo electrónico, se describirá lo ocurrido y las acciones necesarias.

Recorte de pantalla que muestra una advertencia de notificación de ejemplo de Microsoft Defender for Cloud.

Clasificación y detección de datos

  1. Vaya a la base de datos marketplaceDb. En la barra de búsqueda de la parte superior de Azure Portal, busque marketplace y después seleccione la base de datos.

  2. En el panel de menú de la izquierda, en Seguridad, seleccione Clasificación y detección de datos.

La pestaña Clasificación muestra las columnas de las tablas que necesitan protección. Algunas de estas columnas pueden contener información confidencial o pueden considerarse clasificadas en diferentes países o regiones.

Captura de pantalla que muestra la pestaña Clasificación en el panel Detección y clasificación de datos.

Si alguna de las columnas necesita que se configure su protección, se mostrará un mensaje. Este mensaje tiene un formato de 15 columnas con recomendaciones de clasificación. Puede hacer clic en el texto para ver las recomendaciones.

Seleccione las columnas por las que quiere clasificar; para ello, debe hacer clic en la marca de verificación que hay junto a una columna, o bien activar la casilla que hay a la izquierda del encabezado del esquema. Seleccione el botón Aceptar las recomendaciones seleccionadas para aplicar las recomendaciones de clasificación.

A continuación, edite las columnas y defina el tipo de información y la etiqueta de confidencialidad de la base de datos. Seleccione Guardar para guardar los cambios.

Una vez que haya administrado las recomendaciones correctamente, no deben quedar recomendaciones activas en la lista.

Vulnerabilidades de seguridad

En el panel de menús de la izquierda, en Seguridad, seleccione Microsoft Defender for Cloud.

La sección Recomendaciones enumera los problemas de configuración de la base de datos y el riesgo asociado.

Seleccione una recomendación. En el panel de recomendaciones, verá los detalles, como el nivel de riesgo, la base de datos a la que se aplica, una descripción de la vulnerabilidad y la corrección recomendada para corregir el problema. Aplique la corrección para corregir el problema o los problemas. Asegúrese de solucionar todas las vulnerabilidades.

Alertas e incidentes de seguridad

En esta sección se muestra una lista de las amenazas detectadas.

Siga las recomendaciones para abordar cualquier problema. En el caso de problemas como las advertencias de inyección de código SQL, puede examinar la consulta y trabajar hacia atrás al lugar en el que se ejecuta la consulta en el código. Una vez encontrado, debe volver a escribir el código para que ya no tenga el problema.