Collecter les journaux de commutateur Alcatel

Compatible avec :

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

  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: ALCATEL_SWITCH
                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 du commutateur Alcatel

  1. Connectez-vous au commutateur à l'aide de SSH ou d'un câble de console.
  2. Connectez-vous avec des identifiants administrateur.
  3. Passez en mode configuration globale :

    enable
    configure terminal
    
  4. 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.
  5. Activez la journalisation sur le serveur syslog :

    swlog remote enable
    
  6. Configurez le niveau de journalisation :

    swlog console level info
    
  7. Activez la journalisation des commandes :

    command-log enable
    
  8. 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.