Collecter les journaux de l'assistance à distance BeyondTrust
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
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agents de collecte.
- Téléchargez le fichier d'authentification d'ingestion.
Obtenir l'ID client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Profil.
- Copiez et enregistrez le numéro client de la section Informations sur l'organisation.
Installer l'agent BindPlane
- 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
- 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
- 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
- Accédez à la machine sur laquelle Bindplane est installé.
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
Redémarrez l'agent Bindplane pour appliquer les modifications :
sudo systemctl restart bindplane
Configurer l'exportation Syslog depuis BeyondTrust Remote Support
- Connectez-vous à BeyondTrust Remote Support.
- Accédez à Sécurité > Administration de l'appliance.
- 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).
- 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.