Collecter les journaux BeyondTrust Privileged Identity
Ce document explique comment ingérer les journaux BeyondTrust Privileged Identity dans Google Security Operations à l'aide de Bindplane. L'analyseur extrait les journaux BeyondTrust Remote Support, en traitant les messages syslog au format CEF et non-CEF. Il analyse les champs clés, les mappe au modèle de données unifié (UDM, Unified Data Model) et détermine le type d'événement en fonction des champs extraits tels que dst
, src
, suid
et sEventID
, en enrichissant les données avec un contexte supplémentaire tel que les informations sur l'utilisateur, les adresses IP et les résultats de sécurité.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Instance Google SecOps
- Windows 2016 ou version ultérieure, ou un hôte Linux avec
systemd
- Si vous exécutez le programme derrière un proxy, les ports du pare-feu sont ouverts.
- Accès privilégié à l'appliance BeyondTrust Privileged Remote Access
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. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.
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
Installation de fenêtres
- Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installation de Linux
- Ouvrez un terminal avec les droits root ou sudo.
Exécutez la commande suivante :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Ressources d'installation supplémentaires
Pour plus d'options d'installation, consultez le guide d'installation.
Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps
- Accédez au fichier de configuration :
- Recherchez le fichier
config.yaml
. En règle générale, il se trouve dans le répertoire/etc/bindplane-agent/
sous Linux ou dans le répertoire d'installation sous Windows. - Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple,
nano
,vi
ou le Bloc-notes).
- Recherchez le fichier
Modifiez le fichier
config.yaml
comme suit :receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: 'BEYONDTRUST_PI' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
Remplacez
<customer_id>
par le numéro client réel.Mettez à jour
/path/to/ingestion-authentication-file.json
en indiquant le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.
Redémarrez l'agent Bindplane pour appliquer les modifications.
Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :
sudo systemctl restart bindplane-agent
Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :
net stop BindPlaneAgent && net start BindPlaneAgent
Configurer Syslog dans BeyondTrust Privileged Identity
- Connectez-vous à l'appliance privilégiée Beyondtrust.
- Accédez à Appliance > Sécurité > Administration de l'appliance.
- Accédez à la section Syslog.
- Fournissez les informations de configuration suivantes :
- Nom d'hôte : saisissez l'adresse IP de l'agent Bindplane.
- Port : le port par défaut est défini sur 514 (UDP).
- Format : sélectionnez RFC 5424.
- Cliquez sur Enregistrer.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
cs1 | additional.fields[0].key | Mappé directement à partir du champ de journal brut cs1Label . |
cs1Label | additional.fields[0].value.string_value | Mappé directement à partir du champ de journal brut cs1 . |
cs3 | additional.fields[1].value.string_value | Mappé directement à partir du champ de journal brut cs3Label . |
cs3Label | additional.fields[1].key | Mappé directement à partir du champ de journal brut cs3 . |
cs4 | additional.fields[2].value.string_value | Mappé directement à partir du champ de journal brut cs4Label . |
cs4Label | additional.fields[2].key | Mappé directement à partir du champ de journal brut cs4 . |
données | metadata.description | Pour les messages CEF, le champ msg (extrait de data ) est mappé sur metadata.description . Pour les messages non CEF, le champ sMessage (ou certaines de ses parties, selon le format de message spécifique) est mappé sur metadata.description . |
dhost | target.hostname | Mappé directement à partir du champ de journal brut dhost . |
dntdom | target.administrative_domain | Mappé directement à partir du champ de journal brut dntdom . |
duser | target.user.user_display_name | Mappé directement à partir du champ de journal brut duser . |
Message | metadata.description | Directement mappé à partir du champ de journal brut msg dans les messages CEF. |
rt | metadata.event_timestamp.seconds | L'horodatage epoch est extrait du champ rt des messages CEF. |
sEventType | metadata.product_event_type | Directement mappé à partir du champ de journal brut sEventType dans les messages non CEF. |
shost | principal.ip | Mappé directement à partir du champ de journal brut shost . |
sIpAddress | principal.ip | Directement mappé à partir du champ de journal brut sIpAddress dans les messages non CEF. |
sLoginName | principal.user.userid | Extrait du champ sLoginName à l'aide d'une expression régulière pour séparer le domaine et l'ID utilisateur. |
sMessage | security_result.description | Directement mappé à partir du champ de journal brut sMessage dans les messages non CEF, ou des parties extraites de celui-ci sont utilisées pour security_result.description . |
sntdom | principal.administrative_domain | Mappé directement à partir du champ de journal brut sntdom . |
sOriginatingAccount | principal.user.userid | Extrait du champ sOriginatingAccount à l'aide d'une expression régulière pour séparer le domaine et l'ID utilisateur. |
sOriginatingApplicationComponent | principal.application | Utilisé en association avec sOriginatingApplicationName pour remplir principal.application . |
sOriginatingApplicationName | principal.application | Utilisé en association avec sOriginatingApplicationComponent pour remplir principal.application . |
sOriginatingSystem | principal.hostname | Directement mappé à partir du champ de journal brut sOriginatingSystem dans les messages non CEF. |
suser | principal.user.user_display_name | Mappé directement à partir du champ de journal brut suser . Déterminé par la logique de l'analyseur en fonction de la présence et des valeurs d'autres champs tels que dst , src , shost et suid . Les valeurs possibles sont NETWORK_CONNECTION , STATUS_UPDATE , USER_UNCATEGORIZED et GENERIC_EVENT . Définissez-le sur "BEYONDTRUST_PI". Définissez-le sur "BeyondTrust Remote Support". Extrait de l'en-tête CEF des messages CEF. Définissez-le sur "BeyondTrust". Définissez la valeur sur "ALLOW" (AUTORISER) ou "BLOCK" (BLOQUER) en fonction des champs status , reason ou sMessage . Définissez cet élément sur LOW . |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.