Collecter les journaux de commutateur Dell

Compatible avec :

Ce parseur extrait les journaux de commutateur Dell, normalise les codes temporels et utilise des modèles Grok pour structurer le message de journal en paires clé/valeur. Il mappe ensuite ces champs extraits au modèle de données unifié (UDM), en gérant différents formats de journaux et en enrichissant les données avec des informations contextuelles telles que les détails des composants et le niveau de gravité de la sécurité.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google Security Operations.
  • 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'une connexion active et d'identifiants d'administrateur pour un commutateur Dell.

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 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

Installation de Windows

  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 les journaux Syslog et les envoyer à Google SecOps

  1. 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).
  2. 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: sell_switch
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                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émarrer l'agent Bindplane pour appliquer les modifications

  • Sous Linux, pour redémarrer l'agent Bindplane, exécutez la commande suivante :

    sudo systemctl restart bindplane-agent
    
  • Sous Windows, pour redémarrer l'agent Bindplane, vous pouvez utiliser la console Services ou saisir la commande suivante :

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurer l'exportation Syslog depuis un commutateur Dell

  1. Connectez-vous au commutateur Dell à l'aide de SSH ou du port de la console.
  2. Connectez-vous avec des identifiants d'administrateur.
  3. Utilisez la commande suivante pour spécifier l'adresse IP ou le nom d'hôte du serveur syslog (remplacez <syslog_server_ip>, <udp|tcp> et <syslog-port-number> par les informations réelles) :

    logging host <syslog-server-ip> transport <udp|tcp> port <syslog-port-number>
    
  4. Facultatif : Définissez le niveau de gravité minimal des messages à envoyer au serveur syslog. Par exemple, pour enregistrer les messages d'information et les messages de niveau supérieur :

    logging level informational
    
  5. Enregistrez la configuration en cours d'exécution dans la configuration de démarrage pour vous assurer que les modifications sont conservées lors des redémarrages :

    copy running-config startup-config
    
  6. Enregistrez la configuration :

    write memory
    

Table de mappage UDM

Champ de journal Mappage UDM Logique
acct principal.user.userid Utilisé comme userid si le champ user n'est pas présent.
addr principal.asset.ip, principal.ip Analysé comme une adresse IP et utilisé pour l'adresse IP du principal et l'adresse IP de l'asset s'il s'agit d'une adresse IP valide et différente du nom d'hôte.
application principal.application Mappé directement.
asset principal.asset.attribute.labels.value Directement mappé à la valeur du libellé d'élément, avec la clé codée en dur "Nom de l'élément". Si le champ "Asset" est vide et que le message contient "Dell", l'asset est défini sur "Dell".
auid principal.resource.attribute.labels.value Directement mappé à un libellé avec la clé auid dans principal.resource.attribute.labels.
datetime metadata.event_timestamp Analysé à partir de différents formats dans le champ du message et converti en code temporel.
dest_ip target.asset.ip, target.ip Mappé à l'adresse IP cible et à l'adresse IP de l'élément cible.
enterpriseId principal.resource.attribute.labels.value Mappé à un libellé avec la clé enterpriseId dans principal.resource.attribute.labels.
exe sec_result.detection_fields.value Mappé à un champ de détection avec la clé exe.
File target.file.full_path Mappé directement.
grantors principal.resource.attribute.labels.value Mappé à un libellé avec la clé grantors dans principal.resource.attribute.labels.
host principal.hostname, principal.asset.hostname, metadata.event_type Utilisé comme nom d'hôte principal et nom d'hôte de l'élément. Si host est présent, metadata.event_type est défini sur STATUS_UPDATE. Si le nom d'hôte est présent, mais pas l'hôte, le nom d'hôte est utilisé comme hôte.
hostname principal.asset.ip, principal.ip, host Adresse IP valide, utilisée pour l'adresse IP principale et l'adresse IP de l'asset. Si host est vide, il est utilisé comme host.
ID principal.resource.attribute.labels.value Mappé à un libellé avec la clé ID dans principal.resource.attribute.labels.
ip principal.asset.ip, principal.ip Mappé à l'adresse IP principale et à l'adresse IP de l'élément.
is_synced sec_result.detection_fields.value Mappé à un champ de détection avec la clé is_synced.
local target.asset.ip, target.ip, target.port Analysé pour extraire l'adresse IP et le port locaux, mappés à l'adresse IP cible, à l'adresse IP de l'asset cible et au port cible.
local_ip target.asset.ip, target.ip Extrait du champ local et mappé à l'adresse IP cible et à l'adresse IP de l'asset cible.
local_port target.port Extrait du champ local et mappé au port cible.
mac principal.mac Si l'adresse MAC est valide, elle est mappée à l'adresse MAC principale.
msg metadata.description Utilisé comme description de l'événement, le cas échéant. Également analysé pour les champs supplémentaires.
msg1 metadata.description Utilisé comme description de l'événement si msg2 n'est pas présent.
msg2 sec_result.description, metadata.event_type, extensions.auth.type Utilisé comme description du résultat de sécurité. Si elle contient "opened for user" (ouvert pour l'utilisateur), le type d'événement est défini sur USER_LOGIN et le type d'authentification sur MACHINE. Si elle contient "closed for user" (fermé pour l'utilisateur), le type d'événement est défini sur USER_LOGOUT et le type d'authentification sur MACHINE.
op metadata.product_event_type Utilisé comme type d'événement produit, le cas échéant.
pid principal.process.pid Mappé directement.
port principal.port Mappé directement.
prod_event_type metadata.product_event_type Utilisé comme type d'événement produit, le cas échéant.
res sec_result.summary Mappé directement.
sec_description sec_result.description, target.url, target.ip, target.asset.ip, sec_result.action_details Analysé pour l'URL cible, l'adresse IP et les détails de l'action, et utilisé comme description des résultats de sécurité.
Server_ID target.resource.product_object_id Mappé directement.
server principal.asset.ip, principal.ip, principal.port Analysé pour extraire l'adresse IP et le port du serveur, mappé à l'adresse IP principale, à l'adresse IP de l'asset principal et au port principal.
server_ip principal.asset.ip, principal.ip Extrait du champ server et mappé à l'adresse IP principale et à l'adresse IP de l'actif principal.
server_port principal.port Extrait du champ server et mappé au port principal.
ses network.session_id Mappé directement.
severity sec_result.severity, metadata.product_event_type Permet de déterminer la gravité du résultat de sécurité et le type d'événement produit en fonction de valeurs spécifiques.
software principal.asset.software Mappé directement.
softwareName software.name Mappé directement.
Status sec_result.summary Utilisé comme récapitulatif des résultats de sécurité si res n'est pas présent.
subj principal.resource.attribute.labels.value Mappé à un libellé avec la clé subj dans principal.resource.attribute.labels.
swVersion software.version Mappé directement.
target_host target.hostname, target.asset.hostname Directement mappé au nom d'hôte cible et au nom d'hôte de l'asset cible.
target_ip target.asset.ip, target.ip Directement mappé à l'adresse IP cible et à l'adresse IP de l'asset cible.
target_url target.url Mappé directement.
target_user_id target.user.userid Mappé directement.
terminal principal.resource.attribute.labels.value Mappé à un libellé avec la clé terminal dans principal.resource.attribute.labels.
tzknown sec_result.detection_fields.value Mappé à un champ de détection avec la clé tzknown.
uid principal.resource.attribute.labels.value Mappé à un libellé avec la clé uid dans principal.resource.attribute.labels.
user principal.user.userid, metadata.event_type Utilisé comme ID utilisateur principal. Si user est présent, metadata.event_type est défini sur USER_UNCATEGORIZED.
username target.user.userid Mappé directement à l'ID utilisateur cible.
N/A metadata.vendor_name Codé en dur sur "Dell".
N/A metadata.product_name Codé en dur sur "Dell Switch".
N/A extensions.auth.type Définissez la valeur sur MACHINE pour des événements de connexion/déconnexion spécifiques.
N/A metadata.event_type Déterminé par une logique complexe basée sur différents champs et conditions. La valeur par défaut est GENERIC_EVENT si aucune autre valeur n'est définie. Il peut s'agir de USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, NETWORK_CONNECTION, NETWORK_UNCATEGORIZED, STATUS_UPDATE ou GENERIC_EVENT.

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