Recopila registros de Cisco eStreamer
Versión del analizador: 5.0
En este documento, se explica cómo puedes transferir registros de Cisco eStreamer a Google Security Operations con Bindplane.
El analizador extrae campos de los registros con formato syslog de Cisco eStreamer con pares clave-valor. Utiliza grok o kv para analizar el mensaje de registro y, luego, asigna estos valores al Modelo de datos unificados (UDM). También establece valores de metadatos predeterminados para la fuente y el tipo de evento.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Es una instancia de Google SecOps.
- Windows Server 2016 o versiones posteriores, o host de Linux con
systemd. - 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 al Cisco Firepower Management Center (FMC)
- Un sistema Linux para ejecutar el cliente de la CLI de eNcore
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.
- 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
- 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" /quiet
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.sh
Recursos de instalación adicionales
Para obtener más opciones de instalación, consulta esta guía de instalación.
Configura el agente de Bindplane para transferir Syslog y enviarlo a Google SecOps
Accede al archivo de configuración:
- Ubica el archivo
config.yaml. Por lo general, se encuentra en el directorio/observiq-otel-collector/en Linux o en el directorio "C:\Archivos de programa\observIQ OpenTelemetry Collector" en Windows. - Abre el archivo con un editor de texto (por ejemplo,
nano,vio Bloc de notas).
- Ubica 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:5514" 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: YOUR_CUSTOMER_ID endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'CISCO_ESTREAMER' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.
- Reemplaza
YOUR_CUSTOMER_IDpor el ID de cliente real. - Actualiza
/path/to/ingestion-authentication-file.jsona la ruta de acceso al archivo en la que se guardó el archivo de autenticación en el paso 1.
Reinicia el agente de Bindplane para aplicar los cambios
Para reiniciar el agente de Bindplane en Linux, haz lo siguiente:
Ejecuta el comando siguiente:
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
Para reiniciar el agente de Bindplane en Windows, haz lo siguiente:
Elige una de las siguientes opciones:
- Símbolo del sistema o PowerShell como administrador:
net stop observiq-otel-collector && net start observiq-otel-collector- Consola de Services:
- Presiona
Win+R, escribeservices.mscy presiona Intro. - Busca observIQ OpenTelemetry Collector.
- Haz clic con el botón derecho y selecciona Reiniciar.
- Presiona
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"
Configura el reenvío de Syslog en Cisco eStreamer
Configura eStreamer en Firepower Management Center
- Accede a Firepower Management Center.
- Ve a Sistema > Integración > eStreamer.
- Haz clic en eStreamer para acceder a la configuración de eventos de eStreamer.
- Selecciona las casillas de verificación junto a los tipos de eventos que deseas registrar:
- Intrusion Events: Para eventos de detección de intrusiones
- Intrusion Event Packet Data: Para capturas de paquetes asociadas con eventos de intrusión
- Eventos de conexión: Para datos de conexión de red
- Eventos de inteligencia de seguridad: Para datos de inteligencia sobre amenazas
- Eventos de archivo: Para eventos de análisis de archivos
- Malware Events: Para eventos de detección de software malicioso
- Haz clic en Guardar.
Crea un cliente de eStreamer
- En la página eStreamer, haz clic en Create Client.
- Proporciona los siguientes detalles de configuración:
- Nombre de host: Ingresa la dirección IP del sistema Linux en el que se ejecutará el cliente de eNcore.
- Contraseña: Ingresa una contraseña para encriptar el archivo de certificado.
- Haz clic en Guardar.
- Descarga el archivo de certificado PKCS12 generado y transfiérelo a tu sistema cliente de eNcore.
Instala y configura el cliente de la CLI de eNcore
- En tu sistema Linux, descarga el cliente de la CLI de eStreamer eNcore de Cisco.
Extrae el paquete de eNcore:
tar -xzf eStreamer-eNcore-*.tar.gz cd eStreamer-eNcore-*Ejecuta la secuencia de comandos de configuración:
./encore.sh setupCuando se te solicite, elige el formato de salida para los pares clave-valor (compatible con los sistemas SIEM).
Ingresa la dirección IP del FMC y la contraseña del certificado PKCS12.
Configura el archivo
estreamer.confpara que genere mensajes de syslog en tu agente de BindPlane:- Abre el archivo
estreamer.confen un editor de texto. - Busca la sección de salida y configúrala para enviar syslog a tu agente de Bindplane:
{ "handler": { "outputters": [ { "name": "syslog", "adapter": "kvpair", "enabled": true, "stream": { "uri": "udp://BINDPLANE_AGENT_IP:5514" } } ] } }- Abre el archivo
Reemplaza
BINDPLANE_AGENT_IPpor la dirección IP de tu agente de Bindplane.
Cómo iniciar el cliente de eNcore
Prueba la conexión en modo de primer plano:
./encore.sh foregroundUna vez que se verifique, inicia eNcore como un servicio en segundo plano:
./encore.sh start
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
additional_deviceInboundInterface |
additional.fields |
Combinado |
additional_deviceOutboundInterface |
additional.fields |
Combinado |
additional_start |
additional.fields |
Combinado |
has_target |
extensions.auth.type |
Asignado: true → AUTHTYPE_UNSPECIFIED |
dvchost |
intermediary.asset.hostname |
Asignado directamente |
hostname |
intermediary.asset.hostname |
Asignado directamente |
dvchost |
intermediary.hostname |
Asignado directamente |
hostname |
intermediary.hostname |
Asignado directamente |
dvcpid |
intermediary.process.pid |
Asignado directamente |
ts |
metadata.event_timestamp |
Se analizó como MMM d HH:mm:ss |
has_principal |
metadata.event_type |
Valores asignados (5 en total, p. ej., true → NETWORK_HTTP, true → NETWORK_DNS, true → `NETW… |
has_target |
metadata.event_type |
Asignado: true → USER_UNCATEGORIZED |
product_event_type |
metadata.product_event_type |
Asignado directamente |
product_name |
metadata.product_name |
Asignado directamente |
version |
metadata.product_version |
Asignado directamente |
vendor_name |
metadata.vendor_name |
Asignado directamente |
app |
network.application_protocol |
Asignado directamente |
src |
network.dhcp.ciaddr |
Asignado directamente |
deviceDirection |
network.direction |
Asignado: 0 → INBOUND, 1 → OUTBOUND |
dns_question |
network.dns.questions |
Combinado |
requestClientApplication |
network.http.user_agent |
Asignado directamente |
ip_protocol_out |
network.ip_protocol |
Asignado directamente |
bytesIn |
network.received_bytes |
Asignado directamente |
bytesOut |
network.sent_bytes |
Asignado directamente |
deviceExternalId |
principal.asset.asset_id |
Asignado directamente |
src |
principal.asset.ip |
Combinado |
src |
principal.ip |
Combinado |
spt |
principal.port |
Asignado directamente |
security_result_action |
security_result.action |
Combinado |
act |
security_result.action_details |
Asignado directamente |
category |
security_result.category |
Combinado |
cat |
security_result.category_details |
Combinado |
cs5 |
security_result.description |
Asignado directamente |
blockLength_label |
security_result.detection_fields |
Combinado |
blockType_label |
security_result.detection_fields |
Combinado |
cs1_var |
security_result.detection_fields |
Combinado |
cs2_var |
security_result.detection_fields |
Combinado |
cs3_var |
security_result.detection_fields |
Combinado |
cs4_var |
security_result.detection_fields |
Combinado |
cs5_var |
security_result.detection_fields |
Combinado |
cs6_var |
security_result.detection_fields |
Combinado |
suser_var |
security_result.detection_fields |
Combinado |
cs6 |
security_result.rule_id |
Asignado directamente |
severity |
security_result.severity_details |
Asignado directamente |
outcome |
security_result.summary |
Asignado directamente |
destinationDnsDomain |
target.asset.hostname |
Asignado directamente |
dst |
target.asset.ip |
Combinado |
fname |
target.file.full_path |
Asignado directamente |
fileType |
target.file.mime_type |
Asignado directamente |
fileHash |
target.file.sha256 |
Asignado directamente |
fsize |
target.file.size |
Asignado directamente |
destinationDnsDomain |
target.hostname |
Asignado directamente |
host |
target.hostname |
Asignado directamente |
dst |
target.ip |
Combinado |
dpt |
target.port |
Asignado directamente |
request |
target.url |
Asignado directamente |
| N/A | extensions.auth.type |
Constante: AUTHTYPE_UNSPECIFIED |
| N/A | metadata.event_type |
Constante: NETWORK_HTTP |
| N/A | network.direction |
Constante: INBOUND |
BLOCK |
security_result.action |
Se asignó desde el registro de cambios |
SOFTWARE_PUA |
security_result.category |
Se asignó desde el registro de cambios |
NETWORK_COMMAND_AND_CONTROL |
security_result.category |
Se asignó desde el registro de cambios |
TOR_EXIT_NODE |
security_result.category |
Se asignó desde el registro de cambios |
PHISHING |
security_result.category |
Se asignó desde el registro de cambios |
NETWORK_MALICIOUS |
security_result.category |
Se asignó desde el registro de cambios |
request |
network.http.referral_url |
Se asignó desde el registro de cambios |
destinationDnsDomain |
network.dns.questions.name |
Se asignó desde el registro de cambios |
security_result.action |
BLOCK |
Se asignó desde el registro de cambios |
Registro de cambios
Consulta el registro de cambios de este analizador
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.