Collecter les journaux de l'assistance à distance BeyondTrust

Compatible avec :

Cet analyseur gère les messages syslog de BeyondTrust Remote Support et les transforme au format UDM. Il traite les journaux au format CEF et non-CEF, en extrait les champs, effectue des transformations de données et les mappe aux champs UDM appropriés, y compris les détails du principal, de la cible et du résultat de sécurité.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google Security Operations.
  • Assurez-vous d'utiliser Windows 2016 ou une version ultérieure, ou un hôte Linux avec systemd.
  • Si vous exécutez le programme derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Installer l'agent BindPlane

  1. Pour installer sous Windows, exécutez le script suivant :
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Pour installer sous Linux, exécutez le script suivant :
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Vous trouverez d'autres options d'installation dans ce guide d'installation.

Configurer l'agent Bindplane pour ingérer les journaux Syslog et les envoyer à Google SecOps

  1. Accédez à la machine sur laquelle Bindplane est installé.
  2. Modifiez le fichier config.yaml comme suit :

    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. Redémarrez l'agent Bindplane pour appliquer les modifications :

    sudo systemctl restart bindplane
    

Configurer l'exportation Syslog depuis BeyondTrust Remote Support

  1. Connectez-vous à BeyondTrust Remote Support.
  2. Accédez à Sécurité > Administration de l'appliance.
  3. Accédez à la section Syslog et définissez les valeurs suivantes :
    • Serveur Syslog distant : saisissez le nom d'hôte ou l'adresse IP du serveur hôte syslog (Bindplane). Dans ce champ, vous pouvez ajouter jusqu'à trois serveurs Syslog.
    • Format du message : sélectionnez RFC 5424.
    • Port : saisissez le port du serveur hôte syslog (Bindplane).
  4. Cliquez sur Envoyer.

Mappage UDM

Champ du journal Mappage UDM Logique
account:expiration read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "account:expiration" du journal brut.
account:email:locale read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "account:email:locale" du journal brut.
command_shell_is_whitelist read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "ssions:command_shell_is_whitelist" du journal brut.
Date/Heure read_only_udm.metadata.event_timestamp.seconds La valeur est analysée à partir du champ "datetime" du journal brut et convertie en code temporel Unix.
dtPostTime read_only_udm.metadata.event_timestamp.seconds La valeur est analysée à partir du champ "dtPostTime" du journal brut et convertie en horodatage Unix.
événement read_only_udm.metadata.product_event_type La valeur est extraite du champ "event" du journal brut.
hôte read_only_udm.principal.hostname La valeur est extraite du champ "hôte" du journal brut.
id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "id" du journal brut.
license_pool:id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "license_pool:id" du journal brut.
login_schedule:timezone read_only_udm.target.location.country_or_region La valeur est extraite du champ "login_schedule:timezone" du journal brut.
old_account:email:address read_only_udm.target.user.email_addresses La valeur est extraite du champ "old_account:email:address" du journal brut.
old_account:failed_logins read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_account:failed_logins" du journal brut.
old_display_number read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_display_number" du journal brut.
old_login_schedule:timezone read_only_udm.target.location.country_or_region La valeur est extraite du champ "old_login_schedule:timezone" du journal brut.
old_permissions:api:reporting read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:api:reporting" du journal brut.
old_permissions:jump_item_role:default:id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:jump_item_role:default:id" du journal brut.
old_permissions:jump_item_role:default:name read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:jump_item_role:default:name" du journal brut.
old_permissions:jump_item_role:teams:id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:jump_item_role:teams:id" du journal brut.
old_permissions:jump_item_role:teams:name read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:jump_item_role:teams:name" du journal brut.
old_permissions:presentations:control:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:presentations:control:status" du journal brut.
old_permissions:public_sites:templates:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:public_sites:templates:status" du journal brut.
old_permissions:reporting:presentation_reports read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:reporting:presentation_reports" du journal brut.
old_permissions:reporting:support_reports read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:reporting:support_reports" du journal brut.
old_permissions:reporting:vault_reports read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:reporting:vault_reports" du journal brut.
old_permissions:support read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support" du journal brut.
old_permissions:support:accept_team_sessions:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:accept_team_sessions:status" du journal brut.
old_permissions:support:bomgar_button:change_public_sites:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:bomgar_button:change_public_sites:status" du journal brut.
old_permissions:support:bomgar_button:personal:deploy:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:bomgar_button:personal:deploy:status" du journal brut.
old_permissions:support:bomgar_button:team:manage read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:bomgar_button:team:manage" du journal brut.
old_permissions:support:bomgar_button:team:manage:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:bomgar_button:team:manage:status" du journal brut.
old_permissions:support:ios_content read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:ios_content" du journal brut.
old_permissions:support:jump:local read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:jump:local" du journal brut.
old_permissions:support:jump:local:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:jump:local:status" du journal brut.
old_permissions:support:jump:remote read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:jump:remote" du journal brut.
old_permissions:support:jump:remote:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:jump:remote:status" du journal brut.
old_permissions:support:rdp:local read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:rdp:local" du journal brut.
old_permissions:support:rdp:local:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:rdp:local:status" du journal brut.
old_permissions:support:rdp:remote read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:rdp:remote" du journal brut.
old_permissions:support:rdp:remote:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:rdp:remote:status" du journal brut.
old_permissions:support:session_assignment:idle_timeout read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:session_assignment:idle_timeout" du journal brut.
old_permissions:support:session_assignment:idle_timeout:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:session_assignment:idle_timeout:status" du journal brut.
old_permissions:support:session_assignment:session_limit read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:session_assignment:session_limit" du journal brut.
old_permissions:support:session_assignment:session_limit:status=forbid_override read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:session_assignment:session_limit:status=forbid_override" du journal brut.
old_permissions:support:session_keys read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:session_keys" du journal brut.
old_permissions:support:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:status" du journal brut.
old_permissions:support:team_share read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:team_share" du journal brut.
old_permissions:support:team_transfer read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:team_transfer" du journal brut.
old_permissions:support:vnc:local read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:vnc:local" du journal brut.
old_permissions:support:vnc:local:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:vnc:local:status" du journal brut.
old_permissions:support:vnc:remote read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:vnc:remote" du journal brut.
old_permissions:support:vnc:remote:status read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_permissions:support:vnc:remote:status" du journal brut.
old_private_display_name read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_private_display_name" du journal brut.
old_provider:id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_provider:id" du journal brut.
old_provider:name read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "old_provider:name" du journal brut.
permissions:jump_item_role:default:id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "permissions:jump_item_role:default:id" du journal brut.
permissions:jump_item_role:default:name read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "permissions:jump_item_role:default:name" du journal brut.
permissions:jump_item_role:teams:id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "permissions:jump_item_role:teams:id" du journal brut.
permissions:jump_item_role:teams:name read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "permissions:jump_item_role:teams:name" du journal brut.
provider:id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "provider:id" du journal brut.
provider:name read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "provider:name" du journal brut.
reason read_only_udm.security_result.description La valeur est extraite du champ "reason" (motif) du journal brut et ajoutée au champ de description avec le préfixe " - Reason:" (Motif :).
sEventID read_only_udm.metadata.product_event_type La valeur est extraite du champ "sEventID" du journal brut.
sIpAddress read_only_udm.principal.ip La valeur est extraite du champ "sIpAddress" du journal brut.
sLoginName read_only_udm.principal.user.userid La valeur est analysée à partir du champ "sLoginName" du journal brut. Si le champ contient un domaine, celui-ci est extrait et mappé à read_only_udm.principal.namespace.
sMessage read_only_udm.security_result.description La valeur est extraite du champ "sMessage" du journal brut. L'analyseur extrait le texte entre guillemets et le mappe au champ de description.
sOriginatingAccount read_only_udm.principal.user.userid La valeur est analysée à partir du champ "sOriginatingAccount" du journal brut. Si le champ contient un domaine, celui-ci est extrait et mappé à read_only_udm.principal.namespace.
sOriginatingApplicationComponent read_only_udm.principal.application La valeur est extraite du champ "sOriginatingApplicationComponent" du journal brut et ajoutée au champ de l'application entre parenthèses après la valeur de sOriginatingApplicationName.
sOriginatingApplicationName read_only_udm.principal.application La valeur est extraite du champ "sOriginatingApplicationName" du journal brut.
sOriginatingSystem read_only_udm.principal.hostname La valeur est extraite du champ "sOriginatingSystem" du journal brut.
session_policy:id read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "session_policy:id" du journal brut.
session_policy:name read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "session_policy:name" du journal brut.
session_policy:purpose read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "session_policy:purpose" du journal brut.
site read_only_udm.target.hostname La valeur est extraite du champ "site" du journal brut.
état read_only_udm.security_result.summary La valeur est extraite du champ "status" (état) du journal brut et ajoutée au champ récapitulatif.
support:jump:local read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:jump:local" du journal brut.
support:permissions:allow_pinned_clients read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:allow_pinned_clients" du journal brut.
support:permissions:allow_users read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:allow_users" du journal brut.
support:permissions:canned_scripts read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:canned_scripts" du journal brut.
support:permissions:chat read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:chat" du journal brut.
support:permissions:chat:push_url read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:chat:push_url" du journal brut.
support:permissions:chat:send_file read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:chat:send_file" du journal brut.
support:permissions:command_shell read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:command_shell" du journal brut.
support:permissions:deploy_callback_button read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:deploy_callback_button" du journal brut.
support:permissions:elevation read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:elevation" du journal brut.
support:permissions:file_transfers:cust read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:file_transfers:cust" du journal brut.
support:permissions:file_transfers:download read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:file_transfers:download" du journal brut.
support:permissions:file_transfers:rep read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:file_transfers:rep" du journal brut.
support:permissions:file_transfers:upload read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:file_transfers:upload" du journal brut.
support:permissions:registry_access read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:registry_access" du journal brut.
support:permissions:request_pin_unpin read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:request_pin_unpin" du journal brut.
support:permissions:screen_sharing read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing" du journal brut.
support:permissions:screen_sharing:allow_elevated_tools read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing:allow_elevated_tools" du journal brut.
support:permissions:screen_sharing:annotations read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing:annotations" du journal brut.
support:permissions:screen_sharing:application_restriction read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing:application_restriction" du journal brut.
support:permissions:screen_sharing:application_sharing read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing:application_sharing" du journal brut.
support:permissions:screen_sharing:clipboard_direction read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing:clipboard_direction" du journal brut.
support:permissions:screen_sharing:cobrowse read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing:cobrowse" du journal brut.
support:permissions:screen_sharing:privacy_mode read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing:privacy_mode" du journal brut.
support:permissions:screen_sharing:show_screen read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:screen_sharing:show_screen" du journal brut.
support:permissions:system_info read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:system_info" du journal brut.
support:permissions:system_info:actions read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:permissions:system_info:actions" du journal brut.
support:prompting:command_shell read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:prompting:command_shell" du journal brut.
support:prompting:default read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:prompting:default" du journal brut.
support:prompting:deploy_callback_button read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:prompting:deploy_callback_button" du journal brut.
support:prompting:elevate read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:prompting:elevate" du journal brut.
support:prompting:file_transfer read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:prompting:file_transfer" du journal brut.
support:prompting:registry read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:prompting:registry" du journal brut.
support:prompting:screen_sharing:cobrowse read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:prompting:screen_sharing:cobrowse" du journal brut.
support:prompting:screen_sharing:full_access read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "support:prompting:screen_sharing:full_access" du journal brut.
cible read_only_udm.target.application La valeur est extraite du champ "target" du journal brut. L'analyseur remplace "rep_client" par "Representative Console" et "web/login" par "Web/Login".
two_factor_auth:app read_only_udm.principal.user.attribute.labels.value La valeur est extraite du champ "two_factor_auth:app" du journal brut.
date read_only_udm.metadata.product_log_id La valeur est extraite du champ "when" (quand) du journal brut.
date read_only_udm.metadata.event_timestamp.seconds La valeur est analysée à partir du champ "when" (quand) du journal brut et convertie en horodatage Unix.
qui read_only_udm.principal.user.userid La valeur est analysée à partir du champ "who" (qui) dans le journal brut. L'analyseur extrait le texte entre parenthèses.
qui read_only_udm.principal.user.user_display_name La valeur est analysée à partir du champ "who" (qui) dans le journal brut. L'analyseur extrait le texte avant les parenthèses.
who_ip read_only_udm.principal.ip La valeur est extraite du champ "who_ip" du journal brut.
read_only_udm.metadata.vendor_name La valeur est définie sur "BeyondTrust" par l'analyseur.
read_only_udm.metadata.product_name Le parseur définit la valeur sur "BeyondTrust Remote Support".
read_only_udm.metadata.log_type Le parseur définit la valeur sur "BOMGAR".
read_only_udm.extensions.auth.type Le parser définit la valeur sur "MACHINE" si la cible est "rep_client", sur "SSO" si la cible est "web/login" et sur "AUTHTYPE_UNSPECIFIED" dans les autres cas.
read_only_udm.extensions.auth.mechanism La valeur est définie sur "USERNAME_PASSWORD" si la méthode est "using password" (avec mot de passe), sur "REMOTE" si la méthode est "using elevate" (avec élévation) et laissée vide dans le cas contraire par l'analyseur.
read_only_udm.security_result.action La valeur est définie sur "ALLOW" si l'état n'est pas "failure", si le motif n'est pas "failed" ou "user not found", et si sMessage ne contient pas "failed login to web app". Sinon, l'analyseur définit la valeur sur "BLOCK".
read_only_udm.security_result.summary La valeur est définie sur "User login" (Connexion de l'utilisateur) ou "User logout" (Déconnexion de l'utilisateur) en fonction de l'eventName, suivi de l'état s'il n'est pas vide par l'analyseur.
read_only_udm.security_result.description La valeur est définie sur "Utilisateur" suivi de l'ID utilisateur, de l'adresse IP, de l'état, de eventName, du connecteur ("vers" pour la connexion et "depuis" pour la déconnexion), de la cible et de la méthode. Si le motif n'est pas vide et n'est pas "failed", il est ajouté à la description avec le préfixe " - Reason:" par l'analyseur.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.