Recopila registros de BeyondTrust Remote Support

Versión del analizador: 33.0

Compatible con:

En este documento, se explica cómo transferir registros de BeyondTrust Remote Support (anteriormente, Bomgar) a Google Security Operations con Bindplane.

BeyondTrust Remote Support es una solución de acceso remoto que genera mensajes de syslog para la actividad de la sesión, los eventos de la cuenta, los eventos de acceso y los cambios de configuración. El analizador normaliza los 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 posterior, o host de Linux con systemd
  • Conectividad de red entre el agente de Bindplane y el dispositivo de asistencia remota de BeyondTrust
  • 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 de administrador a la asistencia remota de BeyondTrust

Obtén credenciales de Google SecOps para el agente de Bindplane

Para autenticar el agente de Bindplane en Google SecOps, elige uno de los siguientes métodos:

  • Implementaciones nuevas: Usa la API de Chronicle (opción 1).
  • Implementaciones heredadas: Sigue usando el archivo de autenticación de transferencia (opción 2) hasta que se descontinúe la API de Ingestion el 20 de julio de 2027.
  1. Accede a la consola deGoogle Cloud y selecciona el proyecto de Google Cloud que está vinculado a tu instancia de Google SecOps.
  2. Ve a IAM y administración > Cuentas de servicio.
  3. Haga clic en Crear cuenta de servicio.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre de la cuenta de servicio: Ingresa un nombre para la cuenta (por ejemplo, bindplane-ingest).
    • Descripción de la cuenta de servicio: Ingresa una descripción (por ejemplo, Bindplane agent log ingestion).
  5. Haz clic en Crear y continuar.
  6. En la sección Otorga a esta cuenta de servicio acceso al proyecto, haz clic en Seleccionar un rol y elige Editor de Chronicle.
  7. Haz clic en Continuar y, luego, en Listo.
  8. Haz clic en la cuenta de servicio que creaste y, luego, ve a la pestaña Claves.
  9. Haz clic en Agregar clave > Crear clave nueva.
  10. Selecciona JSON y haz clic en Crear. El archivo de claves se descargará en tu computadora.
  11. Guarda el archivo de claves como ingestion-auth.json en el directorio del recopilador de Bindplane (/opt/observiq-otel-collector/ingestion-auth.json en Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json en Windows) o actualiza creds_file_path en config.yaml para que coincida con la ruta de acceso en la que lo guardas.
  12. Ve a IAM y administración > Configuración y copia el número de proyecto. Lo necesitarás para la configuración del exportador.

Opción 2: Descarga el archivo de autenticación de transferencia (heredado)

  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 raíz 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 active (running).

Recursos de instalación adicionales

Para obtener más opciones de instalación y solución de problemas, consulta la guía de instalación del agente de Bindplane.

Configura el agente de BindPlane para transferir syslog y enviarlo a Google SecOps

Ubica el archivo de configuración

  • Linux:

    sudo nano /observiq-otel-collector/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:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/bomgar:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: BOMGAR
        raw_log_field: body
    
    service:
      pipelines:
        logs/bomgar_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/bomgar
    

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 claves JSON de la cuenta de servicio (opción 1):
      • Linux: /opt/observiq-otel-collector/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
    • location: Reemplaza <LOCATION> por la región de tu instancia de Google SecOps (por ejemplo, us, europe o asia-southeast1). El exportador antepone chronicle.googleapis.com con este valor. Consulta Extremos regionales para obtener la lista completa.
    • project: Reemplaza <PROJECT_NUMBER> por el número de proyecto de IAM y administración > Configuración.
    • endpoint: Mantén la configuración como chronicle.googleapis.com.

Exportador de la API de transferencia heredada

  • Si usas el archivo de autenticación de transferencia de la opción 2, reemplaza el bloque exporters por lo siguiente. Establece creds_file_path en la ruta de acceso al archivo de autenticación de transferencia y, si tu instancia está fuera de EE.UU., reemplaza malachiteingestion-pa.googleapis.com por tu extremo regional (por ejemplo, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/bomgar:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: BOMGAR
        raw_log_field: body
    

Cómo guardar 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:

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

      ```bash
      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 servicios:

      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 la exportación de syslog desde BeyondTrust Remote Support

  1. Accede a tu cuenta de BeyondTrust Remote Support.
  2. Ve a Seguridad > Administración de dispositivos.
  3. Ve a la sección Syslog y establece los siguientes valores:
    • Servidor Syslog remoto: Ingresa el nombre de host o la dirección IP del servidor host de Syslog (Bindplane). Puedes agregar hasta tres servidores syslog.
    • Formato del mensaje: Selecciona RFC 5424.
    • Puerto: Ingresa el puerto del servidor host de syslog (Bindplane).
  4. Haz clic en Enviar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
message about Asignado: CEF → about
deviceNtDomain about.administrative_domain Se cambió el nombre o se asignó
deviceExternalId about.asset.asset_id Asignada directamente
device_product about.asset.asset_id Asignada directamente
device_vendor about.asset.asset_id Asignada directamente
fileHash about.file.full_path Asignada directamente
filePath about.file.full_path Se cambió el nombre o se asignó
_hash about.file.sha256 Se cambió el nombre o se asignó
fileHash about.file.sha256 Se cambió el nombre o se asignó
fsize about.file.size Se cambió el nombre o se asignó
dvchost about.hostname Se cambió el nombre o se asignó
ips about.ip Combinado
message about.ip Asignado: CEF → ips
dvc_mac about.mac Asignado: slot → mac_address
dvcmac about.mac Combinado
mac_address about.mac Combinado
message about.mac Asignación: CEF → mac_address, CEF → dvcmac
deviceTranslatedAddress about.nat_ip Combinado
message about.nat_ip Asignado: CEF → deviceTranslatedAddress
Emne about.process.command_line Asignada directamente
Path about.process.command_line Asignada directamente
Subject about.process.command_line Asignada directamente
deviceProcessName about.process.command_line Se cambió el nombre o se asignó
dvcpid about.process.pid Se cambió el nombre o se asignó
message about.resource.attribute.permissions Asignado: CEF → permissions
permissions about.resource.attribute.permissions Combinado
additional_cfp1 additional.fields Combinado
additional_cfp2 additional.fields Combinado
additional_cfp3 additional.fields Combinado
additional_cfp4 additional.fields Combinado
additional_cn1 additional.fields Combinado
additional_cn2 additional.fields Combinado
additional_cn3 additional.fields Combinado
additional_cs1 additional.fields Combinado
additional_cs2 additional.fields Combinado
additional_cs3 additional.fields Combinado
additional_cs4 additional.fields Combinado
additional_cs5 additional.fields Combinado
additional_cs6 additional.fields Combinado
additional_cs7 additional.fields Combinado
additional_devicePayloadId additional.fields Combinado
additional_eventId additional.fields Combinado
additional_flexString1 additional.fields Combinado
additional_fname additional.fields Combinado
cs2 additional.fields Asignado: arc_test → additional_cs2
cs5_label additional.fields Combinado
message additional.fields Valores asignados (19 en total, p.ej., CEF → additional_eventId, CEF → `additional_devicePayloa...
_extensions extensions Se cambió el nombre o se asignó
_intermediary intermediary Combinado
message intermediary Asignado: CEF → _intermediary
_metadata metadata Se cambió el nombre o se asignó
meta_desc metadata.description Asignada directamente
msg metadata.description Se cambió el nombre o se asignó
Generated metadata.event_timestamp Se analizó como yyyy-MM-ddTHH:mm:ss
Received metadata.event_timestamp Analizado como yyyy-MM-ddTHH:mm:ss
datetime metadata.event_timestamp Analizado como RFC 3339
dtPostTime metadata.event_timestamp Se analizó como yyyy-dd-MM HH:mm:ss
rt metadata.event_timestamp Analizado como yyyy-MM-ddTHH:mm:ssZ
when metadata.event_timestamp Se analizó como UNIX
_event_type metadata.event_type Asignada directamente
event_name metadata.event_type Asignado: "LogSpyware","LogPredictiveMachineLearning" → SCAN_UNCATEGORIZED
message metadata.event_type Asignado: CEF → PROCESS_UNCATEGORIZED, CEF → SCAN_UNCATEGORIZED, CEF → `USER_RESOURC...
device_event_class_id metadata.product_event_type Asignada directamente
eventName metadata.product_event_type Asignada directamente
event_name metadata.product_event_type Asignada directamente
sEventID metadata.product_event_type Asignada directamente
externalId metadata.product_log_id Asignada directamente
when metadata.product_log_id Asignada directamente
device_product metadata.product_name Asignada directamente
message metadata.product_name Asignado: CEF → BeyondTrust Remote Support
device_version metadata.product_version Asignada directamente
device_vendor metadata.vendor_name Se cambió el nombre o se asignó
message metadata.vendor_name Asignado: CEF → BeyondTrust Bomgar
app_protocol_output network.application_protocol Asignada directamente
deviceDirection network.direction Asignación: 0 → INBOUND, 1 → OUTBOUND
message network.direction Asignado: CEF → INBOUND, CEF → OUTBOUND
requestMethod network.http.method Se cambió el nombre o se asignó
requestClientApplication network.http.user_agent Se cambió el nombre o se asignó
ip_protocol_out network.ip_protocol Asignada directamente
in network.received_bytes Se cambió el nombre o se asignó
out network.sent_bytes Se cambió el nombre o se asignó
_principal principal Se cambió el nombre o se asignó
sntdom principal.administrative_domain Se cambió el nombre o se asignó
sourceServiceName principal.application Se cambió el nombre o se asignó
Group_name principal.group.group_display_name Asignada directamente
Gruppenavn principal.group.group_display_name Asignada directamente
Device_name principal.hostname Asignada directamente
Enhetsnavn principal.hostname Asignada directamente
shost principal.hostname Se cambió el nombre o se asignó
message principal.ip Asignación: CEF → principal_ip, CEF → shost
principal_ip principal.ip Combinado
shost principal.ip Combinado
mac principal.mac Combinado
message principal.mac Asignado: CEF → mac
message principal.nat_ip Asignado: CEF → sourceTranslatedAddress
sourceTranslatedAddress principal.nat_ip Combinado
sourceTranslatedPort principal.nat_port Se cambió el nombre o se asignó
spt principal.port Se cambió el nombre o se asignó
sproc principal.process.command_line Se cambió el nombre o se asignó
spid principal.process.pid Se cambió el nombre o se asignó
message principal.user.attribute.roles Asignado: CEF → principal_role
principal_role principal.user.attribute.roles Combinado
suser principal.user.user_display_name Asignada directamente
suid principal.user.userid Se cambió el nombre o se asignó
_security_result security_result Combinado
message security_result Asignación: CEF → security_result, CEF → _security_result
_action security_result.action Combinado
act security_result.action Asignado: accept → _action, deny → _action
message security_result.action Asignado: CEF → _action
Action_Taken security_result.action_details Asignada directamente
act security_result.action_details Asignada directamente
cat security_result.category_details Combinado
message security_result.category_details Asignado: CEF → cat
Scan_Type security_result.description Asignada directamente
Type security_result.description Asignada directamente
msg_data_2 security_result.description Asignada directamente
infection_channel_label security_result.detection_fields Combinado
message security_result.detection_fields Valores asignados (7 en total, p. ej., CEF → operation_label, CEF → operasjon_label, CEF → "…
operasjon_label security_result.detection_fields Combinado
operation_label security_result.detection_fields Combinado
permission_label security_result.detection_fields Combinado
spyware_Grayware_Type_label security_result.detection_fields Combinado
threat_probability_label security_result.detection_fields Combinado
tillatelse_label security_result.detection_fields Combinado
mwProfile security_result.rule_name Asignada directamente
message security_result.severity Asignado: CEF → LOW, CEF → MEDIUM, CEF → HIGH, CEF → CRITICAL
severity security_result.severity Asignado: "0", "1", "2", "3", "LOW" → LOW, "4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"…
Result security_result.summary Asignada directamente
appcategory security_result.summary Asignada directamente
reason security_result.summary Se cambió el nombre o se asignó
Spyware security_result.threat_name Asignada directamente
Unknown_Threat security_result.threat_name Asignada directamente
Virus_Malware_Name security_result.threat_name Asignada directamente
oldFilePath src.file.full_path Se cambió el nombre o se asignó
oldFileSize src.file.size Se cambió el nombre o se asignó
message src.resource.attribute.permissions Asignado: CEF → old_permissions
old_permissions src.resource.attribute.permissions Combinado
_target target Se cambió el nombre o se asignó
dntdom target.administrative_domain Se cambió el nombre o se asignó
destinationServiceName target.application Se cambió el nombre o se asignó
temp_dhost target.hostname Asignada directamente
IPv6_Address target.ip Combinado
dst_ip target.ip Combinado
ipv6 target.ip Asignado: - → IPv6_Address
message target.ip Asignación: CEF → dst_ip, CEF → IPv6_Address
mac_address target.mac Combinado
message target.mac Asignado: CEF → mac_address
destination_translated_address target.nat_ip Combinado
message target.nat_ip Asignado: CEF → destination_translated_address
destinationTranslatedPort target.nat_port Se cambió el nombre o se asignó
dpt target.port Se cambió el nombre o se asignó
dproc target.process.command_line Se cambió el nombre o se asignó
File_name target.process.file.full_path Asignada directamente
Infected_Resource target.process.file.full_path Asignada directamente
Object target.process.file.full_path Asignada directamente
Objekt target.process.file.full_path Asignada directamente
dpid target.process.pid Se cambió el nombre o se asignó
message target.resource.attribute.labels Asignado: CEF → resource_Type_label
resource_Type_label target.resource.attribute.labels Combinado
request target.url Asignada directamente
message target.user.attribute.roles Asignado: CEF → target_role
target_role target.user.attribute.roles Combinado
CustomerName target.user.user_display_name Asignada directamente
temp_duser target.user.user_display_name Asignada directamente
Bruker target.user.userid Asignada directamente
User_value target.user.userid Asignada directamente
temp_duid target.user.userid Asignada directamente
N/A metadata.event_type Constante: PROCESS_UNCATEGORIZED
N/A metadata.product_name Constante: BeyondTrust Remote Support
N/A metadata.vendor_name Constante: BeyondTrust Bomgar
N/A network.direction Constante: INBOUND
N/A security_result.severity Constante: LOW
exc event.idm.read_only_udm.principal.process.pid Asignado desde el registro de cambios
loggerHost event.idm.read_only_udm.principal.asset.hostname Asignado desde el registro de cambios
loggerHost event.idm.read_only_udm.intermediary.hostname y event.idm.read_only_udm.intermediary.asset.hostname Asignado desde el registro de cambios
product event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
sequenceId event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
site_id event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
segment event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
total_segment event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
who event.idm.read_only_udm.principal.user.userid Asignado 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.