Collecter les journaux de commutateur Alcatel

Version de l'analyseur : 1.0

Compatible avec :

Ce document explique comment ingérer les journaux de commutateur Alcatel dans Google Security Operations à l'aide de l'agent Bindplane.

Alcatel-Lucent Enterprise OmniSwitch est une gamme de commutateurs LAN empilables qui offrent un accès au réseau, l'application de règles de sécurité et une gestion unifiée des réseaux filaires et sans fil. Les commutateurs génèrent des messages syslog couvrant les événements d'authentification, les changements d'état d'interface, les opérations de VLAN et les commandes CLI.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Windows Server 2016 ou version ultérieure, ou hôte Linux avec systemd
  • Connectivité réseau entre l'agent Bindplane et le commutateur Alcatel
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
  • Identifiants privilégiés pour le commutateur Alcatel (accès administrateur)

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.
  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 de 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 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
    
  3. Attendez la fin de l'installation.

  4. Vérifiez l'installation en exécutant la commande suivante :

    sc query observiq-otel-collector
    

    Le service doit être indiqué comme RUNNING (EN COURS D'EXÉCUTION).

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
    
  3. Attendez la fin de l'installation.

  4. Vérifiez l'installation en exécutant la commande suivante :

    sudo systemctl status observiq-otel-collector
    

    Le service doit être indiqué comme actif (en cours d'exécution).

Ressources d'installation supplémentaires

Pour obtenir d'autres options d'installation et de dépannage, consultez le guide d'installation de l'agent Bindplane.

Configurer l'agent Bindplane pour ingérer les journaux syslog et les envoyer à Google SecOps

Localiser le fichier de configuration

  • Linux :

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows :

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifiez le fichier de configuration

  • Remplacez l'intégralité du contenu de config.yaml par la configuration suivante :

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/alcatel_switch:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: ALCATEL_SWITCH
            raw_log_field: body
    
    service:
        pipelines:
            logs/alcatel_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/alcatel_switch
    

Paramètres de configuration

Remplacez les espaces réservés suivants :

  • Configuration du récepteur :

    • listen_address : adresse IP et port à écouter :
      • 0.0.0.0 pour écouter sur toutes les interfaces (recommandé)
      • Le port 514 est le port syslog standard (nécessite la racine sous Linux ; utilisez 1514 pour les utilisateurs non root).
  • Configuration de l'exportateur :

    • creds_file_path : chemin d'accès complet au fichier d'authentification de l'ingestion :
      • Linux : /etc/bindplane-agent/ingestion-auth.json
      • Windows : C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id : ID client copié depuis la console Google SecOps
    • endpoint : URL du point de terminaison régional :
      • États-Unis : malachiteingestion-pa.googleapis.com
      • Europe : europe-malachiteingestion-pa.googleapis.com
      • Asie : asia-southeast1-malachiteingestion-pa.googleapis.com
      • Pour obtenir la liste complète, consultez Points de terminaison régionaux.

Enregistrez le fichier de configuration.

  • Après avoir modifié le fichier, enregistrez-le :
    • Linux : appuyez sur Ctrl+O, puis sur Enter, puis sur Ctrl+X.
    • Windows : cliquez sur Fichier > Enregistrer.

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 observiq-otel-collector
    
    1. Vérifiez que le service est en cours d'exécution :

      sudo systemctl status observiq-otel-collector
      
    2. Recherchez les erreurs dans les journaux :

      sudo journalctl -u observiq-otel-collector -f
      
  • Pour redémarrer l'agent Bindplane dans Windows, choisissez l'une des options suivantes :

    • Invite de commande ou PowerShell en tant qu'administrateur :

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console Services :

      1. Appuyez sur Win+R, saisissez services.msc, puis appuyez sur Entrée.
      2. Localisez le collecteur observIQ OpenTelemetry.
      3. Effectuez un clic droit, puis sélectionnez Redémarrer.
      4. Vérifiez que le service est en cours d'exécution :

        sc query observiq-otel-collector
        
      5. Recherchez les erreurs dans les journaux :

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configurer l'exportation syslog sur le 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 <BINDPLANE_IP>
    
    • Remplacez <BINDPLANE_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.ipprincipal.asset.ip Extrait du message du journal.
1.1.1.2 target.iptarget.asset.ip Extrait du message du journal.
1.1.2.7 target.iptarget.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.secondsmetadata.event_timestamp.nanos Analysé à partir du champ ts.
Dec 8 04:21:22 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analysé à partir du champ ts.
Dec 9 20:08:29 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analysé à partir du champ ts.
Dec 9 20:51:34 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analysé à partir du champ ts.
Dec 11 10:18:30 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analysé à partir du champ ts.
Dec 17 02:14:22 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analysé à partir du champ ts.
Dec 19 10:27:33 metadata.event_timestamp.secondsmetadata.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.secondsmetadata.event_timestamp.nanos Analysé à partir du champ ts.
Feb 16 11:08:45 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analysé à partir du champ ts.
Feb 16 11:08:49 metadata.event_timestamp.secondsmetadata.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.hostnameprincipal.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.secondsmetadata.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.hostnameprincipal.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 de l'sec_summaryfield 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.hostnametarget.asset.hostname Extrait du message du journal.
trafficType=2, principal.resource.attribute.labels.value Extrait du message de journal et mappé en tant que type traffic.
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).

Journal des modifications

Afficher le journal des modifications pour ce parseur

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