Collecter les journaux de commutateur Alcatel
Ce document explique comment ingérer des journaux de commutateur Alcatel dans Google Security Operations à l'aide d'un agent Bindplane. L'analyseur extrait les champs à l'aide d'une série de modèles grok
basés sur différents formats de journaux. Il mappe ensuite les champs extraits aux champs correspondants du modèle de données unifié (UDM, Unified Data Model) et enrichit les données avec des métadonnées telles que le fournisseur et le type d'événement.
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'identifiants privilégiés pour un commutateur Alcatel.
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: ALCATEL_SWITCH 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 du commutateur Alcatel
- Connectez-vous au commutateur à l'aide de SSH ou d'un câble de console.
- Connectez-vous avec des identifiants administrateur.
Passez en mode configuration globale :
enable configure terminal
Définissez l'adresse IP du serveur Bindplane (syslog) :
swlog output socket <syslog-server-ip>
- Remplacez
<syslog-server-ip>
par l'adresse IP de l'agent Bindplane.
- Remplacez
Activez la journalisation sur le serveur syslog :
swlog remote enable
Configurez le niveau de journalisation :
swlog console level info
Activez la journalisation des commandes :
command-log enable
Enregistrez les modifications apportées à la configuration de démarrage :
write memory
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
1.1.1.1 |
principal.ip principal.asset.ip |
Extrait du message du journal. |
1.1.1.2 |
target.ip target.asset.ip |
Extrait du message du journal. |
1.1.2.7 |
target.ip target.asset.ip |
Extrait du message du journal. |
1035 |
target.port | Extrait du message du journal. |
2266 |
additional.fields.value.string_value | Extrait du message de journal et mappé en tant que vlan . |
3036 |
principal.port | Extrait du message du journal. |
59300 |
target.port | Extrait du message du journal. |
60588 |
target.port | Extrait du message du journal. |
997 |
principal.resource.attribute.labels.value | Extrait du message de journal et mappé en tant que limit . |
A6450-L2-K4B-01 |
principal.application | Extrait du message du journal. |
A6450-L2-X1B-02-01 |
principal.application | Extrait du message du journal. |
A6450-L2-X2A-01-01 |
principal.application | Extrait du message du journal. |
A6450-L2-X4B-02-01 |
principal.application | Extrait du message du journal. |
A6900-L3-LTX0A |
principal.application | Extrait du message du journal. |
Accepted keyboard-interactive/pam |
security_result.summary | Partie du champ sec_summary extrait. |
b8:53:ac:6e:c9:bc |
principal.mac | Extrait du message du journal. |
BRIDGE(10) |
additional.fields.value.string_value | Extrait du message de journal et mappé en tant que id_protocol . |
CLI log, |
security_result.summary | Partie du champ sec_summary extrait. |
cmd: show configuration snapshot all, |
security_result.detection_fields.value | Extrait du message de journal et mappé en tant que cmd . |
Connection reset by 1.1.2.7 port 60505 |
security_result.summary | Extrait du message du journal. |
Dec 7 14:28:40 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Dec 8 04:21:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Dec 9 20:08:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Dec 9 20:51:34 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Dec 11 10:18:30 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Dec 17 02:14:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Dec 19 10:27:33 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Did not receive identification string from 1.1.2.7 port 60588 |
security_result.summary | Extrait du message du journal. |
esmSetRateLimit: Txing |
additional.fields.value.string_value | Extrait du message de journal et mappé en tant que esm_set_rate_limit . |
Feb 15 16:29:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Feb 16 11:08:45 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
Feb 16 11:08:49 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid |
security_result.summary | Extrait du message du journal. |
for ncmadmin from 1.1.1.2 port 59300 ssh2 |
security_result.summary | Partie du champ sec_summary extrait. |
from port 3036 to port 1035 |
security_result.summary | Partie du champ sec_summary extrait. |
IVDELCSW03 |
principal.hostname principal.asset.hostname |
Extrait du message de journal lorsque principal_ip n'est pas une adresse IP. |
IP-HELPER(22) |
additional.fields.value.string_value | Extrait du message de journal et mappé en tant que id_protocol . |
Jan 16 02:14:13 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analysé à partir du champ ts . |
LLDP(42) |
additional.fields.value.string_value | Extrait du message de journal et mappé en tant que id_protocol . |
limit=997, |
principal.resource.attribute.labels.value | Extrait du message de journal et mappé en tant que limit . |
limitType=1 |
principal.resource.attribute.labels.value | Extrait du message de journal et mappé en tant que limitType . |
lldpProcessLocationIdTLV: Error, LLDP-MED Civic Address LCI len 39 invalid, tlvL |
security_result.summary | Extrait du message du journal. |
Mac Movement for MacAddr: a0:29:19:c0:55:18 |
security_result.summary | Extrait du message du journal. |
MacAddr: a0:29:19:c0:55:18 |
principal.mac | Extrait du message du journal. |
ncmadmin |
principal.user.userid | Extrait du message du journal. |
OS6360 |
principal.hostname principal.asset.hostname |
Extrait du message de journal lorsque principal_ip n'est pas une adresse IP. |
result: SUCCESS |
security_result.detection_fields.value | Extrait du message de journal et mappé en tant que result . |
SES CMD info(5) |
security_result.summary | Partie du champ sec_summary extrait. |
STACK-MANAGER |
principal.application | Extrait du message du journal. |
Stack Port A MAC Frames TX/RX Enabled |
security_result.summary | Extrait du message du journal. |
STP(11) |
additional.fields.value.string_value | Extrait du message de journal et mappé en tant que id_protocol . |
SWCONSOLE-L2-K0A-01 |
target.hostname target.asset.hostname |
Extrait du message du journal. |
trafficType=2, |
principal.resource.attribute.labels.value | Extrait du message de journal et mappé en tant que trafficType . |
user: ncmadmin |
security_result.summary | Partie du champ sec_summary extrait. |
zslot=0, |
principal.resource.attribute.labels.value | Extrait du message de journal et mappé en tant que zslot . |
- | additional.fields.key | Valeur codée en dur : id_protocol |
- | additional.fields.key | Valeur codée en dur : esm_set_rate_limit |
- | additional.fields.key | Valeur codée en dur : vlan |
- | metadata.event_type | Définissez cette valeur sur GENERIC_EVENT si aucun autre type ne correspond. |
- | metadata.product_name | Valeur codée en dur : Alcatel Switch |
- | metadata.vendor_name | Valeur codée en dur : ALCATEL SWITCH |
- | network.application_protocol | Définissez la valeur sur SSH lorsque id_protocol correspond à ssh (sans tenir compte de la casse). |
- | principal.resource.attribute.labels.key | Valeur codée en dur : limit |
- | principal.resource.attribute.labels.key | Valeur codée en dur : trafficType |
- | principal.resource.attribute.labels.key | Valeur codée en dur : limitType |
- | principal.resource.attribute.labels.key | Valeur codée en dur : zslot |
- | security_result.detection_fields.key | Valeur codée en dur : cmd |
- | security_result.detection_fields.key | Valeur codée en dur : result |
- | security_result.severity | Définissez la valeur sur INFORMATIONAL lorsque prod_severity correspond à info (sans tenir compte de la casse). |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.