Recopila registros de ManageEngine ADAudit Plus

Compatible con:

En este documento, se explica cómo transferir registros de ManageEngine ADAudit Plus a Google Security Operations con un agente de Bindplane. El analizador controla los registros de ADAudit Plus y los convierte al formato UDM. Utiliza patrones de Grok para extraer campos de mensajes con formato de SYSLOG (CEF) y de pares clave-valor, los asigna a campos del UDM según los tipos de eventos derivados de los perfiles de alertas y de informes, y enriquece los datos con contexto adicional. El analizador también controla situaciones específicas, como errores de acceso, cambios de usuario y modificaciones de archivos, y ajusta la asignación del UDM según corresponda.

Antes de comenzar

  • Asegúrate de tener una instancia de Google SecOps.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con systemd.
  • Si ejecutas la herramienta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
  • Asegúrate de tener acceso con privilegios a ManageEngine ADAudit.

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

  1. Accede a la consola de Google SecOps.
  2. Ve a SIEM Settings > Collection Agents.
  3. Descarga el archivo de autenticación de transferencia. Guarda el archivo de forma segura en el sistema en el que se instalará BindPlane.

Obtén el ID de cliente de Google SecOps

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

Instala el agente de BindPlane

Instalación en Windows

  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 en Linux

  1. Abre una terminal con privilegios de raíz 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

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

  1. Accede al archivo de configuración:

    1. Ubica el archivo config.yaml. Por lo general, se encuentra en el directorio /etc/bindplane-agent/ en Linux o en el directorio de instalación en Windows.
    2. 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: '/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: ADAUDIT_PLUS
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.

  4. Reemplaza <customer_id> por el ID de cliente real.

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso en la que se guardó el archivo de autenticación en la sección Cómo obtener el archivo de autenticación de la transferencia de datos de Google SecOps.

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 de Servicios o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Cómo configurar el registro de eventos de ManageEngine ADAudit Plus

  1. Accede a la IU web de ManageEngine ADAudit Plus.
  2. Ve a Administrador > Configuración > Integración de SIEM.
  3. Selecciona Habilitar para enviar los registros de ADAudit Plus.
  4. Selecciona el formato ArcSight (CEF).
  5. Proporciona los siguientes detalles de configuración:
    • Dirección IP: Es la dirección IP del agente de Bindplane.
    • Puerto: Número de puerto de Bindplane; por ejemplo, 514 para UDP.
    • Tipo de destino: Selecciona UDP (también puedes seleccionar TCP, según la configuración de tu agente de Bindplane).
  6. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
ACCOUNT_DOMAIN principal.administrative_domain El valor de ACCOUNT_DOMAIN del registro sin procesar se asigna a este campo del UDM.
ACCOUNT_NAME principal.user.userid El valor de ACCOUNT_NAME del registro sin procesar se asigna a este campo del UDM.
ALERT_PROFILE security_result.summary El valor de ALERT_PROFILE del registro sin procesar se asigna a este campo del UDM.
APPLICATION_NAME target.resource.name El valor de APPLICATION_NAME del registro sin procesar se asigna a este campo del UDM. También establece target.resource.resource_type en TASK y has_target_resource en verdadero.
CALLER_DISPLAY_NAME target.user.user_display_name El valor de CALLER_DISPLAY_NAME del registro sin procesar se asigna a este campo del UDM.
CALLER_USER_NAME target.user.userid El valor de CALLER_USER_NAME del registro sin procesar se asigna a este campo del UDM.
CALLER_USER_SID target.group.windows_sid El valor de CALLER_USER_SID del registro sin procesar se asigna a este campo del UDM después de quitar los caracteres [%,{,}]. Esto solo se hace si el valor coincide con un patrón de SID de Windows.
Category metadata.product_event_type El valor de Category del registro sin procesar se asigna a este campo del UDM.
CLIENT_HOST_NAME target.hostname, target.asset.hostname El valor de CLIENT_HOST_NAME del registro sin procesar se asigna a estos campos de UDM.
CLIENT_IP_ADDRESS target.ip, target.asset.ip El valor de CLIENT_IP_ADDRESS del registro sin procesar se asigna a estos campos del UDM después de validar que sea una dirección IP válida.
CLIENT_PORT target.port El valor de CLIENT_PORT del registro sin procesar se asigna a este campo del UDM después de convertirlo en un número entero.
DOMAIN target.administrative_domain El valor de DOMAIN del registro sin procesar se asigna a este campo del UDM. ACCOUNT_DOMAIN podría reemplazar este valor más adelante si está presente.
FILE_LOCATION target.file.full_path El valor de FILE_LOCATION del registro sin procesar se asigna a este campo del UDM.
FILE_NAME target.file.full_path El valor de FILE_NAME del registro sin procesar se asigna a este campo del UDM si FILE_LOCATION no está presente.
FORMAT_MESSAGE security_result.description El valor de FORMAT_MESSAGE del registro sin procesar se asigna a este campo del UDM. Es posible que se usen partes de este campo para completar otros campos del UDM y, luego, se quiten de la descripción.
IP principal.ip, principal.asset.ip El valor de IP del registro sin procesar se asigna a estos campos del UDM después de validar que sea una dirección IP válida.
loggerHost intermediary.hostname, intermediary.asset.hostname El valor de loggerHost extraído del campo de mensaje del registro sin procesar se asigna a estos campos del UDM.
login_name target.user.userid o target.user.email_addresses o target.user.user_display_name Si el valor contiene @, se trata como una dirección de correo electrónico. Si contiene espacios, se trata como un nombre visible. De lo contrario, se trata como un ID de usuario. También establece event_type en USER_LOGIN, extensions.auth.type en MACHINE y extensions.auth.mechanism en USERNAME_PASSWORD.
RECORD_NUMBER principal.process.pid El valor de RECORD_NUMBER del registro sin procesar se asigna a este campo del UDM.
REPORT_PROFILE metadata.description El valor de REPORT_PROFILE del registro sin procesar se asigna a este campo del UDM.
SEVERITY security_result.severity El valor de SEVERITY determina el valor de este campo de UDM: 1 se asigna a LOW, 2 se asigna a MEDIUM y 3 se asigna a HIGH.
SOURCE principal.hostname, principal.asset.hostname El valor de SOURCE del registro sin procesar, combinado con DOMAIN si SOURCE no contiene una parte del dominio, se asigna a estos campos del UDM. También establece has_principal_host como verdadero.
TIME_GENERATED metadata.event_timestamp.seconds El valor de TIME_GENERATED del registro sin procesar se usa como la marca de tiempo del evento.
UNIQUE_ID metadata.product_log_id El valor de UNIQUE_ID del registro sin procesar se asigna a este campo del UDM.
USERNAME principal.user.userid El valor de USERNAME del registro sin procesar se asigna a este campo del UDM si ACCOUNT_NAME no está presente.
USER_OU_GUID metadata.product_log_id El valor de USER_OU_GUID del registro sin procesar, después de quitar las llaves, se asigna a este campo del UDM si UNIQUE_ID no está presente.
access_mode security_result.detection_fields.value El valor de access_mode del registro sin procesar se asigna a este campo del UDM, con la clave establecida en ACCESS_MODE.
action_name security_result.description El valor de action_name del registro sin procesar se asigna a este campo del UDM.
domain_name principal.administrative_domain El valor de domain_name del registro sin procesar se asigna a este campo del UDM.
event.idm.read_only_udm.extensions.auth.mechanism event.idm.read_only_udm.extensions.auth.mechanism Se establece en USERNAME_PASSWORD si login_name está presente o si event_type es USER_LOGIN.
event.idm.read_only_udm.extensions.auth.type event.idm.read_only_udm.extensions.auth.type Se establece en MACHINE si login_name está presente o si event_type es USER_LOGIN.
event.idm.read_only_udm.metadata.event_type event.idm.read_only_udm.metadata.event_type El analizador lo determina en función de los valores de ALERT_PROFILE, REPORT_PROFILE y FORMAT_MESSAGE. Puede ser uno de varios valores, incluidos USER_CHANGE_PERMISSIONS, USER_STATS, USER_LOGIN, USER_CHANGE_PASSWORD, SETTING_MODIFICATION, FILE_DELETION, FILE_MODIFICATION, STATUS_SHUTDOWN, SCHEDULED_TASK_CREATION, FILE_READ, NETWORK_CONNECTION, GENERIC_EVENT, USER_UNCATEGORIZED o STATUS_UPDATE.
event.idm.read_only_udm.metadata.log_type event.idm.read_only_udm.metadata.log_type Siempre se establece en ADAUDIT_PLUS.
event.idm.read_only_udm.metadata.product_name event.idm.read_only_udm.metadata.product_name Siempre se establece en ADAudit Plus.
event.idm.read_only_udm.metadata.vendor_name event.idm.read_only_udm.metadata.vendor_name Siempre se establece en Zoho Corporation.
host principal.hostname, principal.asset.hostname El valor de host del registro sin procesar se asigna a estos campos de UDM. También establece has_principal_host como verdadero.
intermediary.hostname, intermediary.asset.hostname intermediary.hostname, intermediary.asset.hostname Se establece en el valor de loggerHost.
principalHost principal.hostname, principal.asset.hostname El valor de principalHost del registro sin procesar se asigna a estos campos de UDM después de verificar si es una IP. También establece has_principal_host como verdadero.
security_result.action security_result.action Se establece en ALLOW si outcome o msg_data_2 contienen Success, o si FORMAT_MESSAGE contiene Status:Success. Se establece en BLOCK si status contiene denied, locked out, incorrect, does not meet o Unable to validate. Se establece en BLOCK si ALERT_PROFILE es Logon Failures for Admin Users.
security_result.category security_result.category Se establece en POLICY_VIOLATION si event_type es USER_STATS o si ALERT_PROFILE es Logon Failures for Admin Users.
security_result.rule_name security_result.rule_name Se extrae del campo FORMAT_MESSAGE si contiene Reason:.
status security_result.summary El valor de status del registro sin procesar se asigna a este campo del UDM.
targetHost target.hostname, target.asset.hostname o target.ip, target.asset.ip El valor de targetHost del registro sin procesar se asigna a estos campos de UDM después de verificar si es una IP.
targetUser target.user.userid El valor de targetUser del registro sin procesar se asigna a este campo del UDM.
_CNtargetUser target.user.user_display_name El valor de _CNtargetUser del registro sin procesar se asigna a este campo del UDM.
_user principal.user.userid o target.user.userid El valor de _user del registro sin procesar se asigna a principal.user.userid, a menos que event_type sea USER_CHANGE_PASSWORD, en cuyo caso se asigna a target.user.userid.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.