Collecter les journaux de commutateur Aruba
Ce parseur extrait les champs des messages syslog du commutateur Aruba à l'aide de modèles Grok et les mappe au modèle UDM. Il gère différents champs, y compris les codes temporels, les noms d'hôtes, les noms d'applications, les ID de processus, les ID d'événements et les descriptions, en remplissant les champs UDM pertinents. Le type d'événement est défini en fonction de la présence d'informations principales.
Avant de commencer
- Assurez-vous de disposer d'une instance Google Security Operations.
- Assurez-vous de disposer d'un hôte Windows 2016 ou version ultérieure, ou d'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é au commutateur Aruba.
Obtenir le fichier d'authentification d'ingestion Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres 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: aruba_switch 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 Syslog sur le commutateur Aruba
Connectez-vous au commutateur Aruba via la console :
ssh admin@<switch-ip>
Connectez-vous au commutateur Aruba via une interface Web :
- Accédez à l'interface utilisateur Web du commutateur Aruba.
- Authentifiez-vous avec les identifiants d'administrateur du commutateur.
Activez Syslog à l'aide de la configuration de la CLI :
Passez en mode de configuration globale :
configure terminal
Spécifiez le serveur syslog externe :
logging <bindplane-ip>:<bindplane-port>
Remplacez
<bindplane-ip>
et<bindplane-port>
par l'adresse de votre agent Bindplane.
Facultatif : Définissez le niveau de gravité de la journalisation :
logging severity <level>
Facultatif : Ajoutez un identifiant (tag) de source de journaux personnalisé :
logging facility local5
Enregistrez la configuration :
write memory
Activez Syslog à l'aide de la configuration de l'interface Web :
- Connectez-vous à l'interface Web du commutateur Aruba.
- Accédez à Système > Journaux > Syslog.
- Ajoutez les paramètres du serveur Syslog :
- Saisissez l'adresse IP Bindplane.
- Saisissez le port Bindplane.
- Définissez le niveau de gravité pour contrôler la verbosité des journaux.
- Cliquez sur Enregistrer.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
app |
principal.application |
La valeur du champ app du journal brut est directement attribuée à principal.application . |
description |
security_result.description |
La valeur du champ description du journal brut est directement attribuée à security_result.description . |
event_id |
additional.fields.key |
La chaîne "event_id" est attribuée à additional.fields.key . |
event_id |
additional.fields.value.string_value |
La valeur du champ event_id du journal brut est directement attribuée à additional.fields.value.string_value . |
host |
principal.asset.hostname |
La valeur du champ host du journal brut est directement attribuée à principal.asset.hostname . |
host |
principal.hostname |
La valeur du champ host du journal brut est directement attribuée à principal.hostname . |
pid |
principal.process.pid |
La valeur du champ pid du journal brut est directement attribuée à principal.process.pid . |
ts |
metadata.event_timestamp |
La valeur du champ ts du journal brut est convertie en code temporel et attribuée à metadata.event_timestamp . L'horodatage est également utilisé pour le champ timestamp de premier niveau dans l'UDM. metadata.event_type est défini sur "STATUS_UPDATE" parce que la variable principal_mid_present est définie sur "true" dans l'analyseur lorsque le champ host est présent dans le journal brut. La chaîne "ARUBA_SWITCH" est attribuée à metadata.product_name dans l'analyseur. La chaîne "ARUBA SWITCH" est attribuée à metadata.vendor_name dans l'analyseur. Le parseur tente d'extraire et d'analyser l'agent utilisateur à partir du journal brut à l'aide de client.userAgent.rawUserAgent . Si l'opération réussit, l'user-agent analysé est attribué à network.http.parsed_user_agent . Toutefois, comme les journaux bruts fournis ne contiennent pas ce champ, il est probable que ce champ UDM soit vide. Le parseur tente d'extraire l'agent utilisateur brut du journal brut à l'aide de client.userAgent.rawUserAgent . Si l'opération réussit, l'user-agent brut est attribué à network.http.user_agent . Toutefois, comme les journaux bruts fournis ne contiennent pas ce champ, il est probable que ce champ UDM soit vide. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.