Recopila registros de la asistencia remota de BeyondTrust

Compatible con:

Este analizador controla los mensajes de syslog de la asistencia remota de BeyondTrust y los transforma en formato UDM. Procesa registros con formato CEF y no CEF, extrae campos, realiza transformaciones de datos y los asigna a los campos de UDM adecuados, incluidos los detalles de los resultados principales, de destino y de seguridad.

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 se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.

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.

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

  1. Para la instalación de Windows, ejecuta la siguiente secuencia de comandos:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Para la instalación de Linux, ejecuta la siguiente secuencia de comandos:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Puedes encontrar opciones de instalación adicionales en esta guía de instalación.

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

  1. Accede a la máquina en la que está instalado BindPlane.
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: BeyondTrust_Remote_Support
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reinicia el agente de BindPlane para aplicar los cambios:

    sudo systemctl restart bindplane
    

Configura la exportación de Syslog desde la asistencia remota de BeyondTrust

  1. Accede a la asistencia remota de BeyondTrust.
  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). En este campo, puedes agregar hasta tres servidores syslog.
    • Formato de mensaje: Selecciona RFC 5424.
    • Puerto: Ingresa el puerto del servidor host de syslog (Bindplane).
  4. Haz clic en Enviar.

Asignación de UDM

Campo de registro Asignación de UDM Lógica
account:expiration read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "account:expiration" en el registro sin procesar.
account:email:locale read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "account:email:locale" en el registro sin procesar.
command_shell_is_whitelist read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "ssions:command_shell_is_whitelist" en el registro sin procesar.
fecha y hora read_only_udm.metadata.event_timestamp.seconds El valor se analiza del campo "datetime" en el registro sin procesar y se convierte en una marca de tiempo de Unix.
dtPostTime read_only_udm.metadata.event_timestamp.seconds El valor se analiza del campo "dtPostTime" en el registro sin procesar y se convierte en una marca de tiempo Unix.
evento read_only_udm.metadata.product_event_type El valor se toma del campo "event" en el registro sin procesar.
host read_only_udm.principal.hostname El valor se toma del campo "host" en el registro sin procesar.
id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "id" en el registro sin procesar.
license_pool:id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "license_pool:id" en el registro sin procesar.
login_schedule:timezone read_only_udm.target.location.country_or_region El valor se toma del campo "login_schedule:timezone" en el registro sin procesar.
old_account:email:address read_only_udm.target.user.email_addresses El valor se toma del campo "old_account:email:address" en el registro sin procesar.
old_account:failed_logins read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_account:failed_logins" en el registro sin procesar.
old_display_number read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_display_number" en el registro sin procesar.
old_login_schedule:timezone read_only_udm.target.location.country_or_region El valor se toma del campo "old_login_schedule:timezone" en el registro sin procesar.
old_permissions:api:reporting read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:api:reporting" en el registro sin procesar.
old_permissions:jump_item_role:default:id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:jump_item_role:default:id" en el registro sin procesar.
old_permissions:jump_item_role:default:name read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:jump_item_role:default:name" en el registro sin procesar.
old_permissions:jump_item_role:teams:id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:jump_item_role:teams:id" en el registro sin procesar.
old_permissions:jump_item_role:teams:name read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:jump_item_role:teams:name" en el registro sin procesar.
old_permissions:presentations:control:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:presentations:control:status" en el registro sin procesar.
old_permissions:public_sites:templates:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:public_sites:templates:status" en el registro sin procesar.
old_permissions:reporting:presentation_reports read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:reporting:presentation_reports" en el registro sin procesar.
old_permissions:reporting:support_reports read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:reporting:support_reports" en el registro sin procesar.
old_permissions:reporting:vault_reports read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:reporting:vault_reports" en el registro sin procesar.
old_permissions:support read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support" en el registro sin procesar.
old_permissions:support:accept_team_sessions:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:accept_team_sessions:status" en el registro sin procesar.
old_permissions:support:bomgar_button:change_public_sites:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:bomgar_button:change_public_sites:status" en el registro sin procesar.
old_permissions:support:bomgar_button:personal:deploy:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:bomgar_button:personal:deploy:status" en el registro sin procesar.
old_permissions:support:bomgar_button:team:manage read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:bomgar_button:team:manage" en el registro sin procesar.
old_permissions:support:bomgar_button:team:manage:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:bomgar_button:team:manage:status" en el registro sin procesar.
old_permissions:support:ios_content read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:ios_content" en el registro sin procesar.
old_permissions:support:jump:local read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:jump:local" en el registro sin procesar.
old_permissions:support:jump:local:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:jump:local:status" en el registro sin procesar.
old_permissions:support:jump:remote read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:jump:remote" en el registro sin procesar.
old_permissions:support:jump:remote:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:jump:remote:status" en el registro sin procesar.
old_permissions:support:rdp:local read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:rdp:local" en el registro sin procesar.
old_permissions:support:rdp:local:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:rdp:local:status" en el registro sin procesar.
old_permissions:support:rdp:remote read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:rdp:remote" en el registro sin procesar.
old_permissions:support:rdp:remote:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:rdp:remote:status" en el registro sin procesar.
old_permissions:support:session_assignment:idle_timeout read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:session_assignment:idle_timeout" en el registro sin procesar.
old_permissions:support:session_assignment:idle_timeout:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:session_assignment:idle_timeout:status" en el registro sin procesar.
old_permissions:support:session_assignment:session_limit read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:session_assignment:session_limit" en el registro sin procesar.
old_permissions:support:session_assignment:session_limit:status=forbid_override read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:session_assignment:session_limit:status=forbid_override" en el registro sin procesar.
old_permissions:support:session_keys read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:session_keys" en el registro sin procesar.
old_permissions:support:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:status" en el registro sin procesar.
old_permissions:support:team_share read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:team_share" en el registro sin procesar.
old_permissions:support:team_transfer read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:team_transfer" en el registro sin procesar.
old_permissions:support:vnc:local read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:vnc:local" en el registro sin procesar.
old_permissions:support:vnc:local:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:vnc:local:status" en el registro sin procesar.
old_permissions:support:vnc:remote read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:vnc:remote" en el registro sin procesar.
old_permissions:support:vnc:remote:status read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_permissions:support:vnc:remote:status" en el registro sin procesar.
old_private_display_name read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_private_display_name" en el registro sin procesar.
old_provider:id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_provider:id" en el registro sin procesar.
old_provider:name read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "old_provider:name" en el registro sin procesar.
permissions:jump_item_role:default:id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "permissions:jump_item_role:default:id" en el registro sin procesar.
permissions:jump_item_role:default:name read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "permissions:jump_item_role:default:name" en el registro sin procesar.
permissions:jump_item_role:teams:id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "permissions:jump_item_role:teams:id" en el registro sin procesar.
permissions:jump_item_role:teams:name read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "permissions:jump_item_role:teams:name" en el registro sin procesar.
provider:id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "provider:id" en el registro sin procesar.
provider:name read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "provider:name" en el registro sin procesar.
Reason read_only_udm.security_result.description El valor se toma del campo "reason" en el registro sin procesar y se agrega al campo de descripción con el prefijo " - Reason:".
sEventID read_only_udm.metadata.product_event_type El valor se toma del campo "sEventID" en el registro sin procesar.
sIpAddress read_only_udm.principal.ip El valor se toma del campo "sIpAddress" en el registro sin procesar.
sLoginName read_only_udm.principal.user.userid El valor se analiza del campo "sLoginName" en el registro sin procesar. Si el campo contiene un dominio, este se extrae y se asigna a read_only_udm.principal.namespace.
sMessage read_only_udm.security_result.description El valor se toma del campo "sMessage" en el registro sin procesar. El analizador extrae el texto entre comillas y lo asigna al campo de descripción.
sOriginatingAccount read_only_udm.principal.user.userid El valor se analiza del campo "sOriginatingAccount" en el registro sin procesar. Si el campo contiene un dominio, este se extrae y se asigna a read_only_udm.principal.namespace.
sOriginatingApplicationComponent read_only_udm.principal.application El valor se toma del campo "sOriginatingApplicationComponent" en el registro sin procesar y se agrega al campo de la aplicación entre paréntesis después del valor de sOriginatingApplicationName.
sOriginatingApplicationName read_only_udm.principal.application El valor se toma del campo "sOriginatingApplicationName" en el registro sin procesar.
sOriginatingSystem read_only_udm.principal.hostname El valor se toma del campo "sOriginatingSystem" en el registro sin procesar.
session_policy:id read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "session_policy:id" en el registro sin procesar.
session_policy:name read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "session_policy:name" en el registro sin procesar.
session_policy:purpose read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "session_policy:purpose" en el registro sin procesar.
sitio read_only_udm.target.hostname El valor se toma del campo "sitio" en el registro sin procesar.
estado read_only_udm.security_result.summary El valor se toma del campo "estado" en el registro sin procesar y se agrega al campo de resumen.
support:jump:local read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:jump:local" en el registro sin procesar.
support:permissions:allow_pinned_clients read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:allow_pinned_clients" en el registro sin procesar.
support:permissions:allow_users read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:allow_users" en el registro sin procesar.
support:permissions:canned_scripts read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:canned_scripts" en el registro sin procesar.
support:permissions:chat read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:chat" en el registro sin procesar.
support:permissions:chat:push_url read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:chat:push_url" en el registro sin procesar.
support:permissions:chat:send_file read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:chat:send_file" en el registro sin procesar.
support:permissions:command_shell read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:command_shell" en el registro sin procesar.
support:permissions:deploy_callback_button read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:deploy_callback_button" en el registro sin procesar.
support:permissions:elevation read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:elevation" en el registro sin procesar.
support:permissions:file_transfers:cust read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:file_transfers:cust" en el registro sin procesar.
support:permissions:file_transfers:download read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:file_transfers:download" en el registro sin procesar.
support:permissions:file_transfers:rep read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:file_transfers:rep" en el registro sin procesar.
support:permissions:file_transfers:upload read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:file_transfers:upload" en el registro sin procesar.
support:permissions:registry_access read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:registry_access" en el registro sin procesar.
support:permissions:request_pin_unpin read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:request_pin_unpin" en el registro sin procesar.
support:permissions:screen_sharing read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing" en el registro sin procesar.
support:permissions:screen_sharing:allow_elevated_tools read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing:allow_elevated_tools" en el registro sin procesar.
support:permissions:screen_sharing:annotations read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing:annotations" en el registro sin procesar.
support:permissions:screen_sharing:application_restriction read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing:application_restriction" en el registro sin procesar.
support:permissions:screen_sharing:application_sharing read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing:application_sharing" en el registro sin procesar.
support:permissions:screen_sharing:clipboard_direction read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing:clipboard_direction" en el registro sin procesar.
support:permissions:screen_sharing:cobrowse read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing:cobrowse" en el registro sin procesar.
support:permissions:screen_sharing:privacy_mode read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing:privacy_mode" en el registro sin procesar.
support:permissions:screen_sharing:show_screen read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:screen_sharing:show_screen" en el registro sin procesar.
support:permissions:system_info read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:system_info" en el registro sin procesar.
support:permissions:system_info:actions read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:permissions:system_info:actions" en el registro sin procesar.
support:prompting:command_shell read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:prompting:command_shell" en el registro sin procesar.
support:prompting:default read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:prompting:default" en el registro sin procesar.
support:prompting:deploy_callback_button read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:prompting:deploy_callback_button" en el registro sin procesar.
support:prompting:elevate read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:prompting:elevate" en el registro sin procesar.
support:prompting:file_transfer read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:prompting:file_transfer" en el registro sin procesar.
support:prompting:registry read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:prompting:registry" en el registro sin procesar.
support:prompting:screen_sharing:cobrowse read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:prompting:screen_sharing:cobrowse" en el registro sin procesar.
support:prompting:screen_sharing:full_access read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "support:prompting:screen_sharing:full_access" en el registro sin procesar.
objetivo read_only_udm.target.application El valor se toma del campo "target" en el registro sin procesar. El analizador reemplaza "rep_client" por "Representative Console" y "web/login" por "Web/Login".
two_factor_auth:app read_only_udm.principal.user.attribute.labels.value El valor se toma del campo "two_factor_auth:app" en el registro sin procesar.
cuando read_only_udm.metadata.product_log_id El valor se toma del campo "when" en el registro sin procesar.
cuando read_only_udm.metadata.event_timestamp.seconds El valor se analiza del campo "when" en el registro sin procesar y se convierte en una marca de tiempo Unix.
quién read_only_udm.principal.user.userid El valor se analiza del campo "who" en el registro sin procesar. El analizador extrae el texto dentro de los paréntesis.
quién read_only_udm.principal.user.user_display_name El valor se analiza del campo "who" en el registro sin procesar. El analizador extrae el texto antes de los paréntesis.
who_ip read_only_udm.principal.ip El valor se toma del campo "who_ip" en el registro sin procesar.
read_only_udm.metadata.vendor_name El analizador establece el valor en "BeyondTrust".
read_only_udm.metadata.product_name El analizador establece el valor en "BeyondTrust Remote Support".
read_only_udm.metadata.log_type El analizador establece el valor en "BOMGAR".
read_only_udm.extensions.auth.type El valor se establece en "MACHINE" si el objetivo es "rep_client", en "SSO" si el objetivo es "web/login" y en "AUTHTYPE_UNSPECIFIED" en caso contrario.
read_only_udm.extensions.auth.mechanism El valor se establece en "USERNAME_PASSWORD" si el método es "using password", en "REMOTE" si el método es "using elevate" y se deja vacío en caso contrario por el analizador.
read_only_udm.security_result.action El valor se establece en "ALLOW" si el estado no es "failure", el motivo no es "failed" o "user not found", y el sMessage no contiene "failed login to web app". De lo contrario, el analizador establece el valor en "BLOCK".
read_only_udm.security_result.summary El valor se establece en "Acceso del usuario " o "Salida del usuario " según el nombre del evento, seguido del estado si el analizador no lo deja vacío.
read_only_udm.security_result.description El valor se establece en "Usuario ", seguido del ID de usuario, la dirección IP, el estado, el nombre del evento, el conector ("a" para el acceso y "de" para el cierre de sesión), el objetivo y el método. Si el motivo no está vacío y no es “error”, el analizador lo agrega a la descripción con el prefijo “ - Reason:”.

Cambios

2024-01-12

  • Se mejoró el manejo de los eventos de estado "challenge".
  • Se mejoró la asignación de direcciones de correo electrónico para mayor precisión.

2022-11-24

  • Se corrigió un error en el análisis de la información del usuario, como el nombre visible, el ID y el método.
  • Se mejoró la precisión de la clasificación del tipo de autenticación para los eventos de acceso de los usuarios.

2022-10-13

  • Se integró un analizador específico del cliente en el analizador predeterminado para una mayor aplicabilidad.

2022-09-26

  • Se integró un analizador específico del cliente en el analizador predeterminado para una mayor aplicabilidad.

2022-08-19

  • Se consolidaron los analizadores personalizados en el analizador predeterminado para mejorar el rendimiento y la capacidad de mantenimiento.