Collecter les journaux Kiteworks (anciennement Accellion)
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
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agents de collecte.
- 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
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Profil.
- 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
- Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installation de Linux
- Ouvrez un terminal avec les droits root ou sudo.
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
- Pour plus d'options d'installation, consultez ce guide d'installation.
Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps
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,viou le Bloc-notes).
- Recherchez le fichier
Modifiez le fichier
config.yamlcomme 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.jsonen 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-agentPour 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)
- Connectez-vous à la console de gestion Kiteworks en tant qu'administrateur.
- 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.
- Sélectionnez l'emplacement cible dans la liste.
- Accédez à la section Services externes.
- Développez le panneau Paramètres Syslog.
- Cliquez sur Ajouter pour créer une configuration de serveur syslog.
- 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.
- 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.