Recopila datos de syslog de Apple macOS

Compatible con:

Este analizador usa patrones de grok para extraer campos de los mensajes de syslog de Apple macOS y propaga el modelo de datos unificado (UDM) con los valores extraídos, incluida la marca de tiempo, el nombre de host, el host intermedio, la línea de comandos, el ID de proceso y la descripción. El analizador clasifica el evento como STATUS_UPDATE si hay un nombre de host presente; de lo contrario, asigna la categoría GENERIC_EVENT al evento. Por último, el analizador enriquece el evento de la AUA con información del proveedor y del producto.

Antes de comenzar

  • Asegúrate de tener una instancia de Google Security Operations.
  • Asegúrate de tener acceso raíz al host de Auditd.
  • Asegúrate de haber instalado rsyslog en el host de Auditd.
  • Asegúrate de tener un host de Windows 2012 SP2 o una versión posterior, o bien Linux con systemd.
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agente de recopilación.
  3. Descarga el archivo de autenticación de transferencia.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de BindPlane

  1. Para la instalación de Windows, ejecuta la siguiente secuencia de comandos:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. Para la instalación de Linux, ejecuta la siguiente secuencia de comandos:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Puedes encontrar opciones de instalación adicionales en esta guía de instalación.

Configura el agente de BindPlane para transferir Syslog y enviarlo a Google SecOps

  1. Accede a la máquina en la que está instalado BindPlane.
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
      tcplog:
        # Replace the below port <54525> and IP <0.0.0.0> with your specific values
        listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: auditd
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reinicia el agente de BindPlane para aplicar los cambios con el siguiente comando: sudo systemctl bindplane restart

Cómo exportar Syslog desde macOS

  1. Instala syslog-ng con Homebrew:

    brew install syslog-ng
    
  2. Configura syslog-ng:

    • Edita el archivo syslog-ng.conf (por lo general, se encuentra en /usr/local/etc/syslog-ng/syslog-ng.conf):
    sudo vi /usr/local/etc/syslog-ng/syslog-ng.conf
    
    • Agrega el siguiente bloque de configuración.
      • Según la configuración de BindPlane, puedes cambiar el método de entrega a tcp o dejarlo como udp.
      • Reemplaza <BindPlaneAgent_IP> y <BindPlaneAgent_Port> por la dirección IP y el puerto reales de tu agente de BindPlane:
    source s_local { system(); internal(); };
    destination d_secops { tcp("<BindPlaneAgent_IP>:<BindPlaneAgent_Port>"); };
    log { source(s_local); destination(d_secops); };
    
  3. Reinicia el servicio syslog-ng:

    brew services restart syslog-ng
    
  4. Verifica el estado de syslog-ng (deberías ver syslog-ng como iniciado):

    brew services list
    

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
datos read_only_udm.metadata.description El valor del campo description se extrae del campo data en el registro sin procesar con un patrón grok.
datos read_only_udm.principal.hostname El nombre de host se extrae del campo data con un patrón grok.
datos read_only_udm.intermediary.hostname El nombre de host intermedio se extrae del campo data con un patrón grok.
datos read_only_udm.principal.process.command_line La línea de comandos del proceso se extrae del campo data con un patrón grok.
datos read_only_udm.principal.process.pid El ID de proceso se extrae del campo data con un patrón grok.
datos read_only_udm.metadata.event_timestamp La marca de tiempo del evento se extrae del campo data con un patrón grok y se convierte en un objeto de marca de tiempo. Está codificado en “MacOS” en el analizador. Está codificado como "Apple" en el analizador. Establece el valor en "STATUS_UPDATE" si se extrae un nombre de host de los registros; de lo contrario, configúralo en "GENERIC_EVENT".
log_type read_only_udm.metadata.log_type Se asignan directamente desde el campo log_type del registro sin formato.

Cambios

2022-05-04

  • Sin embargo, el analizador se creó recientemente.