Collecter les journaux Kiteworks (anciennement Accellion)

Compatible avec :

Ce document explique comment ingérer les journaux Kiteworks (anciennement Accellion) dans Google Security Operations à l'aide de Bindplane. L'analyseur extrait le champ audit_message des messages SYSLOG, en gérant à la fois les messages au format JSON (en utilisant grok pour extraire textPayload) et les messages en texte brut. Il applique ensuite un ensemble commun de transformations défini dans auditd.include et ajoute des mappages spécifiques pour les événements de type SYSCALL, en enrichissant les champs UDM avec les données extraites.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Un hôte Windows 2012 SP2 ou version ultérieure, ou un hôte Linux avec systemd
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
  • Accès privilégié à la console de gestion ou à l'appliance Kiteworks (anciennement Accellion)

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
    

Autres ressources d'installation

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. Il se trouve généralement 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_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: 'ACCELLION'
        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.

  • 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 le transfert Syslog sur Kiteworks (anciennement Accellion)

  1. Connectez-vous à la console de gestion Kiteworks en tant qu'administrateur.
  2. Accédez à la page Emplacements en utilisant l'une des méthodes suivantes :
    • Ancienne UI : accédez à Système > Emplacements.
    • Nouvelle interface utilisateur : accédez à Configuration du système > Lieux.
  3. Sélectionnez l'emplacement cible dans la liste.
  4. Accédez à la section Services externes.
  5. Développez le panneau Paramètres Syslog.
  6. Cliquez sur Ajouter pour créer une configuration de serveur syslog.
  7. Fournissez les informations de configuration suivantes :
    • Serveur Syslog : saisissez l'adresse IP de l'agent Bindplane.
    • Protocole : sélectionnez UDP ou TCP, en fonction de la configuration réelle de votre agent Bindplane.
    • Port : saisissez le numéro de port de l'agent Bindplane (par exemple, 514).
    • Format : sélectionnez Format JSON (recommandé pour l'analyse structurée).
    • Fuseau horaire : sélectionnez le fuseau horaire UTC pour une cohérence universelle entre les systèmes.
  8. Cliquez sur Enregistrer pour appliquer la configuration.

Table de mappage UDM

Champ de journal Mappage UDM Logique
acct principal.user.user_display_name Valeur de acct à partir du champ msg du journal brut.
acct target.user.user_display_name Valeur de acct à partir du champ msg du journal brut.
addr principal.ip Valeur de addr à partir du champ msg du journal brut.
a0 security_result.about.labels.value Valeur de a0 provenant du champ msg du journal brut, où le key correspondant est "a0".
a1 security_result.about.labels.value Valeur de a1 du champ msg du journal brut, où le key correspondant est "a1".
a2 security_result.about.labels.value Valeur de a2 du champ msg du journal brut, où le key correspondant est "a2".
a3 security_result.about.labels.value Valeur de a3 du champ msg du journal brut, où le key correspondant est "a3".
arch security_result.about.platform_version Valeur de arch à partir du champ msg du journal brut. Ne s'applique qu'à type_name SYSCALL.
auid about.user.userid Valeur de auid à partir du champ msg du journal brut.
auid security_result.detection_fields.value Valeur de auid du champ msg du journal brut, où le key correspondant est "auid".
comm principal.application Valeur de comm à partir du champ msg du journal brut.
cmd principal.process.command_line Valeur de cmd à partir du champ msg du journal brut.
cwd security_result.detection_fields.value Valeur de cwd du champ msg du journal brut, où le key correspondant est "cwd".
cwd target.process.file.full_path Valeur de cwd à partir du champ msg du journal brut.
exe principal.process.file.full_path Valeur de exe à partir du champ msg du journal brut.
exe target.process.file.full_path Valeur de exe à partir du champ msg du journal brut.
exit security_result.about.labels.value Valeur de exit du champ msg du journal brut, où le key correspondant est "Code de sortie".
hostname principal.hostname Valeur de hostname à partir du champ msg du journal brut. Valeur codée en dur "zing-h2" du champ msg du journal brut.
key security_result.about.registry.registry_key Valeur de key à partir du champ msg du journal brut. Ne s'applique qu'à type_name SYSCALL.
log_type metadata.log_type Valeur de log_type à partir du journal brut.
msg security_result.action_details Valeur après res= dans le champ msg du journal brut.
msg security_result.summary Combinaison de champs du champ msg du journal brut. Par exemple, "session_open success" ou "setcred success". Analysé à partir de la section audit du champ msg dans le journal brut. Mappé en fonction du champ type dans le journal brut. Par exemple, "USER_START" correspond à "USER_LOGIN", "CRED_DISP" correspond à "USER_LOGOUT", "CRED_ACQ" correspond à "USER_LOGIN", "USER_END" correspond à "USER_LOGOUT", "CRED_REFR" correspond à "USER_LOGIN", "USER_CMD" correspond à "USER_LOGIN", "CWD" correspond à "STATUS_UPDATE", "PROCTITLE" correspond à "STATUS_UPDATE", "USER_ACCT" correspond à "USER_UNCATEGORIZED" et "SYSCALL" correspond à "USER_UNCATEGORIZED". Valeur du champ type à partir du champ msg du journal brut. Extrait de la section audit du champ msg dans le journal brut.
node principal.hostname Valeur de node à partir du champ msg du journal brut.
pid principal.process.pid Valeur de pid à partir du champ msg du journal brut.
ppid principal.process.parent_process.pid Valeur de ppid à partir du champ msg du journal brut.
proctitle target.process.file.full_path Valeur hexadécimale décodée de proctitle à partir du champ msg du journal brut. Codé en dur sur "LINUX". Définissez sur "ALLOW" si res=success est présent dans le champ msg du journal brut.
ses network.session_id Valeur de ses à partir du champ msg du journal brut.
syscall security_result.about.labels.value Valeur de syscall provenant du champ msg du journal brut, où le key correspondant est "Syscall".
success security_result.summary Combiné à d'autres champs pour former le résumé. Pour les événements SYSCALL, la logique est la suivante : si success=yes, alors "oui, l'appel système a réussi", sinon "non, l'appel système a échoué".
terminal principal.terminal Valeur de terminal à partir du champ msg du journal brut.
timestamp timestamp Valeur de timestamp à partir de l'entrée de journal brute.
tty principal.terminal Valeur de tty à partir du champ msg du journal brut.
type metadata.product_event_type Valeur de type à partir du champ msg du journal brut.
uid about.user.userid Valeur de uid à partir du champ msg du journal brut. Ne s'applique qu'à type_name SYSCALL.
uid target.user.userid Valeur de uid à partir du champ msg du journal brut. Définissez-le sur "SETTING" si type est défini sur "USER_ACCT".

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