Collecter les journaux Trellix ePO
Ce document explique comment ingérer les journaux Trellix (anciennement McAfee) ePolicy (ePO) Orchestrator dans Google Security Operations à l'aide de Bindplane. L'analyseur utilise des modèles Grok et le filtrage XML pour extraire les champs des journaux au format XML et CSV, normalise les adresses IP et MAC, et mappe les données extraites au modèle de données unifié (UDM). L'analyseur gère également des types d'événements et des actions de sécurité spécifiques, en définissant les champs UDM appropriés en fonction du contenu du journal.
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é à McAfee EPO
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
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
- 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 (par exemple,
nano
,vi
ou le Bloc-notes).
- Recherchez le fichier
Modifiez le fichier
config.yaml
comme suit :receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:6514" 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 ingestion_labels: log_type: 'MCAFEE_EPO' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog 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 serveur Syslog (Trellix) McAfee ePO
- Connectez-vous à (Trellix) McAfee EPO.
- Accédez à Menu > Configuration > Serveurs enregistrés.
- Cliquez sur Nouveau serveur.
- Sélectionnez Serveur Syslog, spécifiez un nom unique, puis cliquez sur Suivant.
- Fournissez les informations de configuration suivantes :
- Nom du serveur : saisissez l'adresse IP de l'agent Bindplane.
- Numéro de port TCP : saisissez le port TCP de l'agent Bindplane (la valeur par défaut est
6514
). - Activer le transfert d'événements : sélectionnez cette option pour activer le transfert d'événements depuis Agent Handler vers ce serveur Syslog.
- Cliquez sur Tester la connexion pour vérifier la connexion à Bindplane.
- Cliquez sur Enregistrer.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
AgentGUID |
principal.asset.id |
Le GUID de l'agent est directement associé à l'ID de l'asset dans l'UDM. |
Analyzer |
idm.read_only_udm.security_result.detection_fields.value |
La valeur de l'analyseur est mappée en tant que champ de détection avec la clé "DetectingProductID". |
AnalyzerContentCreationDate |
idm.read_only_udm.additional.fields.value.string_value |
La date de création du contenu de l'analyseur est mappée à des champs supplémentaires avec la clé "Analyzer Content Creation Date" (Date de création du contenu de l'analyseur). |
AnalyzerContentVersion |
idm.read_only_udm.additional.fields.value.string_value |
La version du contenu de l'analyseur est mappée sur des champs supplémentaires avec la clé "Analyzer Content Version" (Version du contenu de l'analyseur). |
AnalyzerDATVersion |
idm.read_only_udm.security_result.detection_fields.value |
La version DAT de l'analyseur est mappée en tant que champ de détection avec la clé "datversion". |
AnalyzerDetectionMethod |
idm.read_only_udm.security_result.detection_fields.value |
La méthode de détection de l'analyseur est mappée en tant que champ de détection avec la clé "scantype". |
AnalyzerEngineVersion |
idm.read_only_udm.security_result.detection_fields.value |
La version du moteur d'analyseur est mappée en tant que champ de détection avec la clé "DetectingAgentVersion". |
AnalyzerHostName |
idm.read_only_udm.intermediary.hostname |
Le nom d'hôte de l'analyseur est mappé au nom d'hôte intermédiaire. |
AnalyzerName |
idm.read_only_udm.security_result.detection_fields.value |
Le nom de l'analyseur est mappé en tant que champ de détection avec la clé "productname". |
AnalyzerRuleID |
idm.read_only_udm.additional.fields.value.string_value |
L'ID de règle de l'analyseur est mappé à des champs supplémentaires avec la clé "Analyzer Rule Id". |
AnalyzerRuleName |
idm.read_only_udm.security_result.rule_name |
Le nom de la règle de l'analyseur est directement mappé au nom de la règle du résultat de sécurité. |
AnalyzerVersion |
idm.read_only_udm.security_result.detection_fields.value |
La version de l'analyseur est mappée en tant que champ de détection avec la clé "productversion". |
BladeName |
idm.read_only_udm.additional.fields.value.string_value |
Le nom du blade est mappé à des champs supplémentaires avec la clé "BladeName". |
DetectedUTC |
metadata.event_timestamp |
L'heure UTC détectée est analysée et mappée au code temporel de l'événement dans les métadonnées. |
DurationBeforeDetection |
idm.read_only_udm.additional.fields.value.string_value |
La durée avant la détection est mappée à des champs supplémentaires avec la clé "DurationBeforeDetection". |
EventID |
idm.read_only_udm.security_result.rule_id |
L'ID de l'événement est mappé à l'ID de la règle de résultat de sécurité. |
GMTTime |
metadata.event_timestamp |
L'heure GMT est analysée et mappée à l'horodatage de l'événement dans les métadonnées. |
IPAddress |
principal.ip |
L'adresse IP est directement mappée à l'adresse IP principale. |
MachineName |
principal.hostname |
Le nom de la machine est directement mappé au nom d'hôte principal. |
NaturalLangDescription |
idm.read_only_udm.additional.fields.value.string_value |
La description en langage naturel est associée à des champs supplémentaires avec la clé "NaturalLangDescription". |
OSName |
principal.platform |
Le nom de l'OS est normalisé et mappé à la plate-forme principale (WINDOWS, MAC, LINUX ou UNKNOWN_PLATFORM). |
ProductName |
metadata.product_name |
Le nom du produit est directement associé au nom du produit dans les métadonnées. |
ProductVersion |
metadata.product_version |
La version du produit est directement associée à la version du produit dans les métadonnées. |
RawMACAddress |
principal.mac |
L'adresse MAC brute est analysée et associée à l'adresse MAC principale. |
Severity |
idm.read_only_udm.security_result.severity |
La gravité est mappée à la gravité des résultats de sécurité (ÉLEVÉE, MOYENNE ou FAIBLE). |
SourceIPV4 |
idm.read_only_udm.src.ip |
L'adresse IPv4 source est mappée à l'adresse IP source. |
SourceProcessName |
principal.application |
Le nom du processus source est directement mappé à l'application principale. |
SourceUserName |
principal.user.user_display_name |
Le nom d'utilisateur source est directement mappé au nom à afficher de l'utilisateur principal. |
TargetFileName |
target.process.file.full_path |
Le nom de fichier cible est mappé sur le chemin d'accès complet au fichier cible. |
TargetHostName |
target.hostname |
Le nom d'hôte cible est mappé au nom d'hôte cible. |
TargetPort |
target.port |
Le port cible est mappé sur le port cible. |
TargetProtocol |
network.ip_protocol |
Le protocole cible est mappé au protocole IP du réseau. |
TargetUserName |
target.user.user_display_name |
Le nom d'utilisateur cible est mappé au nom à afficher de l'utilisateur cible. |
ThreatActionTaken |
security_result.action_details |
L'action effectuée contre la menace est mappée aux détails de l'action du résultat de sécurité. |
ThreatCategory |
security_result.category_details |
La catégorie de menace est associée aux détails de la catégorie de résultat de sécurité. |
ThreatEventID |
security_result.rule_id |
L'ID d'événement de menace est mappé à l'ID de règle de résultat de sécurité. |
ThreatHandled |
security_result.detection_fields.value |
L'état de la menace gérée est mappé en tant que champ de détection avec la clé "ThreatHandled". |
ThreatName |
security_result.threat_name |
Le nom de la menace est directement mappé au nom de la menace du résultat de sécurité. |
ThreatSeverity |
security_result.severity |
La gravité des menaces est mappée à la gravité des résultats de sécurité (ÉLEVÉE, MOYENNE ou FAIBLE). |
ThreatType |
security_result.threat_id |
Le type de menace est associé à l'ID de menace du résultat de sécurité. |
UserName |
principal.user.user_display_name |
Le nom d'utilisateur est mappé au nom à afficher de l'utilisateur principal. |
collection_time |
metadata.collected_timestamp |
L'heure de collecte est mappée sur l'horodatage de collecte dans les métadonnées. |
log_type |
metadata.log_type |
Le type de journal est directement mappé au type de journal de métadonnées. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.