Collecter les journaux Arbor Edge Defense

Compatible avec :

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

  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. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.

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

Installation de fenêtres

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. 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

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

  1. Accédez au fichier de configuration :

    1. 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.
    2. Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, nano, vi ou le Bloc-notes).
  2. 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
    
  3. Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.

  4. Remplacez <customer_id> par le numéro client réel.

  5. 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)

  1. Connectez-vous à l'UI Web Netscout.
  2. Sélectionnez Administration > Notification > Groupes.
  3. Dans la fenêtre Groupe de notifications, cliquez sur Ajouter un groupe de notifications.
  4. 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.
  5. Cliquez sur Enregistrer.
  6. 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.