Collecter les journaux de commutateur Cisco

Compatible avec :

Ce document explique comment ingérer des journaux de commutateurs Cisco dans Google Security Operations à l'aide d'un agent Bindplane. L'analyseur extrait les champs des messages SYSLOG et les mappe à un modèle de données unifié (UDM) en fonction des modèles et des mots clés identifiés. Il gère un large éventail d'événements, y compris les événements DHCP, SSH, les tentatives de connexion, le trafic réseau et les mises à jour de l'état du système. Il les catégorise et enrichit les données avec des informations de sécurité pertinentes.

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'un accès privilégié à un commutateur Cisco.

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: CISCO_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 Syslog sur un commutateur Cisco

  1. Connectez-vous au commutateur Cisco.
  2. Élevez les privilèges en saisissant la commande enable :

    Switch> enable
    Switch#
    
  3. Passez en mode configuration en saisissant la commande conf t :

    Switch# conf t
    Switch(config)#
    
  4. Saisissez les commandes suivantes :

    logging host <bindplane-server-ip> transport <tcp/udp> port <port-number>
    logging source-interface <interface>
    
    • Remplacez <bindplane-server-ip> par l'adresse IP de l'agent Bindplane et <port-number> par le port configuré.
    • Remplacez <tcp/udp> par le protocole d'écoute configuré sur l'agent Bindplane. (par exemple, udp).
    • Remplacez <interface> par l'ID de l'interface Cisco.
  5. Définissez le niveau de priorité en saisissant la commande suivante :

    logging trap Informational 
    logging console Informational 
    logging severity Informational
    
  6. Définissez la fonctionnalité syslog :

    logging facility local6
    
  7. Activez les codes temporels en saisissant la commande suivante :

    service timestamps log datetime
    
  8. Enregistrez la modification et quittez l'éditeur.

  9. Configurez les paramètres pour qu'ils soient conservés après le redémarrage en saisissant la commande suivante :

    copy running-config startup-config
    

Table de mappage UDM

Champ du journal Mappage UDM Logique
action security_result.action_details La valeur de ce champ est dérivée du champ action du journal brut.
day
description metadata.description La valeur de ce champ est dérivée du champ description du journal brut.
description security_result.description La valeur de ce champ est dérivée du champ description du journal brut.
destination_ip target.asset.ip La valeur de ce champ est dérivée du champ destination_ip du journal brut.
destination_ip target.ip La valeur de ce champ est dérivée du champ destination_ip du journal brut.
destination_port target.port La valeur de ce champ est dérivée du champ destination_port du journal brut.
appareil principal.asset.hostname La valeur de ce champ est dérivée du champ device du journal brut.
appareil principal.hostname La valeur de ce champ est dérivée du champ device du journal brut.
appareil target.asset.hostname La valeur de ce champ est dérivée du champ device du journal brut.
appareil target.hostname La valeur de ce champ est dérivée du champ device du journal brut.
device_ip principal.asset.ip La valeur de ce champ est dérivée du champ device_ip du journal brut.
device_ip principal.ip La valeur de ce champ est dérivée du champ device_ip du journal brut.
device_ip target.asset.ip La valeur de ce champ est dérivée du champ device_ip du journal brut.
device_ip target.ip La valeur de ce champ est dérivée du champ device_ip du journal brut.
établissement principal.resource.type La valeur de ce champ est dérivée du champ facility du journal brut.
header_data metadata.product_log_id La valeur de ce champ est dérivée du champ header_data du journal brut.
header_data target.asset.ip La valeur de ce champ est dérivée du champ header_data du journal brut.
header_data target.ip La valeur de ce champ est dérivée du champ header_data du journal brut.
nom d'hôte principal.asset.hostname La valeur de ce champ est dérivée du champ hostname du journal brut.
nom d'hôte principal.hostname La valeur de ce champ est dérivée du champ hostname du journal brut.
ip principal.asset.ip La valeur de ce champ est dérivée du champ ip du journal brut.
ip principal.ip La valeur de ce champ est dérivée du champ ip du journal brut.
ip_address principal.asset.ip La valeur de ce champ est dérivée du champ ip_address du journal brut.
ip_address principal.ip La valeur de ce champ est dérivée du champ ip_address du journal brut.
ip_protocol network.ip_protocol La valeur de ce champ est dérivée du champ ip_protocol du journal brut.
mac principal.mac La valeur de ce champ est dérivée du champ mac du journal brut.
mnémonique network.dhcp.opcode La valeur de ce champ est dérivée du champ mnemonic du journal brut.
mnémonique metadata.product_event_type La valeur de ce champ est dérivée du champ mnemonic du journal brut.
mois
p_ip principal.asset.ip La valeur de ce champ est dérivée du champ p_ip du journal brut.
p_ip principal.ip La valeur de ce champ est dérivée du champ p_ip du journal brut.
port target.port La valeur de ce champ est dérivée du champ port du journal brut.
priorité
protocol network.ip_protocol La valeur de ce champ est dérivée du champ protocol du journal brut.
reason
règle security_result.rule_id La valeur de ce champ est dérivée du champ rule du journal brut.
sec_result_action security_result.action La valeur de ce champ est dérivée du champ sec_result_action du journal brut.
de gravité,
source principal.asset.ip La valeur de ce champ est dérivée du champ source du journal brut.
source principal.ip La valeur de ce champ est dérivée du champ source du journal brut.
source_ip network.dhcp.ciaddr La valeur de ce champ est dérivée du champ source_ip du journal brut.
source_ip principal.asset.ip La valeur de ce champ est dérivée du champ source_ip du journal brut.
source_ip principal.ip La valeur de ce champ est dérivée du champ source_ip du journal brut.
source_mac network.dhcp.chaddr La valeur de ce champ est dérivée du champ source_mac du journal brut.
source_port principal.port La valeur de ce champ est dérivée du champ source_port du journal brut.
résumé security_result.summary La valeur de ce champ est dérivée du champ summary du journal brut.
temps
timezone
utilisateur principal.user.userid La valeur de ce champ est dérivée du champ user du journal brut.
utilisateur target.user.userid La valeur de ce champ est dérivée du champ user du journal brut.
date
an
extensions.auth.type MACHINE
metadata.log_type CISCO_SWITCH
metadata.vendor_name Cisco
metadata.product_name Commutateur Cisco
network.application_protocol DHCP
network.dhcp.type DEMANDER

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