Ejercicio: creación de consultas de registro de Azure Monitor básicas para extraer información de los datos de registro

Completado

Actualmente, el equipo de operaciones no tiene suficiente información sobre el comportamiento de sus sistemas para diagnosticar y resolver los problemas de forma eficaz. Para solucionar este problema, el equipo ha configurado un área de trabajo de Azure Monitor con los servicios de Azure de la empresa. Ejecuta consultas de Kusto para obtener el estado del sistema e intenta identificar las causas de los problemas que puedan producirse.

En concreto, el equipo está interesado en supervisar los eventos de seguridad para comprobar los posibles intentos de interrupción del sistema. Un atacante podría intentar manipular las aplicaciones que se ejecutan en el sistema, por lo que el equipo también quiere recopilar los datos de la aplicación para su posterior análisis. Un atacante también podría querer detener los equipos que componen el sistema, por lo que al equipo le interesa examinar cómo y cuándo se detienen y se reinician las máquinas.

En este ejercicio, practicará la realización de consultas de registro de Azure en un proyecto de demostración que contiene datos de ejemplo en tablas, registros y consultas.

Creación de consultas de registro de Azure Monitor básicas para extraer información de los datos de registro

Se usará el panel de registros de demostración de Azure para practicar la escritura de consultas. El área de trabajo de demostración del proyecto ya está rellenada con datos de ejemplo. Azure ofrece una consulta de estilo SQL optimizada con opciones de visualización de sus datos en un lenguaje denominado KQL (lenguaje de consulta Kusto).

  1. Abra el entorno de demostración de registros. En la esquina superior izquierda, en Nueva consulta 1, aparecerá Demostración, que identifica el área de trabajo o el ámbito de la consulta. El lado izquierdo de este panel contiene varias pestañas: Tablas, Consultas y Funciones. El lado derecho tiene un bloc de notas para crear o editar consultas.

  2. En la pestaña Nueva consulta 1, escriba una consulta básica en la primera línea del bloc de notas. Esta consulta recupera los detalles de los 10 eventos de seguridad más recientes.

    SecurityEvent
        | take 10
    
  3. En la barra de comandos, seleccione Ejecutar para ejecutar la consulta y ver los resultados. Puede expandir cada fila del panel de resultados para obtener más información.

  4. Para ordenar los datos por horas, agregue un filtro a la consulta:

    SecurityEvent
        | top 10 by TimeGenerated
    
  5. Agregue una cláusula de filtro y un intervalo de tiempo. Ejecute esta consulta para capturar registros que tengan más de 30 minutos de antigüedad y un nivel de 10 o más:

    SecurityEvent
        | where TimeGenerated < ago(30m)
        | where toint(Level) >= 10
    
  6. Ejecute la siguiente consulta para buscar en la tabla AppEvents los registros de las veces que se ha invocado el evento Clicked Schedule Button durante las últimas 24 horas:

    AppEvents 
        | where TimeGenerated > ago(24h)
        | where Name == "Clicked Schedule Button"
    
  7. Ejecute la consulta siguiente para mostrar el número de equipos diferentes que generaron eventos de latido cada semana en las últimas tres semanas. Los resultados aparecen como un gráfico de barras:

    Heartbeat
        | where TimeGenerated >= startofweek(ago(21d))
        | summarize dcount(Computer) by endofweek(TimeGenerated) | render barchart kind=default
    

Uso de consultas de registro predefinidas de Azure para extraer información de los datos de registro

Además de escribir consultas desde cero, el equipo de operaciones puede aprovechar las consultas predefinidas de Azure Logs que respondan a preguntas comunes relacionadas con el mantenimiento, la disponibilidad, el uso y el rendimiento de los recursos.

  1. Use el parámetro Intervalo de tiempo de la barra de comandos para establecer un intervalo personalizado. Seleccione el mes, el año y el día en un intervalo de enero a hoy. Puede establecer y aplicar una hora personalizada a cualquier consulta.

  2. En la barra de herramientas, seleccione Consultas. Aparecerá el panel Consultas. Aquí, en la lista desplegable del menú de la izquierda, puede ver una lista de las consultas de ejemplo agrupadas por Categoría, Tipo de consulta, Tipo de recurso, Solución o Tema.

  3. En la lista desplegable, seleccione Categoría y después seleccione Herramientas de administración y TI.

  4. En el cuadro de búsqueda, escriba Faltan distintas actualizaciones en todos los equipos. Seleccione la consulta en el panel izquierdo y, a continuación, seleccione Ejecutar. Vuelve a aparecer el panel Registros con la consulta que devuelve una lista de actualizaciones de Windows que faltan en las máquinas virtuales que envían registros al área de trabajo.

    Nota:

    También puede ejecutar esta misma consulta desde el panel Registros. En el panel de la izquierda, seleccione la pestaña Consultas y elija Categoría en la lista desplegable Agrupar por. Ahora desplácese hacia abajo en la lista, expanda Herramientas de administración y TI y haga doble clic en Faltan distintas actualizaciones en todos los equipos. Seleccione Ejecutar para ejecutar la consulta. Al seleccionar una consulta predefinida en el panel de la izquierda, el código de consulta se anexa a cualquier consulta que exista en el bloc de notas. No olvide borrar el bloc de notas antes de abrir o agregar una nueva consulta para ejecutarla.

  5. En el panel izquierdo, desactive el cuadro de búsqueda. Seleccione Consultas y después, seleccione Categoría en la lista desplegable de Agrupar por. Expanda Azure Monitor y seleccione Disponibilidad de los equipos hoy. Seleccione Run (Ejecutar). Esta consulta crea un gráfico de serie temporal con el número de direcciones IP únicas que han enviado registros al área de trabajo cada hora durante el último día.

  6. Seleccione Tema en la lista desplegable Agrupar por, desplácese hacia abajo para expandir Function Apps y, a continuación, haga doble clic en Mostrar registros de aplicación desde Function Apps. Seleccione Run (Ejecutar). Esta consulta devuelve una lista de los registros de aplicaciones, ordenados por tiempo donde los más recientes se muestran en primer lugar.

Verá en las consultas de Kusto de aquí que es fácil destinar una consulta a una ventana de tiempo específica, un nivel de evento o un tipo de registro de eventos. El equipo de seguridad puede examinar fácilmente los latidos para identificar cuándo no están disponibles los servidores, lo que podría indicar un ataque por denegación de servicio. Si el equipo logra detectar el momento en que un servidor no estaba disponible, pueden consultar eventos en el registro de seguridad en torno a esa hora para diagnosticar si la interrupción se debe a un ataque. Además, las consultas predefinidas también pueden evaluar la disponibilidad de las máquinas virtuales, identificar las actualizaciones de Windows que falten y revisar los registros de firewall para ver los flujos de red denegados que estaban destinados a las máquinas virtuales de interés.