Collecter les journaux des commutateurs Dell

Compatible avec:

Cet analyseur extrait les journaux des commutateurs 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 sur le modèle de données unifié (UDM), gère différents formats de journaux et enrichit les données d'informations contextuelles telles que les détails des composants et la 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 l'application 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'administration 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 BindPlane sera installé.

Obtenir le numéro client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Profil.
  3. Copiez et sauvegardez l'ID client dans la section Détails de l'organisation.

Installer l'agent BindPlane

Installation de Windows

  1. Ouvrez l'invite de commande 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 des 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
    

Autres ressources d'installation

Configurer l'agent BindPlane pour ingérer Syslog et l'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 (nano, vi ou Bloc-notes, par exemple).
  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 dans votre infrastructure si nécessaire.

  4. Remplacez <customer_id> par le numéro client réel.

  5. Remplacez /path/to/ingestion-authentication-file.json par le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification d'ingestion Google SecOps.

Redémarrez 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 à partir d'un commutateur Dell

  1. Connectez-vous au commutateur Dell à l'aide de SSH ou du port de 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 consigner 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 persistent après les redémarrages:

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

    write memory
    

Tableau 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é en tant qu'adresse IP et utilisé pour l'adresse IP du principal et de l'asset s'il s'agit d'une adresse IP valide et différente du nom d'hôte.
application principal.application Mappage direct.
asset principal.asset.attribute.labels.value Mappé directement à la valeur du libellé d'élément, avec la clé codée en dur sous la forme "Nom de l'élément". Si le champ de l'asset est vide et que le message contient "Dell", l'asset est défini sur "Dell".
auid principal.resource.attribute.labels.value Mappé directement sur un libellé avec la clé auid dans principal.resource.attribute.labels.
datetime metadata.event_timestamp Analyse de différents formats dans le champ de message et conversion en code temporel.
dest_ip target.asset.ip, target.ip Mappé sur l'adresse IP cible et l'adresse IP de l'élément cible.
enterpriseId principal.resource.attribute.labels.value Mappé sur un libellé avec la clé enterpriseId dans principal.resource.attribute.labels.
exe sec_result.detection_fields.value Mappé sur un champ de détection avec la clé exe.
File target.file.full_path Mappage direct.
grantors principal.resource.attribute.labels.value Mappé sur 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 S'il s'agit d'une adresse IP valide, elle est 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é sur un libellé avec la clé ID dans principal.resource.attribute.labels.
ip principal.asset.ip, principal.ip Mappé sur l'adresse IP principale et l'adresse IP de l'élément.
is_synced sec_result.detection_fields.value Mappé sur un champ de détection avec la clé is_synced.
local target.asset.ip, target.ip, target.port Analyse pour extraire l'adresse IP et le port locaux, mappés sur l'adresse IP cible, l'adresse IP de l'asset cible et le port cible.
local_ip target.asset.ip, target.ip Extrait du champ local et mappé sur l'adresse IP cible et l'adresse IP de l'élément cible.
local_port target.port Extrait du champ local et mappé sur le port cible.
mac principal.mac S'il s'agit d'une adresse MAC valide, mappée à l'adresse MAC principale.
msg metadata.description Utilisé comme description de l'événement, le cas échéant. Analyse également des 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é. S'il contient "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 "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 Mappage direct.
port principal.port Mappage direct.
prod_event_type metadata.product_event_type Utilisé comme type d'événement produit, le cas échéant.
res sec_result.summary Mappage direct.
sec_description sec_result.description, target.url, target.ip, target.asset.ip, sec_result.action_details Analyse de l'URL cible, de l'adresse IP et des détails de l'action, et utilisation comme description des résultats de sécurité.
Server_ID target.resource.product_object_id Mappage direct.
server principal.asset.ip, principal.ip, principal.port Analyse pour extraire l'adresse IP et le port du serveur, mappés sur l'adresse IP principale, l'adresse IP de l'asset principal et le port principal.
server_ip principal.asset.ip, principal.ip Extrait du champ server et mappé sur l'adresse IP principale et l'adresse IP de l'élément principal.
server_port principal.port Extrait du champ server et mappé sur le port principal.
ses network.session_id Mappage direct.
severity sec_result.severity, metadata.product_event_type Permet de déterminer la sévérité des résultats de sécurité et le type d'événement du produit en fonction de valeurs spécifiques.
software principal.asset.software Mappage direct.
softwareName software.name Mappage direct.
Status sec_result.summary Utilisé comme résumé des résultats de sécurité si res n'est pas présent.
subj principal.resource.attribute.labels.value Mappé sur un libellé avec la clé subj dans principal.resource.attribute.labels.
swVersion software.version Mappage direct.
target_host target.hostname, target.asset.hostname Mappé directement sur le nom d'hôte cible et le nom d'hôte de l'asset cible.
target_ip target.asset.ip, target.ip Mappé directement à l'adresse IP cible et à l'adresse IP de l'élément cible.
target_url target.url Mappage direct.
target_user_id target.user.userid Mappage direct.
terminal principal.resource.attribute.labels.value Mappé sur un libellé avec la clé terminal dans principal.resource.attribute.labels.
tzknown sec_result.detection_fields.value Mappé sur un champ de détection avec la clé tzknown.
uid principal.resource.attribute.labels.value Mappé sur 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 Code dur "Dell".
N/A metadata.product_name Code 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 divers champs et conditions. La valeur par défaut est GENERIC_EVENT, sauf si vous la définissez autrement. Il peut s'agir de USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, NETWORK_CONNECTION, NETWORK_UNCATEGORIZED, STATUS_UPDATE ou GENERIC_EVENT.

Modifications

2024-04-25

  • Ajout de modèles Grok pour analyser un nouveau type de journal.
  • Mappage de op sur metadata.product_event_type.
  • Mappage de mac sur principal.mac.
  • Mappage de addr sur principal.ip.
  • Mappage de hostname sur principal.ip.
  • Mappage de server_ip sur principal.ip.
  • Mappage de server_port sur principal.port.
  • Mappage de acct sur principal.user.userid.
  • Mappage de target_ip sur target.ip.
  • Mappage de local_ip sur target.ip.
  • Mappage de local_port sur target.port.
  • Mappage de File sur target.file.full_path.
  • Mappage de target_host sur target.hostname.
  • Mappage de target_user_id sur target.user.userid.
  • Mappage de Server_ID sur target.resource.product_object_id.
  • tzknown, is_synced et exe ont été mappés sur security_result.detection_fields.
  • Mappage de res sur security_result.summary.
  • Si la valeur du champ res est "", status est mappé sur security_result.summary.
  • uid, enterpriseId, auid, terminal, subj, grantors et ID ont été mappés sur principal.resource.attribute.labels.

2024-04-04

  • Ajout de modèles Grok pour analyser le nouveau type de journal.
  • Mappage de prod_event_type sur metadata.product_event_type.
  • Mappage de ip sur principal.ip.
  • Mappage de dest_ip sur target.ip.
  • Mappage de target_url sur target.url.
  • Mappage de sec_description sur security_result.description.
  • Mappage de action_details sur security_result.action_details.

2024-01-04

  • Ajout de modèles Grok pour les journaux nouvellement ingérés.
  • Ajout d'un bloc de date lorsque datetime est au format SYSLOGTIMESTAMP.
  • Mappage de softwareName sur principal.asset.software.name.
  • Mappage de swVersion sur principal.asset.software.version.
  • Mappage de port sur principal_port.
  • user a été mappé sur principal.user.userid et metadata.event_type a été défini sur USER_UNCATEGORIZED lorsque user est présent.
  • Mappage de application sur principal.application.
  • Mappage de ip sur principal.ip.
  • Définissez sec_result.severity sur INFORMATIONAL lorsque severity est IFMGR-5-OSTATE_DN.
  • Mappage de msg sur metadata.description.

2023-11-02

  • Analyseur nouvellement créé.