Recopila registros de Fortinet FortiEDR
En este documento, se explica cómo transferir registros de Fortinet FortiEDR a Google Security Operations con Google Cloud Storage V2 o el agente de Bindplane.
Fortinet FortiEDR es una solución de detección y respuesta de endpoints que proporciona protección en tiempo real, respuesta automatizada ante incidentes e inteligencia sobre amenazas para los endpoints de toda una organización.
Diferencias en el método de recopilación
En esta guía, se proporcionan dos métodos de recopilación:
- Opción 1: Syslog a través del agente de BindPlane: FortiEDR envía mensajes de syslog al agente de BindPlane, que reenvía los registros a Google SecOps. Se recomienda para la transferencia de registros en tiempo real con infraestructura mínima.
- Opción 2: Syslog a GCS a través de Cloud Function: FortiEDR envía mensajes de syslog a una Cloud Function, que escribe registros en GCS para la transferencia de datos de Google SecOps. Se recomienda para el almacenamiento de registros centralizado y el procesamiento por lotes.
Elige el método que mejor se adapte a tu infraestructura y requisitos.
Opción 1: Recopila registros de Fortinet FortiEDR con el agente de BindPlane
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Instancia de Google SecOps
- Windows Server 2016 o versiones posteriores, o host de Linux con systemd
- Conectividad de red entre el agente de Bindplane y Fortinet FortiEDR Central Manager
- Si se ejecuta detrás de un proxy, asegúrate de que los puertos de firewall estén abiertos según los requisitos del agente de Bindplane.
- Acceso con privilegios a la consola de administración de Fortinet FortiEDR
- FortiEDR versión 5.0 o posterior
Obtén el archivo de autenticación de transferencia de Google SecOps
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Agente de recopilación.
- Haz clic en Descargar para descargar el archivo de autenticación de la transferencia.
Guarda el archivo de forma segura en el sistema en el que se instalará el agente de Bindplane.
Obtén el ID de cliente de Google SecOps
- Accede a 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.
Instala el agente de BindPlane
Instala el agente de Bindplane en tu sistema operativo Windows o Linux según las siguientes instrucciones.
Instalación en Windows
- Abre el símbolo del sistema o PowerShell como administrador.
Ejecuta el comando siguiente:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietEspera a que se complete la instalación.
Ejecute el siguiente comando para verificar la instalación:
sc query observiq-otel-collector
El servicio debería mostrarse como RUNNING.
Instalación en Linux
- Abre una terminal con privilegios de administrador o sudo.
Ejecuta el comando siguiente:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shEspera a que se complete la instalación.
Ejecute el siguiente comando para verificar la instalación:
sudo systemctl status observiq-otel-collector
El servicio debería mostrarse como activo (en ejecución).
Recursos de instalación adicionales
Para obtener más opciones de instalación y solucionar problemas, consulta la guía de instalación del agente de Bindplane.
Configura el agente de BindPlane para transferir el syslog y enviarlo a Google SecOps
Ubica el archivo de configuración
Linux:
sudo nano /etc/bindplane-agent/config.yaml
Windows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Edita el archivo de configuración
Reemplaza todo el contenido de config.yaml con la siguiente configuración:
receivers:
tcplog:
listen_address: "0.0.0.0:514"
exporters:
chronicle/fortiedr:
compression: gzip
creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
customer_id: 'YOUR_CUSTOMER_ID'
endpoint: malachiteingestion-pa.googleapis.com
log_type: FORTINET_FORTIEDR
raw_log_field: body
ingestion_labels:
env: production
service:
pipelines:
logs/fortiedr_to_chronicle:
receivers:
- tcplog
exporters:
- chronicle/fortiedr
Parámetros de configuración
Reemplaza los marcadores de posición que se indican más abajo:
Configuración del receptor:
listen_address: Es la dirección IP y el puerto que se escucharán. Usa0.0.0.0:514para escuchar en todas las interfaces del puerto 514.
Configuración del exportador:
creds_file_path: Ruta de acceso completa al archivo de autenticación de la transferencia:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: Es el ID de cliente del paso anterior.endpoint: URL del extremo regional:- EE.UU.:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com
- EE.UU.:
ingestion_labels: Son etiquetas opcionales en formato YAML.
Guarda el archivo de configuración
Después de editarlo, guarda el archivo:
- Linux: Presiona
Ctrl+O, luegoEntery, después,Ctrl+X. - Windows: Haz clic en Archivo > Guardar
Reinicia el agente de Bindplane para aplicar los cambios
Linux
sudo systemctl restart observiq-otel-collectorVerifica que el servicio esté en ejecución:
sudo systemctl status observiq-otel-collectorRevisa los registros en busca de errores:
sudo journalctl -u observiq-otel-collector -f
Windows
Elige una de las siguientes opciones:
Con el símbolo del sistema o PowerShell como administrador, haz lo siguiente:
net stop observiq-otel-collector && net start observiq-otel-collectorUsa la consola de Services:
- Presiona
Win+R, escribeservices.mscy presiona Intro. - Busca observIQ OpenTelemetry Collector.
Haz clic con el botón derecho y selecciona Reiniciar.
Verifica que el servicio esté en ejecución:
sc query observiq-otel-collectorRevisa los registros en busca de errores:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Presiona
Configura el reenvío de syslog de Fortinet FortiEDR
Configura el destino de Syslog
- Accede a la consola de FortiEDR Central Manager.
- Ve a Administración > Configuración de exportación > Syslog.
- Haz clic en el botón Define New Syslog.
- En el campo Nombre de Syslog, ingresa un nombre descriptivo (por ejemplo,
Chronicle-Integration). - En el campo Host, ingresa la dirección IP del host del agente de Bindplane.
- En el campo Puerto, escribe
514. - En el menú desplegable Protocolo, selecciona TCP.
- En el menú desplegable Formato, selecciona Punto y coma (formato predeterminado con campos separados por punto y coma).
- Haz clic en el botón Probar para probar la conexión con el agente de BindPlane.
- Verifica que la prueba se haya realizado correctamente.
- Haz clic en el botón Guardar para guardar el destino de syslog.
Habilita las notificaciones de syslog por tipo de evento
- En la página Syslog, selecciona la fila de destino de syslog que acabas de crear.
- En el panel NOTIFICACIONES de la derecha, usa los controles deslizantes para habilitar o inhabilitar el destino por tipo de evento:
- Eventos del sistema: Habilita el envío de eventos de estado del sistema de FortiEDR.
- Eventos de seguridad: Habilita esta opción para enviar agregaciones de eventos de seguridad.
- Registro de auditoría: Habilita el envío de eventos de registro de auditoría.
- Para cada tipo de evento habilitado, haz clic en el botón que se encuentra a la derecha del tipo de evento.
- Selecciona las casillas de verificación de los campos que deseas incluir en los mensajes de syslog.
- Haz clic en Guardar.
Configura las notificaciones de la guía
Los mensajes de Syslog solo se envían para los eventos de seguridad que ocurren en dispositivos asignados a una política de Playbook con la opción Send Syslog Notification habilitada.
- Ve a Configuración de seguridad > Playbooks.
- Selecciona la política de la guía que se aplica a los dispositivos que deseas supervisar (por ejemplo, Default Playbook).
- En la sección Notificaciones, busca la fila Syslog.
- Para habilitar la opción Send Syslog Notification, selecciona las casillas de verificación de las clasificaciones de eventos que deseas enviar:
- Malicioso: Eventos de seguridad clasificados como maliciosos.
- Sospechosos: Eventos de seguridad clasificados como sospechosos.
- PUP: Programas potencialmente no deseados.
- Inconclusive: Eventos con clasificación no concluyente.
- Likely Safe: Eventos clasificados como probablemente seguros (opcional).
Haz clic en Guardar.
Opción 2: Recopila registros de Fortinet FortiEDR con GCS
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Una instancia de Google SecOps
- Un proyecto de GCP con la API de Cloud Storage habilitada
- Permisos para crear y administrar buckets de GCS
- Permisos para administrar políticas de IAM en buckets de GCS
- Permisos para crear servicios de Cloud Run, temas de Pub/Sub y trabajos de Cloud Scheduler
- Acceso con privilegios a la consola de administración de Fortinet FortiEDR
- FortiEDR versión 5.0 o posterior
Crea un bucket de Google Cloud Storage
- Ve a Google Cloud Console.
- Selecciona tu proyecto o crea uno nuevo.
- En el menú de navegación, ve a Cloud Storage > Buckets.
- Haz clic en Crear bucket.
Proporciona los siguientes detalles de configuración:
Configuración Valor Asigna un nombre a tu bucket Ingresa un nombre global único (por ejemplo, fortiedr-logs).Tipo de ubicación Elige según tus necesidades (región, birregional, multirregional) Ubicación Selecciona la ubicación (por ejemplo, us-central1).Clase de almacenamiento Estándar (recomendado para los registros a los que se accede con frecuencia) Control de acceso Uniforme (recomendado) Herramientas de protección Opcional: Habilita el control de versiones de objetos o la política de retención Haz clic en Crear.
Crea una cuenta de servicio para la Cloud Run Function
La Cloud Run Function necesita una cuenta de servicio con permisos para escribir en el bucket de GCS y ser invocada por Pub/Sub.
Crear cuenta de servicio
- En GCP Console, ve a IAM y administración > Cuentas de servicio.
- Haz clic en Crear cuenta de servicio.
- Proporciona los siguientes detalles de configuración:
- Nombre de la cuenta de servicio: Ingresa
fortiedr-syslog-collector-sa. - Descripción de la cuenta de servicio: Ingresa
Service account for Cloud Run function to collect FortiEDR syslog logs.
- Nombre de la cuenta de servicio: Ingresa
- Haz clic en Crear y continuar.
- En la sección Otorga a esta cuenta de servicio acceso al proyecto, agrega los siguientes roles:
- Haz clic en Selecciona un rol.
- Busca y selecciona Administrador de objetos de almacenamiento.
- Haz clic en + Agregar otra función.
- Busca y selecciona Invocador de Cloud Run.
- Haz clic en + Agregar otra función.
- Busca y selecciona Cloud Functions Invoker.
- Haz clic en Continuar.
- Haz clic en Listo.
Estos roles son necesarios para las siguientes acciones:
- Administrador de objetos de almacenamiento: Escribe registros en el bucket de GCS y administra archivos de estado
- Invocador de Cloud Run: Permite que Pub/Sub invoque la función
- Cloud Functions Invoker: Permite la invocación de funciones
Otorga permisos de IAM en el bucket de GCS
Otorga permisos de escritura a la cuenta de servicio en el bucket de GCS:
- Ve a Cloud Storage > Buckets.
- Haz clic en el nombre de tu bucket.
- Ve a la pestaña Permisos.
- Haz clic en Otorgar acceso.
- Proporciona los siguientes detalles de configuración:
- Agregar principales: Ingresa el correo electrónico de la cuenta de servicio (por ejemplo,
fortiedr-syslog-collector-sa@PROJECT_ID.iam.gserviceaccount.com). - Asignar roles: Selecciona Administrador de objetos de Storage.
- Agregar principales: Ingresa el correo electrónico de la cuenta de servicio (por ejemplo,
- Haz clic en Guardar.
Crear tema de Pub/Sub
Crea un tema de Pub/Sub en el que Cloud Scheduler publicará y al que se suscribirá la función de Cloud Run.
- En GCP Console, ve a Pub/Sub > Temas.
- Haz clic en Crear un tema.
- Proporciona los siguientes detalles de configuración:
- ID del tema: Ingresa
fortiedr-syslog-trigger. - Deja el resto de la configuración con sus valores predeterminados.
- ID del tema: Ingresa
- Haz clic en Crear.
Crea una función de Cloud Run para recibir registros del sistema
La función de Cloud Run recibirá mensajes de syslog de FortiEDR a través de HTTP y los escribirá en GCS.
- En GCP Console, ve a Cloud Run.
- Haz clic en Crear servicio.
- Selecciona Función (usa un editor intercalado para crear una función).
En la sección Configurar, proporciona los siguientes detalles de configuración:
Configuración Valor Nombre del servicio fortiedr-syslog-collectorRegión Selecciona la región que coincida con tu bucket de GCS (por ejemplo, us-central1).Tiempo de ejecución Selecciona Python 3.12 o una versión posterior. En la sección Activador (opcional), haz lo siguiente:
- Haz clic en + Agregar activador.
- Selecciona HTTPS.
- En Autenticación, selecciona Permitir invocaciones no autenticadas.
- Haz clic en Guardar.
Desplázate hasta Contenedores, redes y seguridad y expándelo.
Ve a la pestaña Seguridad:
- Cuenta de servicio: Selecciona la cuenta de servicio (
fortiedr-syslog-collector-sa).
- Cuenta de servicio: Selecciona la cuenta de servicio (
Ve a la pestaña Contenedores:
- Haz clic en Variables y secretos.
Haz clic en + Agregar variable para cada variable de entorno:
Nombre de la variable Valor de ejemplo Descripción GCS_BUCKETfortiedr-logsNombre del bucket de GCS GCS_PREFIXfortiedr-syslogPrefijo para los archivos de registro
En la sección Variables y Secrets, desplázate hasta Requests:
- Tiempo de espera de la solicitud: Ingresa
60segundos.
- Tiempo de espera de la solicitud: Ingresa
Ve a la pestaña Configuración:
- En la sección Recursos, haz lo siguiente:
- Memoria: Selecciona 256 MiB o más.
- CPU: Selecciona 1.
- En la sección Recursos, haz lo siguiente:
En la sección Ajuste de escala de revisión, haz lo siguiente:
- Cantidad mínima de instancias: Ingresa
0. - Cantidad máxima de instancias: Ingresa
10(o ajusta según la carga esperada).
- Cantidad mínima de instancias: Ingresa
Haz clic en Crear.
Espera a que se cree el servicio (de 1 a 2 minutos).
Después de crear el servicio, se abrirá automáticamente el editor de código intercalado.
Agregar el código de función
- Ingresa main en el campo Punto de entrada.
En el editor de código intercalado, crea dos archivos:
- Primer archivo: main.py:
import functions_framework from google.cloud import storage import json import os from datetime import datetime, timezone from flask import Request # Initialize Storage client storage_client = storage.Client() # Environment variables GCS_BUCKET = os.environ.get('GCS_BUCKET') GCS_PREFIX = os.environ.get('GCS_PREFIX', 'fortiedr-syslog') @functions_framework.http def main(request: Request): """ Cloud Run function to receive syslog messages from FortiEDR and write to GCS. Args: request: Flask Request object containing syslog message """ if not GCS_BUCKET: print('Error: Missing GCS_BUCKET environment variable') return ('Missing GCS_BUCKET environment variable', 500) try: # Get request body request_data = request.get_data(as_text=True) if not request_data: print('Warning: Empty request body') return ('Empty request body', 400) # Parse syslog messages (one per line) lines = request_data.strip().split('\n') if not lines: print('Warning: No syslog messages found') return ('No syslog messages found', 400) # Get GCS bucket bucket = storage_client.bucket(GCS_BUCKET) # Write to GCS as NDJSON now = datetime.now(timezone.utc) timestamp = now.strftime('%Y%m%d_%H%M%S_%f') object_key = f"{GCS_PREFIX}/logs_{timestamp}.ndjson" blob = bucket.blob(object_key) # Convert each line to JSON object with raw syslog message records = [] for line in lines: if line.strip(): records.append({'raw': line.strip(), 'timestamp': now.isoformat()}) ndjson = '\n'.join([json.dumps(record, ensure_ascii=False) for record in records]) + '\n' blob.upload_from_string(ndjson, content_type='application/x-ndjson') print(f"Wrote {len(records)} records to gs://{GCS_BUCKET}/{object_key}") return (f"Successfully processed {len(records)} records", 200) except Exception as e: print(f'Error processing syslog: {str(e)}') return (f'Error processing syslog: {str(e)}', 500)- Segundo archivo: requirements.txt:
functions-framework==3.* google-cloud-storage==2.* flask==3.*Haz clic en Implementar para guardar y, luego, implementar la función.
Espera a que se complete la implementación (de 2 a 3 minutos).
Después de la implementación, ve a la pestaña Activador y copia la URL del activador (por ejemplo,
https://fortiedr-syslog-collector-abc123-uc.a.run.app).
Configura el reenvío de syslog de Fortinet FortiEDR a Cloud Function
Configura el destino de Syslog
- Accede a la consola de FortiEDR Central Manager.
- Ve a Administración > Configuración de exportación > Syslog.
- Haz clic en el botón Define New Syslog.
- En el campo Nombre de Syslog, ingresa un nombre descriptivo (por ejemplo,
Chronicle-GCS-Integration). - En el campo Host, ingresa el nombre de host de la URL del activador de Cloud Function (por ejemplo,
fortiedr-syslog-collector-abc123-uc.a.run.app). - En el campo Puerto, escribe
443. - En el menú desplegable Protocolo, selecciona TCP.
- En el menú desplegable Formato, selecciona Punto y coma (formato predeterminado con campos separados por punto y coma).
- Haz clic en el botón Test para probar la conexión a la Cloud Function.
- Verifica que la prueba se haya realizado correctamente.
Haz clic en el botón Guardar para guardar el destino de syslog.
Habilita las notificaciones de syslog por tipo de evento
- En la página Syslog, selecciona la fila de destino de syslog que acabas de crear.
- En el panel NOTIFICACIONES de la derecha, usa los controles deslizantes para habilitar o inhabilitar el destino por tipo de evento:
- Eventos del sistema: Habilita el envío de eventos de estado del sistema de FortiEDR.
- Eventos de seguridad: Habilita esta opción para enviar agregaciones de eventos de seguridad.
- Registro de auditoría: Habilita el envío de eventos de registro de auditoría.
- Para cada tipo de evento habilitado, haz clic en el botón que se encuentra a la derecha del tipo de evento.
- Selecciona las casillas de verificación de los campos que deseas incluir en los mensajes de syslog.
- Haz clic en Guardar.
Configura las notificaciones de la guía
Los mensajes de Syslog solo se envían para los eventos de seguridad que ocurren en dispositivos asignados a una política de Playbook con la opción Send Syslog Notification habilitada.
- Ve a Configuración de seguridad > Playbooks.
- Selecciona la política de la guía que se aplica a los dispositivos que deseas supervisar (por ejemplo, Default Playbook).
- En la sección Notificaciones, busca la fila Syslog.
- Para habilitar la opción Send Syslog Notification, selecciona las casillas de verificación de las clasificaciones de eventos que deseas enviar:
- Malicioso: Eventos de seguridad clasificados como maliciosos.
- Sospechosos: Eventos de seguridad clasificados como sospechosos.
- PUP: Programas potencialmente no deseados.
- Inconclusive: Eventos con clasificación no concluyente.
- Likely Safe: Eventos clasificados como probablemente seguros (opcional).
Haz clic en Guardar.
Prueba la integración
- En la consola de FortiEDR Central Manager, ve a Administration > Export Settings > Syslog.
- Selecciona la fila de destino de syslog.
- Haz clic en el botón Probar para enviar un mensaje de prueba.
- En GCP Console, ve a Cloud Run > Servicios.
- Haz clic en el nombre de la función (
fortiedr-syslog-collector). - Haz clic en la pestaña Registros.
Verifica que la función se haya ejecutado correctamente. Busca lo siguiente:
Wrote X records to gs://fortiedr-logs/fortiedr-syslog/logs_YYYYMMDD_HHMMSS_MMMMMM.ndjson Successfully processed X recordsVe a Cloud Storage > Buckets.
Haz clic en el nombre de tu bucket.
Navega a la carpeta del prefijo (
fortiedr-syslog/).Verifica que se haya creado un archivo
.ndjsonnuevo con la marca de tiempo actual.
Si ves errores en los registros, haz lo siguiente:
- Cuerpo de la solicitud vacío: FortiEDR no envía datos a Cloud Function
- Falta la variable de entorno GCS_BUCKET: Verifica que las variables de entorno estén configuradas
- Permiso denegado: Verifica que la cuenta de servicio tenga el rol de administrador de objetos de almacenamiento en el bucket
Recupera la cuenta de servicio de Google SecOps
Las Operaciones de seguridad de Google usan una cuenta de servicio única para leer datos de tu bucket de GCS. Debes otorgar acceso a tu bucket a esta cuenta de servicio.
Configura un feed en Google SecOps para transferir registros de Fortinet FortiEDR
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar feed nuevo.
- Haz clic en Configura un feed único.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo,
FortiEDR Syslog Logs). - Selecciona Google Cloud Storage V2 como el Tipo de fuente.
Selecciona Fortinet FortiEDR como el Tipo de registro.
Haz clic en Obtener cuenta de servicio.
Se mostrará un correo electrónico único de la cuenta de servicio, por ejemplo:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comCopia esta dirección de correo electrónico. la usarás en el próximo paso.
Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
URL del bucket de almacenamiento: Ingresa el URI del bucket de GCS con la ruta de acceso del prefijo:
gs://fortiedr-logs/fortiedr-syslog/Reemplaza lo siguiente:
fortiedr-logs: Es el nombre de tu bucket de GCS.fortiedr-syslog: Es el prefijo o la ruta de carpeta opcionales en los que se almacenan los registros (déjalo vacío para la raíz).
Opción de borrado de la fuente: Selecciona la opción de borrado según tu preferencia:
- Nunca: Nunca borra ningún archivo después de las transferencias (se recomienda para las pruebas).
- Borrar archivos transferidos: Borra los archivos después de la transferencia exitosa.
- Borrar los archivos transferidos y los directorios vacíos: Borra los archivos y los directorios vacíos después de la transferencia exitosa.
Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días especificada. El valor predeterminado es de 180 días.
Espacio de nombres del recurso: Es el espacio de nombres del recurso.
Etiquetas de transmisión: Es la etiqueta que se aplicará a los eventos de este feed.
Haz clic en Siguiente.
Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Otorga permisos de IAM a la cuenta de servicio de Google SecOps
La cuenta de servicio de Google SecOps necesita el rol de visualizador de objetos de almacenamiento en tu bucket de GCS.
- Ve a Cloud Storage > Buckets.
- Haz clic en el nombre de tu bucket.
- Ve a la pestaña Permisos.
- Haz clic en Otorgar acceso.
- Proporciona los siguientes detalles de configuración:
- Agregar principales: Pega el correo electrónico de la cuenta de servicio de Google SecOps.
- Asignar roles: Selecciona Visualizador de objetos de Storage.
Haz clic en Guardar.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
| País | target.location.country_or_region | El valor se copia directamente si no es N/A o está vacío. |
| srccountry | principal.location.country_or_region | El valor se copia directamente si no está reservado o vacío. |
| dstcountry | target.location.country_or_region | El valor se copia directamente si no está vacío. |
| srcip | principal.ip | Valor copiado directamente |
| dstip | target.ip | El valor se copia directamente si no es N/A. |
| Destino | target.ip | Se extrajo como IP del destino si es válida |
| DST | target.ip | Se extrae como IP del destino si es válida |
| srcmac | principal.mac | Valor copiado directamente |
| dstosname | target.platform | Se establece en LINUX si coincide con LINUX, en WINDOWS si coincide con WINDOWS y en MAC si coincide con MAC. |
| srcport | principal.port | Se convirtió a número entero |
| dstport | target.port | Se convirtió a número entero |
| spt | principal.port | Se convirtió a número entero |
| dpt | target.port | Se convirtió a número entero |
| sessionid | network.session_id | Valor copiado directamente |
| sentbyte | network.sent_bytes | Se convirtió en un número entero sin signo |
| rcvdbyte | network.received_bytes | Se convirtió en un número entero sin signo |
| duración | network.session_duration.seconds | Se convirtió a número entero |
| acción | security_result.summary | Valor copiado directamente |
| level | security_result.severity_details | Se estableció en "level: %{level}". |
| policyid | security_result.rule_id | Valor copiado directamente |
| policyname | security_result.rule_name | Valor copiado directamente |
| policytype | security_result.rule_type | Valor copiado directamente |
| servicio | target.application | Valor copiado directamente |
| intermediary_ip | target.ip | El valor se copia directamente si message_type es Audit o loginStatus no está vacío. |
| intermediario | intermediario | Valor copiado directamente |
| devname | target.hostname | Valor copiado directamente |
| server_host | target.hostname | El valor se copia directamente si message_type es Audit o loginStatus no está vacío. |
| server_host | intermediary.hostname | El valor se copia directamente como etiqueta si no es Audit o loginStatus. |
| deviceInformation | target.resource.name, target.resource.resource_type | Se extrajo device_name y se estableció resource_type en DEVICE |
| component_name | additional.fields | Se establece como etiqueta con la clave "Nombre del componente". |
| process_name | principal.application | Valor copiado directamente |
| Ruta de procesamiento | target.file.full_path | Valor copiado directamente |
| asset_os | target.platform | Se establece en WINDOWS si coincide con Windows. LINUX si coincide con .Linux. |
| os_version | target.platform_version | Se extrajo de asset_os |
| asset_os | principal.platform | Se establece en WINDOWS si coincide con Windows. LINUX si coincide con .Linux. |
| os_version | principal.platform_version | Se extrajo de asset_os |
| usr_name | userid | Valor copiado directamente |
| Usuarios | userid | El valor se copia directamente si no es WG ni ADDC |
| id | userid | Valor copiado directamente |
| userid | target.user.userid | El valor se copia directamente si message_type es Audit o loginStatus no está vacío. |
| userid | principal.user.userid | El valor se copia directamente si no es Audit o loginStatus. |
| userDisplayName | target.user.user_display_name | El valor se copia directamente si message_type es Audit o loginStatus no está vacío. |
| userDisplayName | principal.user.user_display_name | El valor se copia directamente si no es Audit o loginStatus. |
| userPrincipalName | principal.user.userid | Valor copiado directamente |
| Descripción | metadata.description | El valor se copia directamente si no está vacío. |
| Detalles | metadata.description | El valor se copia directamente si no está vacío. |
| mfaResult | metadata.description | El valor se copia directamente si no está vacío. |
| datos7 | metadata.description | El valor se copia directamente si no está vacío. |
| message_type | metadata.description | El valor se copia directamente si description_details está vacío |
| src_ip, srcip | principal.ip | Valor de src_ip si no está vacío; de lo contrario, src, luego Source y, por último, ipAddress |
| src_ip | principal.ip | Se extrae como IP de src_ip si es válida. |
| mac_address | principal.mac | Se procesa como un array, se convierte a minúsculas y se combina si la dirección MAC es válida. |
| event_id | target.process.pid | El valor se copia directamente si message_type es Audit o loginStatus no está vacío. |
| event_id | metadata.product_log_id | El valor se copia directamente si no es Audit o loginStatus. |
| event_type | metadata.event_type | Valor copiado directamente |
| Gravedad | security_result.severity | Se establece en INFORMATIONAL si es Low o está vacío; en MEDIUM si es Medium; en HIGH si es High; en CRITICAL si es Critical. |
| Acción | security_result.action | Se establece en ALLOW si coincide con (?i)Allow; en BLOCK si coincide con (?i)Block; de lo contrario, se establece en action_details. |
| security_action | security_result.action | Valor copiado directamente |
| Regla | reglas | Valor copiado directamente |
| reglas | security_result.rule_name | Valor copiado directamente |
| Clasificación | security_result.summary | Valor copiado directamente |
| Visto por primera vez | security_result.detection_fields | Establecer como etiqueta con la clave "First Seen" |
| Visto por última vez | security_result.detection_fields | Establecer como etiqueta con la clave "Last Seen" |
| Organización | target.administrative_domain | El valor se copia directamente si message_type es Audit o loginStatus no está vacío. |
| Organización | additional.fields | Se establece como etiqueta con la clave "Organización" si no es Audit o loginStatus. |
| security_result | security_result | Se combinó desde sec_result |
| metadata.vendor_name | Se estableció en "FORTINET". | |
| metadata.product_name | Se establece en "FORTINET_FORTIEDR". |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.