Ingesta de mensajes syslog y CEF para Microsoft Sentinel con el agente de Azure Monitor

En este artículo se muestra cómo usar Syslog a través de AMA y Common Event Format (CEF) a través de conectores AMA para filtrar e ingerir mensajes syslog y CEF de máquinas Linux, dispositivos de red y dispositivos de seguridad. Antes de empezar, asegúrate de tener configurados los permisos, agentes y reenvío de registro necesarios tal y como se describe en los Prerrequisitos. Para obtener más información sobre estos conectores de datos, consulte Syslog y Common Event Format (CEF) a través de conectores AMA para Microsoft Sentinel.

Nota:

Container Insights admite la recopilación automática de eventos de Syslog de nodos de Linux en los clústeres de AKS. Obtenga más información en la recopilación de Syslog con Container Insights.

Requisitos previos

Antes de empezar, revise los siguientes requisitos previos de Microsoft Sentinel, reenviador de registros y seguridad de la máquina para asegurarse de que tiene los recursos configurados y los permisos adecuados asignados, tal como se describe en las secciones Microsoft Sentinel requisitos previos, Requisitos previos del reenviador de registros y Requisitos previos de seguridad de la máquina.

Microsoft Sentinel requisitos previos

Instale la solución de Microsoft Sentinel adecuada y asegúrese de que tiene los permisos para completar los pasos de este artículo.

Requisitos previos del reenviador de registros

Si va a recopilar mensajes de un reenviador de registros, se aplicarán los siguientes requisitos previos:

  • Debe tener una máquina virtual Linux designada como reenviador de registros para recopilar registros.

  • Si el reenviador de registros no es una máquina virtual Azure, debe tener instalado el agente Azure Arc Connected Machine.

  • La máquina virtual del reenviador de registros de Linux debe tener Instalado Python 2.7 o 3. Use el python --version comando o python3 --version para comprobarlo. Si usa Python 3, asegúrese de que se establece como el comando predeterminado en la máquina o ejecute scripts con el comando "python3" en lugar de "python".

  • El reenviador de registros debe tener habilitada el demonio de syslog-ng o rsyslog.

  • Para conocer los requisitos de espacio para el reenviador de registros, consulte Azure Monitor Agent Performance Benchmark. También puede revisar Diseños para implementar una ingesta escalable en Microsoft Sentinel.

  • Tanto los orígenes de registro como los dispositivos de seguridad se deben configurar para enviar sus mensajes de registro al demonio de Syslog del reenviador de registros, en lugar de a su demonio de Syslog local.

Nota:

Al desplegar AMA en un conjunto de escalado de máquinas virtuales (VMSS), se recomienda encarecidamente usar un equilibrador de carga que admita el método de turnos rotativos para garantizar la distribución de la carga entre todas las instancias desplegadas.

Requisitos previos de seguridad de la máquina

Configure la seguridad de la máquina de acuerdo con la directiva de seguridad de su organización. Por ejemplo, configure la red para que se alinee con la directiva de seguridad de la red corporativa y cambie los puertos y protocolos del demonio para que se ajusten a sus requisitos. Para mejorar la configuración de seguridad de la máquina, proteja la máquina virtual en Azure o revise estos procedimientos recomendados para la seguridad de red.

Si los dispositivos envían registros de syslog y CEF sobre TLS, por ejemplo, porque el reenviador de registros esté en la nube, deberá configurar el demonio de syslog (rsyslog o syslog-ng) para que se comunique en TLS. Para más información, vea:

Configuración del conector de datos

El proceso de instalación de Syslog a través de AMA o common event format (CEF) mediante conectores de datos AMA incluye los pasos siguientes:

  1. Instale el agente de Azure Monitor y cree una regla de recopilación de datos (DCR) mediante cualquiera de los métodos siguientes:
  2. Si va a recopilar registros de otras máquinas mediante un reenviador de registros, ejecute el script "instalación" en el reenviador de registros para configurar el demonio de syslog y escuchar mensajes de otras máquinas y abrir los puertos locales necesarios.

Seleccione la pestaña adecuada para obtener instrucciones.

Utiliza el portal de Azure o Defender para crear una regla de recogida de datos (DCR) e instalar el Azure Monitor Agent en tu reenviador de log.

Creación de una regla de recopilación de datos (DCR)

Para empezar, abra Syslog a través de AMA o Common Event Format (CEF) a través del conector de datos AMA en Microsoft Sentinel y cree una regla de recopilación de datos (DCR).

  1. Para Microsoft Sentinel en el Azure Portal, en Configuración, seleccione Conectores de datos.
    Para Microsoft Sentinel en el portal de Defender, seleccione Microsoft Sentinel>Conectores de datos de configuración>.

  2. En syslog, escriba Syslog en el cuadro Buscar . En los resultados, seleccione el conector Syslog via AMA.
    En CEF, escriba CEF en el cuadro De búsqueda . En los resultados, seleccione el conector formato de evento común (CEF) a través de AMA.

  3. Seleccione Abrir página del conector en el panel de detalles.

  4. En el área Configuración , seleccione +Crear regla de recopilación de datos.

    Captura de pantalla que muestra la página del conector Syslog mediante AMA.

    Captura de pantalla que muestra la página del conector CEF a través de AMA.

  5. En la pestaña Básico :

    • Escriba un nombre de DCR.
    • Seleccione la suscripción.
    • Seleccione el grupo de recursos donde desea ubicar la DCR.

    Captura de pantalla que muestra los detalles de DCR en la pestaña Básico.

  6. Seleccione Siguiente: Recursos >.

Definición de recursos de máquina virtual

En la pestaña Recursos , seleccione las máquinas en las que desea instalar ama. Para este procedimiento, selecciona el equipo de reenvío de registros. Si el reenviador de registros no aparece en la lista, es posible que no tenga instalado el agente Azure Connected Machine.

  1. Utilice los filtros disponibles o el cuadro de búsqueda para encontrar su máquina virtual de reenvío de registros. Expanda cualquiera de las suscripciones de la lista para ver sus grupos de recursos y cualquiera de estos para ver sus máquinas virtuales.

  2. Seleccione la máquina virtual del reenviador de registros en la que desea instalar ama. La casilla aparece junto al nombre de la máquina virtual al mantener el puntero sobre él.

    Captura de pantalla que muestra cómo seleccionar recursos al configurar dcr.

  3. Revise sus cambios y seleccione Siguiente: Recoger >.

Seleccione centros y niveles de gravedad

Tenga en cuenta que el uso de la misma facilidad para los mensajes syslog y CEF puede dar lugar a la duplicación de ingesta de datos. Para obtener más información, consulte Evitación de la duplicación de ingesta de datos.

  1. En la pestaña Recopilar , seleccione el nivel de registro mínimo para cada instalación. Al seleccionar un nivel de registro, Microsoft Sentinel recopila registros para el nivel seleccionado y otros niveles con mayor gravedad. Por ejemplo, si selecciona LOG_ERR, Microsoft Sentinel recopila registros para los niveles de LOG_ERR, LOG_CRIT, LOG_ALERT y LOG_EMERG.

    Captura de pantalla que muestra cómo seleccionar los niveles de registro al configurar dcr.

  2. Revise las selecciones y seleccione Siguiente: Revisar y crear.

Revisión y creación de la regla

Después de completar todas las pestañas, revise lo que especificó y cree la regla de recopilación de datos.

  1. En la pestaña Revisar y crear , seleccione Crear.

    Captura de pantalla que muestra cómo revisar la configuración de dcr y crearla.

    El conector instala el agente de Azure Monitor en las máquinas que seleccionó al crear la DCR.

  2. Compruebe las notificaciones en el portal de Azure Portal o Microsoft Defender para ver cuándo se crea la DCR y se instala el agente.

  3. Seleccione Actualizar en la página del conector para ver la DCR mostrada en la lista.

Ejecución del script de "instalación"

Si usa un reenviador de registros, configure el demonio de syslog para que escuche mensajes de otras máquinas y abra los puertos locales necesarios.

  1. En la página del conector, copie la línea de comandos que aparece en Ejecutar el siguiente comando para instalar y aplicar el recopilador cef:.

    Captura de pantalla de la línea de comandos en la página del conector.

    O cópielo desde aquí:

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. Inicie sesión en el equipo de reenvío de registros en el que está instalado AMA.

  3. Pegue el comando de instalación que copió de la página del conector para iniciar el script de instalación.
    El script configura el daemon rsyslog o syslog-ng para utilizar el protocolo requerido y reinicia el daemon. El script abre el puerto 514 para escuchar los mensajes entrantes en los protocolos UDP y TCP. Para cambiar esta configuración, consulte el archivo de configuración del demonio de Syslog según el tipo de demonio que se ejecuta en la máquina:

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    Si usa Python 3 y no está establecido como el comando predeterminado en la máquina, sustituya python3 por python en el comando pegado. Consulte Requisitos previos del reenviador de registros.

    Nota:

    Para evitar situaciones de disco lleno en las que el agente no puede funcionar, recomendamos que establezca la configuración syslog-ng o rsyslog para que no almacene registros innecesarios. Una situación de disco lleno interrumpe el funcionamiento del AMA instalado. Para obtener más información, consulte RSyslog o Syslog-ng.

  4. Compruebe el estado del servicio.

    Compruebe el estado del servicio AMA en el reenviador de registros:

    sudo systemctl status azuremonitoragent.service
    

    Compruebe el estado del servicio rsyslog:

    sudo systemctl status rsyslog.service
    

    Para entornos syslog-ng, compruebe lo siguiente:

    sudo systemctl status syslog-ng.service
    

Configure el dispositivo o appliance de seguridad

Para obtener instrucciones para configurar el dispositivo o dispositivo de seguridad, consulte uno de los artículos siguientes:

Para obtener más información sobre su electrodoméstico o dispositivo, póngase en contacto con el proveedor de la solución.

Prueba del conector

Compruebe que los mensajes de registro de su equipo Linux o de sus dispositivos y appliances de seguridad se incorporan a Microsoft Sentinel.

  1. Para comprobar que el demonio syslog está a la escucha en el puerto UDP requerido y que el AMA está listo para recibir registros en el reenviador de Linux, ejecute el siguiente comando para mostrar los oyentes activos y sus puertos asociados:

     netstat -lnptv
    

    Debería ver el demonio rsyslog o syslog-ng escuchando en el puerto 514.

  2. Para capturar los mensajes enviados desde un registrador o un dispositivo conectado, ejecute este comando en segundo plano:

    sudo tcpdump -i any port 514 or 28330 -A -vv &
    
  3. Después de completar la validación, detenga tcpdump. Escriba fgy, a continuación, seleccione Ctrl+C.

Envío de mensajes de prueba

Para enviar mensajes de demostración, complete uno de los pasos siguientes:

  1. Use la utilidad nc netcat. En este ejemplo, la utilidad lee los datos enviados mediante el comando echo con la opción de nueva línea desactivada. A continuación, la utilidad escribe los datos en el puerto 514 UDP en localhost sin tiempo de espera. Para ejecutar la utilidad netcat, es posible que tenga que instalar otro paquete.

    echo -n "<164>CEF:0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time" | nc -u -w0 localhost 514
    
  2. Use el logger comando . En este ejemplo se escribe el mensaje en la instalación local 4, en el nivel de gravedad Warning, en el puerto 514, en el host local, en el formato RFC CEF. Las -t marcas y --rfc3164 se usan para cumplir con el formato RFC esperado.

    logger -p local4.warn -P 514 -n 127.0.0.1 --rfc3164 -t CEF "0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|rt=$common=event-formatted-receive_time"
    

    Pruebe la ingesta de Cisco ASA mediante el siguiente comando:

    echo -n "<164>%ASA-7-106010: Deny inbound TCP src inet:1.1.1.1 dst inet:2.2.2.2" | nc -u -w0 localhost 514
    

    Después de ejecutar estos comandos, los mensajes llegan al puerto 514 y se reenvía al puerto 28330.

  3. Después de enviar mensajes de prueba, consulte el área de trabajo de Log Analytics. Los registros pueden tardar hasta 20 minutos en aparecer en el área de trabajo.

Para los registros CEF:

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceProduct == "MOCK"

Para los registros de Cisco ASA:

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceVendor == "Cisco"
| where DeviceProduct == "ASA"

Solución de problemas adicional

Si no ve tráfico en el puerto 514 o los mensajes de prueba no se ingieren, consulte Solución de problemas de Syslog y CEF mediante conectores de AMA para Microsoft Sentinel para solucionar los problemas.