Collecter les journaux Aruba IPS

Version de l'analyseur : 3.0

Compatible avec :

Ce document explique comment ingérer des journaux Aruba IPS dans Google Security Operations à l'aide de l'agent Bindplane. L'analyseur extrait les événements, les notifications, les points d'accès non autorisés et les informations sur les points d'accès WIDS à partir des journaux au format JSON. Il transforme les données de journaux brutes en UDM en mappant les champs, en gérant différents types d'événements (connexion/déconnexion de l'utilisateur, événements réseau, événements liés à la sécurité) et en enrichissant les données avec des informations contextuelles telles que le canal, le SSID, le BSSID et la gravité. L'analyseur effectue également la normalisation des codes temporels et la gestion des exceptions pour les fichiers JSON mal formés.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Un hôte Windows 2016 ou version ultérieure, ou Linux avec systemd
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts conformément aux exigences de l'agent BindPlane.
  • Accès privilégié à la console de gestion ou à la CLI des appareils Aruba

Obtenir des identifiants Google SecOps pour l'agent BindPlane

Pour authentifier l'agent Bindplane auprès de Google SecOps, choisissez l'une des méthodes suivantes :

  • Nouveaux déploiements : utilisez l'API Chronicle (option 1).
  • Déploiements existants : continuez à utiliser le fichier d'authentification pour l'ingestion (option 2) jusqu'à l'arrêt de l'API Ingestion le 20 juillet 2027.
  1. Connectez-vous à la consoleGoogle Cloud et sélectionnez le projet Google Cloud associé à votre instance Google SecOps.
  2. Accédez à IAM et administration > Comptes de service.
  3. Cliquez sur Créer un compte de service.
  4. Fournissez les informations de configuration suivantes :
    • Nom du compte de service : saisissez un nom pour le compte (par exemple, bindplane-ingest).
    • Description du compte de service : saisissez une description (par exemple, Bindplane agent log ingestion).
  5. Cliquez sur Créer et continuer.
  6. Dans la section Autoriser ce compte de service à accéder au projet, cliquez sur Sélectionner un rôle, puis sélectionnez Éditeur Chronicle.
  7. Cliquez sur Continue (Continuer), puis sur Done (OK).
  8. Cliquez sur le compte de service que vous avez créé, puis accédez à l'onglet Clés.
  9. Cliquez sur Ajouter une clé > Créer une clé.
  10. Sélectionnez JSON, puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
  11. Enregistrez le fichier de clé sous le nom ingestion-auth.json dans le répertoire du collecteur BindPlane (/opt/observiq-otel-collector/ingestion-auth.json sous Linux ou C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json sous Windows), ou mettez à jour creds_file_path dans config.yaml pour qu'il corresponde au chemin d'accès où vous l'enregistrez.
  12. Accédez à IAM et administration > Paramètres, puis copiez le numéro du projet. Vous en aurez besoin pour la configuration de l'exportateur.

Option 2 : Télécharger le fichier d'authentification d'ingestion (ancien)

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion.
  4. Enregistrez le fichier de manière sécurisée sur le système sur lequel l'agent 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 dans la section Informations sur l'organisation.

Installer l'agent Bindplane

Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.

Installation de Windows

  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 sous Linux

  1. Ouvrez un terminal avec des privilèges 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

Pour découvrir d'autres options d'installation, consultez ce guide d'installation.

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

  1. Accédez au fichier de configuration :

    • Trouvez le fichier config.yaml. Il se trouve généralement dans le répertoire /opt/observiq-otel-collector/ 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 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:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID_HERE
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'ARUBA_IPS'
        raw_log_field: body
        ingestion_labels:
    
    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 YOUR_CUSTOMER_ID_HERE par le numéro client réel.
    • Remplacez /path/to/ingestion-authentication-file.json par le chemin d'accès au fichier de clé du compte de service (option 1) enregistré à l'étape 1.
    • Remplacez <LOCATION> par la région de votre instance Google SecOps (par exemple, us, europe ou asia-southeast1). L'exportateur ajoute cette valeur en préfixe à chronicle.googleapis.com. Pour obtenir la liste complète, consultez Points de terminaison régionaux.
    • Remplacez <PROJECT_NUMBER> par le numéro de projet indiqué dans IAM et administration > Paramètres.

Ancien exportateur d'API d'ingestion

  • Si vous utilisez le fichier d'authentification d'ingestion de l'option 2, remplacez le bloc exporters par le code suivant. Définissez creds_file_path sur le chemin d'accès au fichier d'authentification d'ingestion. Si votre instance se trouve en dehors des États-Unis, remplacez malachiteingestion-pa.googleapis.com par votre point de terminaison régional (par exemple, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID_HERE
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'ARUBA_IPS'
        raw_log_field: body
        ingestion_labels:
    

Redémarrez l'agent Bindplane pour appliquer les modifications.

  1. Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart observiq-otel-collector
    
  2. Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Configurer le transfert Syslog sur les appareils Aruba

Choisissez la méthode de configuration en fonction de votre type d'appareil Aruba :

Option A : Contrôleurs Aruba (AOS-8)

  1. Connectez-vous à l'interface Web du contrôleur Aruba.
  2. Dans la hiérarchie des nœuds Managed Network (Réseau géré), accédez à Configuration > System > Logging > Syslog Servers (Configuration > Système > Journalisation > Serveurs Syslog).
  3. Pour ajouter un serveur de journalisation, cliquez sur + dans la section Serveurs Syslog.
  4. Fournissez les informations de configuration suivantes :
    • Adresse IP du serveur : saisissez l'adresse IP de l'agent Bindplane.
    • Port : saisissez 514 (ou le port configuré dans Bindplane).
    • Protocole : sélectionnez UDP ou TCP, selon la configuration de votre agent Bindplane.
  5. Cliquez sur Appliquer.
  6. Pour sélectionner les types de messages que vous souhaitez consigner, sélectionnez Niveaux de journalisation.
  7. Sélectionnez la catégorie ou la sous-catégorie à consigner.
  8. Pour sélectionner le niveau de gravité de la catégorie ou de la sous-catégorie, sélectionnez le niveau dans la liste déroulante Niveau de journalisation.
  9. Sélectionnez le format de journalisation CEF ou BSD-standard dans la liste déroulante Format.
    • Le format CEF (Common Event Format) d'ArcSight est recommandé pour la journalisation structurée.
  10. Cliquez sur Envoyer.
  11. Cliquez sur Modifications à finaliser.
  12. Dans la fenêtre Modifications en attente, cochez la case, puis cliquez sur Déployer les modifications.

Option B : Aruba Instant AP

Utiliser l'UI Web

  1. Connectez-vous à l'interface Web Aruba Instant.
  2. Dans la fenêtre principale d'Instant, cliquez sur le lien System (Système).
  3. Cliquez sur Afficher les options avancées pour afficher les options avancées.
  4. Cliquez sur l'onglet Surveillance.
    • Les détails de l'onglet "Surveillance" s'affichent.
  5. Dans la zone de texte Serveur Syslog de la section Serveurs, saisissez l'adresse IP de l'agent BindPlane.
  6. Dans la section Niveaux de fonctionnalité Syslog, sélectionnez les valeurs requises pour configurer les niveaux de fonctionnalité Syslog.
    • Niveau Syslog : journal détaillé sur les niveaux Syslog.
    • AP-Debug : journal détaillé sur l'appareil Instant AP.
    • Réseau : journalise les modifications apportées au réseau, par exemple lorsqu'un nouveau point d'accès instantané est ajouté à un réseau.
    • Sécurité : journal concernant la sécurité du réseau, par exemple lorsqu'un client se connecte avec un mot de passe incorrect.
    • Système : journal sur la configuration et l'état du système.
    • Utilisateur : journaux importants concernant le client.
    • User-Debug : journal détaillé sur le client.
    • Sans fil : journal concernant la radio.
  7. Cliquez sur OK pour enregistrer la configuration.

Utiliser la CLI

  1. Connectez-vous à la CLI Aruba Instant AP.
  2. Passez en mode configuration :

    configure terminal
    
  3. Configurez le serveur et le niveau Syslog :

    syslog-server <BINDPLANE_IP_ADDRESS>
    syslog-level warnings
    
    • Remplacez <BINDPLANE_IP_ADDRESS> par l'adresse IP de l'hôte de votre agent BindPlane.
    • Ajustez le niveau de gravité si nécessaire.

Option C : Aruba AOS-S (commutateurs)

  1. Connectez-vous à la CLI du commutateur Aruba AOS-S.
  2. Passez en mode de configuration :

    configure
    
  3. Configurer le serveur Syslog :

    logging <BINDPLANE_IP_ADDRESS>
    logging severity warnings
    
    • Remplacez <BINDPLANE_IP_ADDRESS> par l'adresse IP de l'hôte de votre agent Bindplane.
    • Ajustez le niveau de gravité si nécessaire.
  4. Enregistrez la configuration :

    write memory
    

Option D : Aruba Central (sur site)

  1. Connectez-vous à l'interface Web Aruba Central.
  2. Accédez à System> System Administration> Notifications> Syslog Server (Système > Administration système > Notifications > Serveur Syslog).
  3. Cliquez sur Ajouter ou Activer.
  4. Fournissez les informations de configuration suivantes :
    • Hôte : saisissez l'adresse IP de l'agent BindPlane.
    • Port : saisissez 514 (ou le port configuré dans Bindplane).
    • Protocole : sélectionnez UDP ou TCP, en fonction de la configuration de votre agent Bindplane.
    • Établissement : sélectionnez Local7 ou selon vos besoins.
    • Gravité : sélectionnez le niveau de journalisation minimal (par exemple, Avertissement ou Info).
  5. Cliquez sur Enregistrer.

Table de mappage UDM

Champ du journal Mappage UDM Logique
notifications.created_timestamp metadata.event_timestamp.seconds Le champ de journal brut notifications.created_timestamp est converti en secondes et mappé. Les nanosecondes sont perdues lors de la conversion.
notifications.customer_id metadata.product_log_id Mappage direct.
notifications.device_id principal.resource.product_object_id Mappage direct.
notifications.group_name principal.group.group_display_name Mappage direct.
notifications.id metadata.product_log_id Mappage direct.
notifications.timestamp metadata.event_timestamp.seconds Le champ de journal brut notifications.timestamp est converti en secondes et mappé.
rogue_aps.acknowledged security_result.detection_fields.value où security_result.detection_fields.key est "acknowledged" Converti en chaîne et mappé.
rogue_aps.containment_status metadata.description Mappage direct.
rogue_aps.cust_id metadata.product_log_id Mappage direct.
rogue_aps.encryption security_result.detection_fields.value où security_result.detection_fields.key est "encryption" Mappage direct.
rogue_aps.first_det_device principal.resource.product_object_id Mappage direct.
rogue_aps.first_det_device_name principal.hostname Mappage direct.
rogue_aps.first_seen principal.domain.first_seen_time.seconds Analysé en tant que date et les secondes depuis l'epoch sont mappées.
rogue_aps.group_name principal.group.group_display_name Mappage direct.
rogue_aps.id principal.mac Convertis en minuscules et mappés.
rogue_aps.labels security_result.detection_fields.value où security_result.detection_fields.key correspond à "labels" Mappage direct.
rogue_aps.last_det_device security_result.about.user.product_object_id Mappage direct.
rogue_aps.last_det_device_name target.hostname Mappage direct.
rogue_aps.last_seen principal.domain.last_seen_time.seconds Analysé en tant que date, et les secondes depuis l'epoch sont mappées. Il est également utilisé comme code temporel de l'événement, le cas échéant.
rogue_aps.mac_vendor target.administrative_domain Mappage direct.
rogue_aps.name target.user.userid Mappage direct.
rogue_aps.overriden security_result.detection_fields.value où security_result.detection_fields.key est "overriden" Converti en chaîne et mappé.
rogue_aps.signal security_result.detection_fields.value où security_result.detection_fields.key est "signal" Converti en chaîne et mappé.
rogue_aps.ssid security_result.detection_fields.value où security_result.detection_fields.key est "ssid" Mappage direct.
site principal.location.name Mappage direct.
wids_aps_info_list.attack_type metadata.description Mappage direct.
wids_aps_info_list.detected_ap principal.hostname Mappage direct.
wids_aps_info_list.description security_result.description Mappage direct. Également utilisé pour extraire plusieurs champs à l'aide de grok.
wids_aps_info_list.event_time metadata.event_timestamp.seconds Converti en chaîne et utilisé comme code temporel de l'événement, le cas échéant.
wids_aps_info_list.event_type metadata.product_event_type Mappage direct.
wids_aps_info_list.macaddr principal.mac Convertis en minuscules et mappés.
wids_aps_info_list.radio_band security_result.detection_fields.value où security_result.detection_fields.key est "radio_band" Mappage direct.
wids_aps_info_list.virtual_controller target.hostname Mappage direct. Définissez la valeur sur true si notifications.severity est défini sur "Emergency", "Alert" ou "Critical". Définissez sur true si notifications.severity est "Emergency", "Alert" ou "Critical". Déterminée par les champs events.event_type ou notifications.type, ou définie sur GENERIC_EVENT par défaut. Plusieurs mappages sont dérivés de la logique : STATUS_STARTUP, STATUS_SHUTDOWN, STATUS_UPDATE, USER_LOGIN, USER_LOGOUT. Toujours défini sur "ARUBA_IPS". Toujours défini sur "ARUBA_IPS". Toujours défini sur "ARUBA". Définissez-le sur "DHCP" si events.event_type est défini sur "Accusé de réception DHCP du client" ou "Délai d'expiration DHCP du client". Définissez cette option sur "BOOTREPLY" si events.event_type est défini sur "Client DHCP Acknowledged" ou "Client DHCP Timeout". Extrait de events.description à l'aide de grok si events.event_type est "Client DHCP Acknowledged". Définissez cette option sur "ACK" si events.event_type est défini sur "Client DHCP Acknowledged" et que events.description contient une adresse IP. Sinon, définissez-la sur "WIN_EXPIRED". Définissez sur "ACCESS POINT" si events.event_type commence par "Radio", "WLAN", "AP" ou est "Security". Définissez la valeur sur "DEVICE" si events.event_type commence par "Radio", "WLAN", "AP" ou est défini sur "Security". Mappé à partir de events.client_mac pour la plupart des événements client ou de rogue_aps.last_det_device pour les événements AP non autorisés. Définissez la valeur sur "AUTH_VIOLATION" pour des valeurs events.event_type spécifiques ou si notifications.description contient "DoS Attack" ou "disconnect attack". Définissez des valeurs events.event_type spécifiques. Plusieurs paires clé-valeur sont ajoutées en fonction des champs extraits, tels que bssid, channel, previous_channel, ssid, previous bssid, acknowledged, overriden, encryption, signal, labels et radio_band. Mappé à partir de wids_aps_info_list.description pour les événements wids. Déterminé par notifications.severity ou wids_aps_info_list.level. Définissez sur "level: %{wids_aps_info_list.level}" pour les événements WIDS. Définissez des valeurs events.event_type spécifiques. Mappé à partir de rogue_aps.mac_vendor pour les événements de point d'accès non autorisé. Mappé à partir de rogue_aps.last_det_device_name pour les événements AP non autorisés ou de wids_aps_info_list.virtual_controller pour les événements WIDS. Extrait de events.description à l'aide de grok si events.event_type est "Security". Mappé à partir de notifications.client_mac pour les événements de notification, de events.client_mac pour les événements client, de target_mac extrait de wids_aps_info_list.description pour les événements WIDS ou de rogue_aps.id pour les événements de point d'accès non autorisé. Définissez la valeur sur "CLIENT" pour la plupart des événements client. Définissez cette valeur sur "DEVICE" pour la plupart des événements client. Définissez la valeur sur "ACTIVE" si events.event_type est "Security". Mappé à partir de rogue_aps.name pour les événements de point d'accès non autorisé.
events.bssid security_result.detection_fields.value où security_result.detection_fields.key est "bssid" Mappage direct.
events.client_mac target.mac Mappage direct. Également utilisé pour renseigner security_result.about.user.product_object_id pour les événements client et target.ip pour les événements "Sécurité".
events.description metadata.description Mappage direct pour les événements de PA et de radio. Utilisé pour extraire plusieurs champs à l'aide de grok pour d'autres types d'événements.
events.device_mac principal.mac Mappage direct.
events.device_serial principal.resource.product_object_id Mappage direct.
events.events_details.2.channel security_result.detection_fields.value où security_result.detection_fields.key est "channel" Mappage direct.
events.group_name principal.group.group_display_name Mappage direct.
events.hostname principal.hostname Mappage direct.
events.timestamp metadata.event_timestamp.seconds Converti en chaîne, les millisecondes sont supprimées, puis mappées. Également utilisé comme code temporel de l'événement, le cas échéant.
timestamp metadata.event_timestamp Utilisé comme code temporel de l'événement si d'autres champs de code temporel ne sont pas présents. Définissez cette option sur "ACTIVE" pour la plupart des événements client et les événements "Security". Définissez cette option sur "AUTHTYPE_UNSPECIFIED" si events.event_type est défini sur "Client 802.1x Radius Reject". Extrait de events.description à l'aide de grok si events.event_type est "Security".

Journal des modifications

Afficher le journal des modifications de ce parseur

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