Collecter les journaux BlueCat DDI

Compatible avec :

Ce parseur gère les messages syslog au format LEEF et non-LEEF provenant de Bluecat DDI (DNS, DHCP, IPAM). Il extrait les champs de différents types de journaux (par exemple, named, dhcpd, audit et CRON) à l'aide de modèles Grok et d'une logique conditionnelle, les mappe à l'UDM en fonction du type de journal et remplit les champs DNS, DHCP ou liés à l'utilisateur en conséquence.

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

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.

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

  1. Pour installer sous Windows, exécutez le script suivant :
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Pour installer sous Linux, exécutez le script suivant :
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Vous trouverez d'autres options d'installation dans ce guide d'installation.

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

  1. Accédez à la machine sur laquelle Bindplane est installé.
  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: bluceat_ddi
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Redémarrez l'agent Bindplane pour appliquer les modifications :

    sudo systemctl restart bindplane
    

Configurer Syslog sur Bluecat DDI

  1. Connectez-vous à Bluecat Address Manager (BAM).
  2. Dans le menu configuration, sélectionnez une configuration.
  3. Sélectionnez l'onglet Serveurs.
  4. Sous Serveurs, cliquez sur le nom d'une BDDS.
  5. L'onglet Détails du serveur doit s'ouvrir.
  6. Cliquez sur le menu Nom du serveur.
  7. Sélectionnez Configuration du service.
  8. Cliquez sur Type de service> Syslog (Address Manager interroge le serveur et renvoie les valeurs actuelles).
  9. Dans Général, définissez les valeurs suivantes :
    • Serveur Syslog : adresse IP de votre serveur Syslog (Bindplane).
    • Port Syslog : port de votre serveur Syslog (Bindplane).
    • Transport Syslog : sélectionnez TCP ou UDP (selon votre configuration Bindplane).
  10. Cliquez sur Ajouter.
    • Le serveur Syslog que vous venez d'ajouter s'affiche dans la liste.
  11. Cliquez sur Mettre à jour.

Configurer les paramètres Syslog dans BlueCat DDI

  1. Connectez-vous à BlueCat Address Manager.
  2. Accédez à Configuration > Paramètres système > Journalisation.
  3. Dans Logging Settings (Paramètres de journalisation), recherchez la section Syslog Servers (Serveurs Syslog).
  4. Cliquez sur Ajouter un serveur Syslog.
  5. Indiquez les valeurs requises :
    • Nom du serveur : nom unique du serveur syslog (par exemple, BindplaneServer).
    • Adresse IP : adresse IP ou nom d'hôte du serveur syslog.
    • Protocole : sélectionnez TCP, UDP (par défaut) ou TLS (en fonction de votre configuration syslog).
    • Port : spécifiez le port pour la communication syslog (par défaut : 514 pour UDP/TCP, 6514 pour TLS).
  6. Configurez le niveau de journalisation. Choisissez le niveau approprié en fonction de vos besoins. Voici quelques exemples d'options :
    • Urgence : problèmes critiques nécessitant une attention immédiate
    • Alerte : alerte nécessitant une action immédiate
    • Critique : conditions critiques
    • Erreur : événements d'erreur
    • Avertissement : événements d'avertissement
    • Avis : événements normaux, mais importants
    • Info : messages d'information
    • Debug : informations de débogage détaillées
  7. Facultatif : Ajoutez une fonctionnalité Syslog personnalisée pour catégoriser les journaux (par exemple, local0 ou local1).
  8. Enregistrez la configuration.

Appliquer les paramètres Syslog aux appliances DDI

  1. Accédez à Serveurs > Gérer les serveurs.
  2. Sélectionnez les serveurs DNS/DHCP sur lesquels le syslog doit être activé.
  3. Cliquez sur Modifier le serveur.
  4. Dans la section Journalisation :
    • Sélectionnez le serveur syslog que vous avez configuré précédemment.
    • Activez la journalisation pour des services spécifiques (par exemple, requêtes DNS ou baux DHCP).
    • Enregistrez les modifications.

Table de mappage UDM

Champ du journal Mappage UDM Logique
client_ip network.dhcp.ciaddr Extrait du message DHCPREQUEST. Rempli uniquement pour les messages DHCPREQUEST.
client_mac principal.mac Extraite des messages DHCP (DHCPDISCOVER, DHCPREQUEST, DHCPRELEASE).
client_mac target.mac Extraite des messages DHCP (DHCPOFFER, DHCPNAK).
client_mac network.dhcp.chaddr Extraites des messages DHCP (DHCPREQUEST, DHCPOFFER, DHCPACK, DHCPNAK, DHCPRELEASE).
cmd target.process.command_line Extrait des journaux CRON. Les esperluettes et les espaces sont supprimés.
description metadata.description Extraites de différents types de journaux, elles fournissent un contexte supplémentaire.
description metadata.description Extrait des journaux syslog-ng, fournissant un contexte supplémentaire.
file_path target.file.full_path Extrait de différents types de journaux, représentant le chemin d'accès complet à un fichier.
file_path target.process.file.full_path Extrait des journaux agetty, représentant le chemin d'accès complet à un fichier lié à un processus.
inner_message metadata.description Utilisé comme description pour les GENERIC_EVENTs lorsque le type d'opération n'est pas défini et pour les journaux MEM-MON.
metadata.event_type Déterminé par l'analyseur en fonction du type et du contenu du journal. Les valeurs possibles sont les suivantes : NETWORK_DNS, NETWORK_DHCP, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, GENERIC_EVENT, STATUS_UPDATE, NETWORK_CONNECTION. Toujours "BLUECAT_DDI".
metadata.vendor_name Toujours "Bluecat Networks".
metadata.product_name Toujours "Bluecat DDI".
metadata.event_timestamp Copié à partir de l'horodatage analysé de l'entrée de journal.
network.protocol Définissez la valeur sur "DNS" pour les journaux DNS ou sur "DHCP" pour les journaux DHCP.
network.dns.answers Tableau contenant les enregistrements de réponse. Le champ data dans answers est renseigné avec target_ip, le cas échéant.
network.dns.questions Tableau contenant des enregistrements de questions. Le champ name est renseigné avec target_host, le champ type est dérivé des champs query_type ou question_type, et le champ class est dérivé du champ qclass.
network.dns.recursive Définissez sur "true" si le rec_flag est "+".
qclass network.dns.questions.class Extraite des journaux de requêtes DNS et associée à une valeur entière à l'aide du fichier dns_query_class_mapping.include.
query_type network.dns.questions.type Extraite des journaux de requêtes DNS et associée à une valeur entière à l'aide du fichier dhcp_qtype_mapping.include.
relay_ip intermediary.ip Extraite des journaux DNS et DHCP, elle représente l'adresse IP d'un serveur relais ou intermédiaire.
server_host target.hostname Extrait de différents types de journaux, représentant le nom d'hôte du serveur.
server_host network.dhcp.sname Extrait des journaux DHCP, représentant le nom d'hôte du serveur.
server_host principal.hostname Extrait de systemd, agetty et de certains journaux d'audit, représentant le nom d'hôte du compte principal.
server_ip target.ip Extrait des journaux au format LEEF, représentant l'adresse IP du serveur.
src_ip principal.ip Extrait de différents types de journaux, représentant l'adresse IP source.
src_ip network.dhcp.yiaddr Utilisée dans les messages DHCPINFORM pour remplir le champ yiaddr.
src_port principal.port Extrait de différents types de journaux, représentant le port source.
src_user principal.user.userid Extrait des journaux CRON et d'audit, représentant l'ID utilisateur.
target_host target.hostname Extrait de différents types de journaux, représentant le nom d'hôte cible.
target_host network.dns.questions.name Utilisé dans les journaux DNS pour renseigner le nom de la question.
target_ip target.ip Extrait de différents types de journaux, représentant l'adresse IP cible.
target_ip network.dhcp.ciaddr Utilisé dans les messages BOOTREQUEST pour remplir le champ ciaddr.
target_ip network.dns.answers.data Utilisé dans les journaux DNS pour remplir les données de réponse.
tgt_port target.port Extrait des journaux syslog-ng, représentant le port cible.

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