Recopila registros de Cyolo OT

Compatible con:

En este documento, se explica cómo transferir registros de Cyolo Secure Remote Access for OT a Google Security Operations con el agente de Bindplane.

Cyolo proporciona acceso remoto seguro para entornos de tecnología operativa (OT). La plataforma genera mensajes de syslog para los eventos de acceso, la autenticación y las actividades de sesión. El analizador extrae campos y los asigna al modelo de datos unificado (UDM).

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una 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 la plataforma de Cyolo
  • 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 del administrador de Cyolo

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

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia.
  4. 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

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. 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

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el comando siguiente:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Espera a que se complete la instalación.

  4. Ejecuta el siguiente comando para verificar la instalación:

    sc query observiq-otel-collector
    

    El servicio debe mostrarse como RUNNING.

Instalación en Linux

  1. Abre una terminal con privilegios de administrador o sudo.
  2. Ejecuta el comando siguiente:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Espera a que se complete la instalación.

  4. Ejecuta 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 registros de Syslog y enviarlos 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 por la siguiente configuración:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/cyolo_ot:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: CYOLO_OT
            raw_log_field: body
    
    service:
        pipelines:
            logs/cyolo_ot_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/cyolo_ot
    

Parámetros de configuración

Reemplaza los marcadores de posición que se indican más abajo:

  • Configuración del receptor:

    • listen_address: Dirección IP y puerto para escuchar:
      • 0.0.0.0 para escuchar en todas las interfaces (recomendado)
      • El puerto 514 es el puerto estándar de syslog (requiere acceso raíz en Linux; usa 1514 para acceso no raíz).
  • 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
    • customer_id: ID de cliente copiado de la consola de Google SecOps
    • endpoint: URL del extremo regional:
      • EE.UU.: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Consulta Extremos regionales para obtener la lista completa.

Guarda el archivo de configuración

  • Después de editarlo, guarda el archivo:
    • Linux: Presiona Ctrl+O, luego Enter y, por último, Ctrl+X.
    • Windows: Haz clic en Archivo > Guardar

Reinicia el agente de Bindplane para aplicar los cambios

  • Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart observiq-otel-collector
    
    1. Verifica que el servicio esté en ejecución:

      sudo systemctl status observiq-otel-collector
      
    2. Revisa los registros en busca de errores:

      sudo journalctl -u observiq-otel-collector -f
      
  • Para reiniciar el agente de Bindplane en Windows, 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:

      1. Presiona Win+R, escribe services.msc y presiona Intro.
      2. Busca observIQ OpenTelemetry Collector.
      3. Haz clic con el botón derecho y selecciona Reiniciar.
      4. Verifica que el servicio esté en ejecución:

        sc query observiq-otel-collector
        
      5. Revisa los registros en busca de errores:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configura syslog en Cyolo

  1. Accede a la Consola del administrador de Cyolo.
  2. Ve a Monitoring > Settings.
  3. Activa Exportar registros al protocolo de registro del sistema (Syslog).
  4. Ve a Integrations > Syslog Server.
  5. Proporciona los siguientes detalles de configuración:
    • Nombre del servidor: Ingresa un nombre significativo para este servidor (por ejemplo, Google SecOps Bindplane).
    • Sitios: Selecciona un solo sitio o varios sitios en el menú desplegable.
    • Dirección IP: Ingresa la dirección IP del agente de Bindplane.
    • Puerto: Ingresa el número de puerto del agente de Bindplane para la conexión UDP.
  6. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
_field additional.fields Combinado
authority_id_label additional.fields Combinado
authority_kind_label additional.fields Combinado
authority_name_label additional.fields Combinado
data_field additional.fields Combinado
duration_label additional.fields Combinado
kind_label additional.fields Combinado
log_level_label additional.fields Combinado
object_id_label additional.fields Combinado
object_kind_label additional.fields Combinado
object_name_label additional.fields Combinado
rules_label additional.fields Combinado
site_id_label additional.fields Combinado
subject_id_label additional.fields Combinado
subject_kind_label additional.fields Combinado
message extensions.auth.type Asignado: user disconnectedMACHINE
syslog_object_name extensions.auth.type Asignado: loginMACHINE
inter_host intermediary.asset.hostname Asignado directamente
inter_host intermediary.hostname Asignado directamente
message metadata.description Asignado directamente
msg metadata.description Asignado directamente
syslog_message metadata.description Asignado directamente
syslog_timestamp metadata.event_timestamp Se analizó como ISO8601
time metadata.event_timestamp Se analizó como MMM d HH:mm:ss
timestamp metadata.event_timestamp Se analizó como ISO8601
event_type metadata.event_type Asignado directamente
kind metadata.product_event_type Asignado directamente
prod_type metadata.product_event_type Asignado directamente
id metadata.product_log_id Asignado directamente
syslog_event_id metadata.product_log_id Asignado directamente
product_version metadata.product_version Asignado directamente
message network.application_protocol Asignado: rdpRDP
client network.http.parsed_user_agent Asignado directamente
cyolouagent network.http.parsed_user_agent Asignado directamente
client network.http.user_agent Asignado directamente
cyolouagent network.http.user_agent Asignado directamente
syslog_client network.http.user_agent Asignado directamente
cyolosessionid network.session_id Asignado directamente
session_id network.session_id Asignado directamente
hostname observer.hostname Asignado directamente
container_id_label observer.resource.attribute.labels Combinado
internal_event_id_label observer.resource.attribute.labels Combinado
log_source_label observer.resource.attribute.labels Combinado
site_id_label observer.resource.attribute.labels Combinado
site_name_label observer.resource.attribute.labels Combinado
transaction_id_label observer.resource.attribute.labels Combinado
node_id observer.resource.product_object_id Asignado directamente
syslog_hostname principal.asset.hostname Asignado directamente
remote_address principal.asset.ip Combinado
syslog_remote_address principal.asset.ip Combinado
syslog_hostname principal.hostname Asignado directamente
remote_address principal.ip Combinado
syslog_remote_address principal.ip Combinado
country_code principal.location.country_or_region Asignado directamente
cyolocountrycode principal.location.country_or_region Asignado directamente
syslog_country_code principal.location.country_or_region Asignado directamente
node_id_label principal.resource.attribute.labels Combinado
site_name_label principal.resource.attribute.labels Combinado
transaction_id_label principal.resource.attribute.labels Combinado
cyolosubjectkind principal.resource.resource_subtype Asignado directamente
credentials_id_label principal.user.attribute.labels Combinado
credentials_name_label principal.user.attribute.labels Combinado
credentials_origin_label principal.user.attribute.labels Combinado
cyolosubjectid principal.user.product_object_id Asignado directamente
subject_id principal.user.product_object_id Asignado directamente
syslog_session_id principal.user.product_object_id Asignado directamente
cyolosubjectname principal.user.userid Asignado directamente
subject_name principal.user.userid Asignado directamente
syslog_id principal.user.userid Asignado directamente
action security_result.action Combinado
result security_result.action Asignado: failuresr_action, successsr_action
sr_action security_result.action Combinado
syslog_result security_result.action_details Asignado directamente
_field security_result.detection_fields Combinado
field security_result.detection_fields Combinado
key security_result.detection_fields Asignado: "cyoloauthkind", "cyolokind","cyoloresult"_field
result security_result.outcome Asignado: failureFAIL, successPASS
authority_id security_result.rule_id Asignado directamente
cyoloauthid security_result.rule_id Asignado directamente
authority_name security_result.rule_name Asignado directamente
cyoloauthname security_result.rule_name Asignado directamente
severity security_result.severity Asignado: 1LOW
cyoloobjname target.application Asignado directamente
object_name target.application Asignado directamente
asset_id target.asset.asset_id Asignado directamente
destination_host target.asset.hostname Asignado directamente
dst target.asset.ip Combinado
asset_name target.asset.product_object_id Asignado directamente
destination_host target.hostname Asignado directamente
dst target.ip Combinado
destination_port target.port Asignado directamente
_field target.resource.attribute.labels Combinado
key target.resource.attribute.labels Asignado: cyolodstid_field
cyoloobjid target.resource.product_object_id Asignado directamente
object_id target.resource.product_object_id Asignado directamente
cyoloobjkind target.resource.resource_subtype Asignado directamente
syslog_subject_name target.user.userid Asignado directamente
N/A extensions.auth.type Constante: MACHINE
N/A metadata.product_name Constante: CYOLO_OT
N/A metadata.vendor_name Constante: CYOLO_OT
N/A network.application_protocol Constante: RDP
N/A network.http.parsed_user_agent Constante: parseduseragent
N/A security_result.outcome Constante: FAIL
N/A security_result.severity Constante: LOW

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