Recoger registros de Kiteworks (antes Accellion)
En este documento se explica cómo ingerir registros de Kiteworks (antes Accellion) en Google Security Operations mediante Bindplane. El analizador extrae el campo audit_message de los mensajes SYSLOG y gestiona tanto los mensajes con formato JSON (mediante grok para extraer el textPayload) como los mensajes de texto sin formato. A continuación, aplica un conjunto común de transformaciones definidas en auditd.include y añade asignaciones específicas para eventos de tipo SYSCALL, lo que enriquece los campos del UDM con los datos extraídos.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Una instancia de Google SecOps
- Un host con Windows 2012 SP2 o versiones posteriores, o Linux con
systemd - Si se ejecuta a través de un proxy, asegúrese de que los puertos del cortafuegos estén abiertos según los requisitos del agente Bindplane.
- Acceso privilegiado a la consola de administración o al dispositivo de Kiteworks (antes Accellion)
Obtener el archivo de autenticación de ingestión de Google SecOps
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Agentes de recogida.
- 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
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Perfil.
- Copia y guarda el ID de cliente de la sección Detalles de la organización.
Instalar el agente de Bindplane
Instala el agente Bindplane en tu sistema operativo Windows o Linux siguiendo las instrucciones que se indican a continuación.
Instalación de ventanas
- Abre la petición de comando o PowerShell como administrador.
Ejecuta el siguiente comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalación de Linux
- Abre un terminal con privilegios de root o sudo.
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 otras opciones de instalación, consulta esta guía de instalación.
Configurar el agente de Bindplane para ingerir Syslog y enviarlo a Google SecOps
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,vio Bloc de notas).
- Busca el archivo
Edita el archivo
config.yamlde 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 log_type: 'ACCELLION' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.
- Sustituye
<CUSTOMER_ID>por el ID de cliente real. - Actualiza
/path/to/ingestion-authentication-file.jsona la ruta donde se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión 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-agentPara reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar el reenvío de Syslog en Kiteworks (antes Accellion)
- Inicia sesión en la consola de gestión de Kiteworks como administrador.
- Ve a la página Ubicaciones con una de estas rutas:
- Interfaz de usuario antigua: ve a Sistema > Ubicaciones.
- Nueva interfaz de usuario: ve a Configuración del sistema > Ubicaciones.
- Selecciona la ubicación de destino en la lista.
- Ve a la sección Servicios externos.
- Despliega el panel Syslog Settings (Configuración de Syslog).
- Haga clic en Añadir para crear una configuración de servidor syslog.
- Proporcione los siguientes detalles de configuración:
- Servidor Syslog: introduce la dirección IP del agente de Bindplane.
- Protocolo: selecciona UDP o TCP, en función de la configuración del agente de Bindplane.
- Puerto: introduce el número de puerto del agente de Bindplane (por ejemplo,
514). - Formato: selecciona Formato JSON (recomendado para el análisis estructurado).
- Zona horaria: selecciona la zona horaria UTC para que haya coherencia universal en todos los sistemas.
- Haz clic en Guardar para aplicar la configuración.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
acct |
principal.user.user_display_name |
El valor de acct del campo msg del registro sin procesar. |
acct |
target.user.user_display_name |
El valor de acct del campo msg del registro sin procesar. |
addr |
principal.ip |
El valor de addr del campo msg del registro sin procesar. |
a0 |
security_result.about.labels.value |
El valor de a0 del campo msg del registro sin procesar, donde el key correspondiente es "a0". |
a1 |
security_result.about.labels.value |
El valor de a1 del campo msg del registro sin procesar, donde el key correspondiente es "a1". |
a2 |
security_result.about.labels.value |
El valor de a2 del campo msg del registro sin procesar, donde el key correspondiente es "a2". |
a3 |
security_result.about.labels.value |
El valor de a3 del campo msg del registro sin procesar, donde el key correspondiente es "a3". |
arch |
security_result.about.platform_version |
El valor de arch del campo msg del registro sin procesar. Solo se aplica a type_name SYSCALL. |
auid |
about.user.userid |
El valor de auid del campo msg del registro sin procesar. |
auid |
security_result.detection_fields.value |
El valor de auid del campo msg del registro sin procesar, donde el key correspondiente es "auid". |
comm |
principal.application |
El valor de comm del campo msg del registro sin procesar. |
cmd |
principal.process.command_line |
El valor de cmd del campo msg del registro sin procesar. |
cwd |
security_result.detection_fields.value |
El valor de cwd del campo msg del registro sin procesar, donde el key correspondiente es "cwd". |
cwd |
target.process.file.full_path |
El valor de cwd del campo msg del registro sin procesar. |
exe |
principal.process.file.full_path |
El valor de exe del campo msg del registro sin procesar. |
exe |
target.process.file.full_path |
El valor de exe del campo msg del registro sin procesar. |
exit |
security_result.about.labels.value |
El valor de exit del campo msg del registro sin procesar, donde el key correspondiente es "Exit Code". |
hostname |
principal.hostname |
El valor de hostname del campo msg del registro sin procesar. Valor codificado "zing-h2" del campo msg del registro sin procesar. |
key |
security_result.about.registry.registry_key |
El valor de key del campo msg del registro sin procesar. Solo se aplica a type_name SYSCALL. |
log_type |
metadata.log_type |
El valor de log_type del registro sin procesar. |
msg |
security_result.action_details |
El valor que aparece después de res= en el campo msg del registro sin procesar. |
msg |
security_result.summary |
Combinación de campos del campo msg del registro en bruto. Por ejemplo, "session_open success" o "setcred success". Analizado a partir de la sección audit del campo msg del registro sin procesar. Asignación basada en el campo type del registro sin procesar. Por ejemplo, "USER_START" se asigna a "USER_LOGIN", "CRED_DISP" se asigna a "USER_LOGOUT", "CRED_ACQ" se asigna a "USER_LOGIN", "USER_END" se asigna a "USER_LOGOUT", "CRED_REFR" se asigna a "USER_LOGIN", "USER_CMD" se asigna a "USER_LOGIN", "CWD" se asigna a "STATUS_UPDATE", "PROCTITLE" se asigna a "STATUS_UPDATE", "USER_ACCT" se asigna a "USER_UNCATEGORIZED" y "SYSCALL" se asigna a "USER_UNCATEGORIZED". Valor del campo type del campo msg del registro sin procesar. Se extrae de la sección audit del campo msg del registro sin procesar. |
node |
principal.hostname |
El valor de node del campo msg del registro sin procesar. |
pid |
principal.process.pid |
El valor de pid del campo msg del registro sin procesar. |
ppid |
principal.process.parent_process.pid |
El valor de ppid del campo msg del registro sin procesar. |
proctitle |
target.process.file.full_path |
Valor hexadecimal decodificado de proctitle del campo msg del registro sin procesar. Codificado como "LINUX". Se define como "ALLOW" si res=success está presente en el campo msg del registro sin procesar. |
ses |
network.session_id |
El valor de ses del campo msg del registro sin procesar. |
syscall |
security_result.about.labels.value |
El valor de syscall del campo msg del registro sin procesar, donde el key correspondiente es "Syscall". |
success |
security_result.summary |
Se combina con otros campos para formar el resumen. En el caso de los eventos SYSCALL, la lógica es la siguiente: si success=yes, entonces "yes, The System call succeeded" (sí, la llamada al sistema se ha realizado correctamente); de lo contrario, "no, The System call failed" (no, la llamada al sistema no se ha realizado correctamente). |
terminal |
principal.terminal |
El valor de terminal del campo msg del registro sin procesar. |
timestamp |
timestamp |
El valor de timestamp de la entrada de registro sin procesar. |
tty |
principal.terminal |
El valor de tty del campo msg del registro sin procesar. |
type |
metadata.product_event_type |
El valor de type del campo msg del registro sin procesar. |
uid |
about.user.userid |
El valor de uid del campo msg del registro sin procesar. Solo se aplica a type_name SYSCALL. |
uid |
target.user.userid |
El valor de uid del campo msg del registro sin procesar. Se asigna el valor "SETTING" si type es "USER_ACCT". |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.