Recopila registros de Cisco Stealthwatch

Compatible con:

En este documento, se explica cómo recopilar registros de Cisco Secure Network Analytics (anteriormente, Stealthwatch) en Google Security Operations con Bindplane. El analizador controla dos formatos de registros de Cisco Stealthwatch: uno con información de IP y paquetes de cliente/servidor, y otro con ID de dispositivo y recuentos de bytes. Extrae campos, los convierte a los tipos de datos adecuados, los asigna al UDM y establece campos de metadatos, como el proveedor, el producto y el tipo de evento, según el contenido y el formato del registro.

Antes de comenzar

  • Asegúrate de tener una instancia de Google Security Operations.
  • 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 Cisco Stealthwatch.

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: CISCO_STEALTHWATCH
                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
    

Configura Syslog de Cisco Secure Network Analytics (anteriormente, Stealthwatch)

  1. Accede a la IU web de la Consola de administración.
  2. Ve a Configuración > Administración de respuestas.
  3. Formato de edición de Syslog:

    • Nombre: Ingresa un nombre para el formato de syslog.
    • Descripción: Proporciona una descripción para el formato.
    • Instalación: Se configura como Local 0
    • Gravedad: Se establece en Informational.
    • En el campo Mensaje, pega el siguiente formato:
    Lancope|StealthWatch|time|{time}|target_hostname|{target_hostname}|alarm_severity_id|{alarm_severity_id}|alarm_type_id|{alarm_type_id}|alarm_type_description|{alarm_type_description}|port|{port}|target_ip|{target_ip}|target_mac_address|{target_mac_address}|target_label|{target_label}|alarm_type_name|{alarm_type_name}|source_hostname|{source_hostname}|source_ip|{source_ip}|source_mac_address|{source_mac_address}|source_username|{source_username}|device_ip|{device_ip}|device_name|{device_name}|details|{details}|protocol|{protocol}|alarm_id|{alarm_id}|alarm_category_name|{alarm_category_name}|start_active_time|{start_active_time}| end_active_time|{end_active_time}
    
  4. Haz clic en Aceptar.

  5. Ve a Administración de respuestas > Acciones > Agregar mensaje de Syslog.

  6. Configura el reenviador de Syslog:

    • Nombre: Ingresa el nombre del reenvío de Google SecOps Bindplane.
    • Descripción: Ingresa la descripción del reenvío de Google SecOps Bindplane.
    • Dirección IP: Ingresa la dirección IP del agente de BindPlane.
    • Puerto: Ingresa el número de puerto del agente de Bindplane, por ejemplo, 514.
    • Formato: Selecciona el formato que creaste en el paso 3.
  7. Haz clic en Aceptar.

Configura nombres de reglas para Cisco Secure Network Analytics (anteriormente, Stealthwatch)

  1. Ve a Configuración > Administración de respuestas.
  2. Selecciona Reglas > Agregar > Alarmas del sistema SMC.
  3. Haz clic en Aceptar.
  4. En el diálogo Tipos de reglas, selecciona una regla.
  5. Haz clic en Aceptar.
  6. En el cuadro de diálogo Regla, haz lo siguiente:
    • Nombre: Ingresa un nombre para la regla.
    • Esta regla se activa si: Selecciona Cualquier, Gravedad y Informativo en las listas respectivas.
  7. Haz clic en Aceptar.
  8. Selecciona Acciones > Agregar.
  9. Selecciona la acción que creaste anteriormente.
  10. Haz clic en Aceptar y, luego, en Aceptar.
  11. Repite los pasos anteriores para cambiar el nombre de las siguientes tres opciones en la sección Rule:
    • Mecanismo de recopilación de registros admitido: Syslog
    • Mecanismo de recopilación de registros preferido: Syslog
    • Diagrama lógico del flujo de eventos: servidor Syslog remoto de SMC

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Alarm_ID additional.fields[?key=='Alarm_ID'].value.string_value El valor de Alarm_ID del registro sin procesar se coloca dentro de una estructura additional.fields anidada bajo la clave Alarm_ID.
ClientBytes network.sent_bytes El valor de ClientBytes del registro sin procesar se convierte en un número entero sin signo y se asigna.
ClientIP principal.ip Se asigna ClientIP del registro sin procesar.
ClientPort principal.port ClientPort del registro sin procesar se convierte en un número entero y se asigna.
CPayload Sin asignar Este campo no se usa en el UDM final.
DestIPv4Address target.ip Se asigna DestIPv4Address del registro sin procesar.
DestPort target.port DestPort del registro sin procesar se convierte en un número entero y se asigna.
details security_result.summary Se asigna el valor de details del registro sin procesar, con las comillas dobles quitadas.
FC intermediary.ip Se asigna FC del registro sin procesar.
host.country principal.location.country_or_region Se asigna host.country del registro sin procesar.
host.hostGroupNames about.group.group_display_name A cada elemento del array host.hostGroupNames del registro sin procesar se le antepone host: y se asigna como un objeto about independiente.
host.ipAddress principal.ip Se asigna host.ipAddress del registro sin procesar.
hostBytes network.sent_bytes El valor de hostBytes del registro sin procesar se convierte en un número entero sin signo y se asigna.
InPackets additional.fields[?key=='InPackets'].value.string_value El valor de InPackets del registro sin procesar se coloca dentro de una estructura additional.fields anidada bajo la clave InPackets.
inputSNMPIface additional.fields[?key=='inputSNMPIface'].value.string_value El valor de inputSNMPIface del registro sin procesar se coloca dentro de una estructura additional.fields anidada bajo la clave inputSNMPIface.
LastTime Sin asignar En algunos casos, este campo se analiza para obtener la marca de tiempo del evento, pero no se asigna directamente al UDM.
MessageSourceAddress principal.ip Se asigna MessageSourceAddress del registro sin procesar.
method network.http.method Se asigna method del registro sin procesar.
outputSNMPIface additional.fields[?key=='outputSNMPIface'].value.string_value El valor de outputSNMPIface del registro sin procesar se coloca dentro de una estructura additional.fields anidada bajo la clave outputSNMPIface.
PAAppID Sin asignar Este campo no se usa en el UDM final.
peer.country target.location.country_or_region Se asigna peer.country del registro sin procesar.
peer.hostGroupNames about.group.group_display_name A cada elemento del array peer.hostGroupNames del registro sin procesar se le antepone peer: y se asigna como un objeto about independiente.
peer.ipAddress target.ip Se asigna peer.ipAddress del registro sin procesar.
peerBytes network.received_bytes El valor de peerBytes del registro sin procesar se convierte en un número entero sin signo y se asigna.
peerPackets Sin asignar Este campo no se usa en el UDM final.
Protocol Sin asignar Este campo se analiza para determinar el network.ip_protocol, pero no se asigna directamente.
ProtocolIdentifier Sin asignar Este campo se usa para derivar network.ip_protocol, pero no se asigna directamente.
reportName metadata.product_event_type Se asigna reportName del registro sin procesar.
ServerBytes network.received_bytes El valor de ServerBytes del registro sin procesar se convierte en un número entero sin signo y se asigna.
ServerIP target.ip Se asigna ServerIP del registro sin procesar.
ServerPort target.port ServerPort del registro sin procesar se convierte en un número entero y se asigna.
Service Sin asignar Este campo no se usa en el UDM final.
sid target.user.windows_sid Se asigna sid del registro sin procesar.
SourceModuleName target.resource.name Se asigna SourceModuleName del registro sin procesar.
SourceModuleType observer.application Se asigna SourceModuleType del registro sin procesar.
SourcePort principal.port SourcePort del registro sin procesar se convierte en un número entero y se asigna.
sourceIPv4Address principal.ip Se asigna sourceIPv4Address del registro sin procesar.
SPayload Sin asignar Este campo no se usa en el UDM final.
src_ip principal.ip Se asigna src_ip del registro sin procesar.
StartTime Sin asignar En algunos casos, este campo se analiza para obtener la marca de tiempo del evento, pero no se asigna directamente al UDM.
time Sin asignar En algunos casos, este campo se analiza para obtener la marca de tiempo del evento, pero no se asigna directamente al UDM.
timestamp Sin asignar Este campo se analiza para obtener la marca de tiempo del evento, pero no se asigna directamente al UDM.
UserName principal.user.user_display_name Se asigna UserName del registro sin procesar.
Version metadata.product_version Version del registro sin procesar se convierte en una cadena y se asigna.
N/A metadata.event_timestamp La marca de tiempo del evento se deriva de varios campos (LastTime, time, timestamp, StartTime) según el formato de registro o del campo create_time si no hay otra marca de tiempo disponible.
N/A metadata.log_type Siempre se establece en CISCO_STEALTHWATCH.
N/A metadata.vendor_name Siempre se establece en Cisco.
N/A metadata.event_type Se determina según la lógica del analizador basada en el contenido del registro. Puede ser NETWORK_CONNECTION, USER_STATS, USER_UNCATEGORIZED, FILE_OPEN, FILE_DELETION o FILE_UNCATEGORIZED.
N/A network.ip_protocol Se determina según la lógica del analizador en función de los campos Protocol o ProtocolIdentifier. Puede ser TCP, UDP, o ICMP.
action security_result.action_details Se asigna el valor de action del registro sin procesar.
action security_result.action Se deriva del campo action. Si action es SUCCESS, este campo se establece en ALLOW; de lo contrario, se establece en BLOCK.
category security_result.category_details Se asigna el valor de category del registro sin procesar.
description security_result.description Si tanto description como file_type están presentes en el registro sin procesar, se concatenan y se asignan.
desc metadata.description Se asigna el valor de desc del registro sin procesar, con las comillas dobles quitadas.
failuer_reason security_result.summary Si tanto failuer_reason como file_type están presentes en el registro sin procesar, se concatenan y se asignan.
file_path target.file.full_path Se asigna file_path del registro sin procesar.
file_type target.file.mime_type Se asigna file_type del registro sin procesar.
hostname principal.hostname Se asigna hostname del registro sin procesar.
ip principal.ip Se asigna ip del registro sin procesar.
ipf intermediary.ip Se asigna ipf del registro sin procesar.
ipt target.ip Se asigna ipt del registro sin procesar.
process_id target.process.pid Se asigna process_id del registro sin procesar.
protocol network.application_protocol Se asigna protocol del registro sin procesar.
security_res.severity security_result.severity Si severity es Minor, este campo se establece en INFORMATIONAL; si severity es Major, se establece en ERROR.
session_id network.session_id Se asigna session_id del registro sin procesar.
severity Sin asignar Este campo se usa para derivar security_result.severity, pero no se asigna directamente.
Source_HG principal.location.country_or_region Se asigna Source_HG del registro sin procesar.
Source_HostSnapshot principal.url Se asigna Source_HostSnapshot del registro sin procesar.
Target_HostSnapshot target.url Se asigna Target_HostSnapshot del registro sin procesar.
user_name principal.user.userid Se asigna user_name del registro sin procesar.

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