Collecter les journaux Arbor Edge Defense
Ce document explique comment collecter les journaux Netscout (Arbor Edge Defense) dans Google Security Operations à l'aide d'un agent Bindplane. L'analyseur extrait d'abord les champs des messages syslog bruts à l'aide d'un modèle Grok correspondant à des formats spécifiques définis par le fournisseur. Il mappe ensuite les champs extraits et leurs valeurs aux attributs correspondants dans le schéma UDM de Google SecOps, ce qui permet une représentation et une analyse standardisées des événements de sécurité.
Avant de commencer
- Assurez-vous de disposer d'une instance Google SecOps.
- 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.
- Assurez-vous de disposer d'un accès privilégié à Netscout.
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 ce 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: ARBOR_EDGE_DEFENSE 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 l'exportation Syslog sur Netscout (Arbor Edge Defense)
- Connectez-vous à l'UI Web Netscout.
- Sélectionnez Administration > Notification > Groupes.
- Dans la fenêtre Groupe de notifications, cliquez sur Ajouter un groupe de notifications.
- Fournissez les informations de configuration suivantes :
- Destination : saisissez l'adresse IP de l'agent Bindplane.
- Port : saisissez le numéro de port de l'agent Bindplane.
- Établissement : sélectionnez l'établissement
Local0
. - Gravité : sélectionnez Information.
- Cliquez sur Enregistrer.
- Accédez à Administration > Gestion de la configuration > Valider ou sélectionnez Valider la configuration.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
cn2 | principal.group.attribute.labels.value | Mappé si non vide. Partie de la logique conditionnelle impliquant cn2Label . |
cn2Label | principal.group.attribute.labels.key | Mappé si cn2 n'est pas vide. |
cs2 | principal.group.attribute.labels.value | Mappé si non vide. Partie de la logique conditionnelle impliquant cs2Label . |
cs2Label | principal.group.attribute.labels.key | Mappé si cs2 n'est pas vide. |
cs3 | security_result.detection_fields.value | Mappé si non vide. Partie de la logique conditionnelle impliquant cs3Label . |
cs3Label | security_result.detection_fields.key | Mappé si cs3 n'est pas vide. |
cs6 | security_result.threat_name | Mappé si non vide. |
cs7 | security_result.category_details | Concaténé avec le préfixe Threat Category: s'il n'est pas vide. |
dpt | target.port | Converti en entier et mappé s'il n'est pas vide ou s'il n'est pas 0 . |
dst | target.ip | Mappé si non vide. |
Message | metadata.description | Mappé directement. |
principal.group.attribute.labels.key | Définie sur Traffic Level si traffic_level (extrait de msg ) n'est pas vide. |
|
principal.group.attribute.labels.value | Définissez sur la valeur traffic_level extraite de msg si elle n'est pas vide. |
|
principal.group.attribute.labels.key | Définie sur Protection Group Name si group_name (extrait de msg ) n'est pas vide. |
|
principal.group.attribute.labels.value | Définissez sur la valeur group_name extraite de msg si elle n'est pas vide. |
|
proto | network.ip_protocol | Converti en majuscules et mappé si la valeur est TCP ou UDP . |
rt | metadata.event_timestamp.seconds | Converti en code temporel à l'aide du filtre de date. |
src | principal.ip | Mappé si non vide. |
spt | principal.port | Converti en entier et mappé s'il n'est pas vide ou s'il n'est pas 0 . |
metadata.log_type | Codé en dur sur ARBOR_EDGE_DEFENSE . |
|
metadata.vendor_name | Codé en dur sur NETSCOUT . |
|
metadata.product_name | Codé en dur sur ARBOR_EDGE_DEFENSE . |
|
metadata.product_version | Extrait du champ device_version de l'en-tête CEF. |
|
metadata.product_event_type | Extrait du champ event_name de l'en-tête CEF. |
|
intermediary.hostname | Extrait du champ intermediary_hostname de l'en-tête CEF. |
|
security_result.rule_name | Extrait du champ security_rule_name de l'en-tête CEF. |
|
security_result.action | Définie sur BLOCK , si event_name est Blocked Host . |
|
security_result.action_details | Définie sur la valeur de event_name si event_name est Blocked Host . |
|
security_result.severity | Mappé à partir du champ severity en fonction d'une logique prédéfinie et converti en majuscules. |
|
metadata.event_type | Défini sur NETWORK_CONNECTION si dst et src ne sont pas vides, sur STATUS_UPDATE si seul src n'est pas vide, sinon la valeur par défaut est GENERIC_EVENT . |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.