Collecter les journaux des modems Digi

Compatible avec :

Ce document explique comment ingérer les journaux Digi Modems dans Google Security Operations à l'aide de Bindplane. Le code du parseur extrait d'abord des champs tels que le code temporel, le nom d'hôte, le type de produit et le contenu du journal des messages syslog DIGI_MODEMS à l'aide de modèles Grok. Il analyse ensuite le contenu pour identifier les tentatives de connexion (réussies ou échouées), en extrayant des détails tels que l'utilisateur, l'adresse IP, le port et les protocoles. Enfin, il mappe ces champs extraits dans un schéma de modèle de données unifié (UDM) pour l'analyse de la sécurité.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google SecOps
  • Windows 2016 ou version ultérieure, ou un hôte Linux avec systemd
  • Si vous exécutez le programme derrière un proxy, les ports du pare-feu sont ouverts.
  • Accès privilégié à l'interface utilisateur Web de Digi Remote Manager ou du modem Digi local

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

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
    

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

Pour plus d'options d'installation, consultez le guide 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. Il se trouve généralement 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:
        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_file_path: '/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
            log_type: 'DIGI_MODEMS'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
    • Remplacez <customer_id> par le numéro client réel.
    • 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.

  1. Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart bindplane-agent
    
  2. 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 le serveur Syslog sur le modem Digi

  1. Connectez-vous à Digi Remote Manager ou à l'interface utilisateur Web locale Digi Modem.
  2. Accédez à la configuration de l'appareil avec Remote Manager :
    • Recherchez l'appareil pour lequel vous souhaitez configurer Syslog.
    • Cliquez sur ID de l'appareil> Paramètres> Config.
  3. Accédez à la configuration de l'appareil avec l'interface utilisateur Web du modem Digi local :
    • Cliquez sur Système > Configuration > Configuration de l'appareil.
  4. Accédez à Système > Journal.
  5. Cliquez sur Liste des serveurs pour développer la section.
  6. Cliquez sur Ajouter un serveur +.
  7. Fournissez les informations de configuration suivantes :
    • Serveur : saisissez l'adresse IP de l'agent Bindplane.
    • Sélectionnez les catégories d'événements qui seront envoyées au serveur (toutes les catégories d'événements sont activées par défaut).
    • Port de sortie Syslog : saisissez le numéro de port de l'agent Bindplane (514 par défaut).
    • Protocole : sélectionnez UDP.
  8. Cliquez sur Appliquer.

Table de mappage UDM

Champ de journal Mappage UDM Logique
contenu security_result.description Directement mappé à partir du champ content après l'analyse grok initiale.
http_method network.http.method Extrait du champ content à l'aide d'un modèle Grok.
http_version network.application_protocol_version Extrait du champ content à l'aide d'un modèle Grok.
nom d'hôte principal.hostname Extrait du message de journal à l'aide d'un modèle Grok.
ip target.ip Extrait du champ content à l'aide d'un modèle Grok.
port target.port Extrait du champ content à l'aide d'un modèle Grok et converti en entier.
proto network.application_protocol Extrait du champ content à l'aide d'un modèle Grok.
ts metadata.event_timestamp Extrait du message de journal à l'aide d'un modèle Grok et converti en code temporel.
type login_type_label.value Extrait du champ content à l'aide d'un modèle Grok.
extensions.auth.type Définie sur MACHINE par la logique de l'analyseur.
login_type_label.key Définie sur Login type par la logique de l'analyseur.
metadata.event_type Déterminé par la présence de champs spécifiques tels que ip ou user, et défini sur NETWORK_CONNECTION ou USER_LOGIN en conséquence.
metadata.log_type Définie sur DIGI_MODEMS par la logique de l'analyseur.
metadata.product_event_type Extrait du champ product_type du message du journal.
metadata.product_name Définie sur DIGI_MODEMS par la logique de l'analyseur.
metadata.vendor_name Définie sur DIGI_MODEMS par la logique de l'analyseur.
security_result.action Déterminé par la présence de Login OK ou Login failure dans le message et défini sur ALLOW ou BLOCK, respectivement.
utilisateur target.user.userid Extrait du champ content à l'aide d'un modèle Grok.

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