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. Para obtener más información sobre estos conectores de datos, consulte Syslog y Common Event Format (CEF) via AMA connectors for Microsoft Sentinel (Syslog and Common Event Format (CEF) via AMA connectors for Microsoft Sentinel (Syslog and Common Event Format (CEF) via AMA connectors for Microsoft Sentinel (Syslog and Common Event Format (CEF) via AMA connectors for Microsoft Sentinel (Syslog y

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 colección syslog con Container Insights.

Requisitos previos

Antes de empezar, debe tener los recursos configurados y los permisos adecuados asignados, como se describe en esta sección.

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 aplican 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 habilitado el syslog-ng demonio o rsyslog .

  • Para conocer los requisitos de espacio para el reenviador de registros, consulte Azure Monitor Agent Performance Benchmark. También puede revisar esta entrada de blog, que incluye diseños para la ingesta escalable.

  • Los orígenes de registro, los dispositivos de seguridad y los dispositivos deben configurarse 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 implementar ama en un conjunto de escalado de máquinas virtuales (VMSS), se recomienda encarecidamente usar un equilibrador de carga que admita el método round robin para garantizar la distribución de carga en todas las instancias implementadas.

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 red corporativa y cambie los puertos y protocolos del demonio para que se alineen con 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 syslog y CEF a través de TLS porque, por ejemplo, el reenviador de registros está en la nube, debe configurar el demonio de Syslog (rsyslog o syslog-ng) para comunicarse 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 de "instalación" en el reenviador de registros para configurar el demonio de Syslog para escuchar mensajes de otras máquinas y para abrir los puertos locales necesarios.

Seleccione la pestaña adecuada para obtener instrucciones.

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 Syslog a través del conector AMA.
    En CEF, escriba CEF en el cuadro De búsqueda . En los resultados, seleccione common event format (CEF) a través del conector 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 a través de 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 dcr.
    • Seleccione la suscripción.
    • Seleccione el grupo de recursos donde desea buscar 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 la AMA, en este caso, el equipo del reenviador de registros. Si el reenviador de registros no aparece en la lista, es posible que no tenga instalado el agente Azure Connected Machine.

  1. Use los filtros o el cuadro de búsqueda disponibles para buscar la máquina virtual del reenviador de registros. Expanda una suscripción en la lista para ver sus grupos de recursos y un grupo de recursos 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 los cambios y seleccione Siguiente: Recopilar >.

Selección de instalaciones y gravedades

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 los 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 la máquina del reenviador de registros donde acaba de instalar la AMA.

  3. Pegue el comando que copió en el último paso para iniciar el script de instalación.
    El script configura el rsyslog demonio o syslog-ng para que use el protocolo necesario y reinicia el demonio. 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 el equipo:

    • 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 escenarios de disco completo en los que el agente no puede funcionar, se recomienda establecer la syslog-ng configuración o rsyslog para no almacenar los registros innecesarios. Un escenario de disco completo interrumpe la función de la AMA instalada. 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
    

Configuración del dispositivo o dispositivo 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 el dispositivo o dispositivo, póngase en contacto con el proveedor de soluciones.

Prueba del conector

Compruebe que los mensajes de registro de la máquina Linux o dispositivos y dispositivos de seguridad se ingieren en Microsoft Sentinel.

  1. Para validar que el demonio de Syslog se está ejecutando en el puerto UDP y que ama está escuchando, ejecute este comando:

     netstat -lnptv
    

    Debería ver el demonio o syslog-ng escuchando en el rsyslog 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 nc utilidad netcat. En este ejemplo, la utilidad lee los datos publicados a través del echo comando con el modificador newline desactivado. 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, en el local 4 nivel Warningde gravedad , 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 a través de conectores AMA para Microsoft Sentinel solucionar problemas.