Recoger registros de ManageEngine AD360

Disponible en:

En este documento se explica cómo puede ingerir registros de ManageEngine AD360 en Google Security Operations mediante Bindplane. El analizador primero limpia y prepara los datos de registro entrantes y, a continuación, utiliza una serie de patrones grok para extraer los campos relevantes en función de tipos de eventos y formatos de mensajes específicos. Después de la extracción, el código asigna los campos extraídos al modelo de datos unificado (UDM), gestiona transformaciones de datos específicas y enriquece los datos con contexto adicional, como la geolocalización y la gravedad de la seguridad.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Windows 2016 o versiones posteriores, o un host Linux con systemd
  • Si se ejecuta a través de un proxy, los puertos del cortafuegos están abiertos
  • Acceso con privilegios a ManageEngine AD360

Obtener el archivo de autenticación de ingestión de Google SecOps

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recogida.
  3. Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtener el ID de cliente de Google SecOps

  1. Inicia sesión en 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.

Instalar el agente de Bindplane

Instala el agente de Bindplane en tu sistema operativo Windows o Linux siguiendo las instrucciones que se indican a continuación.

Instalación de ventanas

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalación de Linux

  1. Abre un terminal con privilegios de superusuario o sudo.
  2. Ejecuta el siguiente comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalación adicionales

Para ver más opciones de instalación, consulta la guía de instalación.

Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:
    • Busca el archivo config.yaml. Normalmente, se encuentra en el directorio /etc/bindplane-agent/ en Linux o en el directorio de instalación en Windows.
    • Abre el archivo con un editor de texto (por ejemplo, nano, vi o Bloc de notas).
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'MANAGE_ENGINE_AD360'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Reinicia el agente de Bindplane para aplicar los cambios

  • Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar la exportación de Syslog de ManageEngine AD360

  1. Inicia sesión en la interfaz web de AD360.
  2. Vaya a Administrar > Administración > Integración de SIEM.
  3. Haz clic en el enlace Configurar ahora situado junto al componente ADSelfService.
  4. Proporcione los siguientes detalles de configuración:
    • Tipo de servidor: selecciona Syslog.
    • Nombre o IP del servidor: introduce la dirección IP del agente de Bindplane.
    • Puerto: introduce el número de puerto del agente de Bindplane.
    • Protocolo: selecciona UDP.
    • Estándar Syslog: selecciona RFC5 424.
    • Haz clic en la lista Avanzada.
    • Gravedad: selecciona Informativa.
  5. Haz clic en Configurar para guardar los cambios.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
AccessControlRuleName security_result.rule_name Valor tomado del campo AccessControlRuleName, si existe, o del campo rule_name
ACPolicy security_result.rule_labels.value Valor tomado del campo ACPolicy
acción security_result.action_details Asignados directamente a UDM
action_id security_result.detection_fields.value Valor tomado del campo action_id
application_protocol network.application_protocol Asignados directamente a UDM
bytes network.sent_bytes Asignados directamente a UDM
client_ip principal.ip Asignados directamente a UDM
ConnectionID network.session_id Valor tomado del campo connection_id, si existe; si no, del campo ConnectionID; si no, del campo ses.
destination_ip target.ip Asignados directamente a UDM
destination_port target.port Asignados directamente a UDM
DeviceUUID target.asset_id Valor tomado del campo DeviceUUID, si existe, o del campo distinguished_name_device_id
distinguished_name_device_id target.asset_id Valor tomado del campo DeviceUUID, si existe, o del campo distinguished_name_device_id
distinguished_name_user target.user.userid Asignados directamente a UDM
DST target.ip Valor tomado del campo DST, si existe, o del campo DstIP
CTD target.port Valor tomado del campo DPT, si existe; si no, del campo DstPort; si no, del campo destination_port.
DstIP target.ip Valor tomado del campo DST, si existe, o del campo DstIP
DstPort target.port Valor tomado del campo DPT, si existe; si no, del campo DstPort; si no, del campo destination_port.
EgressInterface additional.fields.value.string_value Asignados directamente a UDM
EgressZone target.location.name Asignados directamente a UDM
EventPriority security_result.severity Se asigna a diferentes niveles de gravedad en función del valor del campo EventPriority.
exe principal.process.command_line Asignados directamente a UDM
geoip.city_name principal.location.city Asignados directamente a UDM
geoip.country_name principal.location.country_or_region Asignados directamente a UDM
geoip.latitude principal.location.region_latitude Asignados directamente a UDM
geoip.longitude principal.location.region_longitude Asignados directamente a UDM
http_status network.http.response_code Asignados directamente a UDM
id metadata.product_log_id Asignados directamente a UDM
IngressInterface additional.fields.value.string_value Asignados directamente a UDM
IngressZone principal.location.name Asignados directamente a UDM
LEN additional.fields.value.string_value Asignados directamente a UDM
message_number Sin asignar
NAPPolicy security_result.rule_labels.value Valor tomado del campo NAPPolicy
network_direction network.direction Asignados directamente a UDM
OUT additional.fields.value.string_value Asignados directamente a UDM
pid target.process.pid Asignados directamente a UDM
ppid target.process.parent_process.pid Asignados directamente a UDM
PREC additional.fields.value.string_value Asignados directamente a UDM
principal_hostname principal.hostname Asignados directamente a UDM
product_event_type metadata.product_event_type Asignados directamente a UDM
protocolo network.ip_protocol Se usa para rellenar el campo PROTO y, a continuación, se asigna a UDM mediante una tabla de consulta.
PROTO network.ip_protocol Se asigna a UDM mediante una tabla de consulta basada en el número de protocolo.
request_method network.http.method Asignados directamente a UDM
rule_name security_result.rule_name Valor tomado del campo AccessControlRuleName, si existe, o del campo rule_name
ses network.session_id Valor tomado del campo connection_id, si existe; si no, del campo ConnectionID; si no, del campo ses.
source_ip principal.ip Asignados directamente a UDM
source_port principal.port Asignados directamente a UDM
SPT principal.port Valor tomado del campo SPT, si existe; si no, del campo SrcPort; si no, del campo source_port.
SRC principal.ip Valor tomado del campo SRC, si existe; si no, del campo SrcIP; si no, del campo client_ip.
SrcIP principal.ip Valor tomado del campo SRC, si existe; si no, del campo SrcIP; si no, del campo client_ip.
SrcPort principal.port Valor tomado del campo SPT, si existe; si no, del campo SrcPort; si no, del campo source_port.
timestamp metadata.event_timestamp Asignados directamente a UDM
TOS additional.fields.value.string_value Asignados directamente a UDM
TTL additional.fields.value.string_value Asignados directamente a UDM
URL target.url Asignados directamente a UDM
user_agent network.http.user_agent Asignados directamente a UDM
WINDOW additional.fields.value.string_value Asignados directamente a UDM
metadata.vendor_name El valor se ha codificado como MANAGE_ENGINE_AD360
metadata.product_name El valor se ha codificado como MANAGE_ENGINE_AD360
metadata.log_type El valor se ha codificado como MANAGE_ENGINE_AD360
metadata.event_type Valor definido como NETWORK_CONNECTION si están presentes los campos SRC y DST. De lo contrario, se define como STATUS_UPDATE si está presente SRC o principal_hostname. Si no se cumple ninguna de estas condiciones, se utiliza GENERIC_EVENT de forma predeterminada.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.