Collecter les journaux Forcepoint Email Security
Version de l'analyseur : 2.0
Ce document explique comment ingérer des journaux Forcepoint Email Security dans Google Security Operations à l'aide de BindPlane. L'analyseur extrait d'abord les champs des journaux au format JSON et initialise certains champs UDM avec des valeurs vides. Ensuite, il mappe les champs extraits à leurs champs correspondants dans la structure UDM de Chronicle en fonction de conditions spécifiques et de manipulations de données, ce qui crée une représentation unifiée de l'événement lié à la sécurité des e-mails.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Un hôte Windows 2016 ou version ultérieure, ou Linux avec
systemd - Si vous exécutez l'application derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts conformément aux exigences de l'agent BindPlane.
- Un accès privilégié à l'appliance ou à la console de gestion Forcepoint Email Security
Obtenir les identifiants Google SecOps pour l'agent BindPlane
Pour authentifier l'agent BindPlane auprès de Google SecOps, choisissez l'une des méthodes suivantes :
- Nouveaux déploiements : utilisez l'API Chronicle (option 1).
- Anciens déploiements : continuez à utiliser le fichier d'authentification d'ingestion (option 2) jusqu'à l'arrêt de l'API d'ingestion le 20 juillet 2027.
Option 1 : Créer un compte de service pour l'API Chronicle (recommandé)
- Connectez-vous à la Google Cloud console, puis sélectionnez le Google Cloud projet associé à votre instance Google SecOps.
- Accédez à IAM et administration > Comptes de service.
- Cliquez sur Créer un compte de service.
- Fournissez les informations de configuration suivantes :
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
bindplane-ingest). - Description du compte de service : saisissez une description (par exemple,
Bindplane agent log ingestion).
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
- Cliquez sur Créer et continuer.
- Dans la section Autoriser ce compte de service à accéder au projet , cliquez sur Sélectionner un rôle , puis sélectionnez Éditeur Chronicle.
- Cliquez sur Continuer, puis sur OK.
- Cliquez sur le compte de service que vous avez créé, puis accédez à l'onglet Clés.
- Cliquez sur Ajouter une clé > Créer une clé.
- Sélectionnez JSON , puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
- Enregistrez le fichier de clé sous le nom
ingestion-auth.jsondans le répertoire du collecteur BindPlane (/opt/observiq-otel-collector/ingestion-auth.jsonsous Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonsous Windows), ou mettez à jourcreds_file_pathdansconfig.yamlpour qu'il corresponde au chemin d'accès où vous l'enregistrez. - Accédez à IAM et administration > Paramètres , puis copiez le numéro de projet. Vous en aurez besoin pour la configuration de l'exportateur.
Option 2 : Télécharger le fichier d'authentification d'ingestion (ancienne version)
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres 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 où l'agent BindPlane sera installé.
Obtenir le numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM > Profil.
- Copiez et enregistrez le numéro client dans 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 sous Windows
- 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 sous Linux
- Ouvrez un terminal avec des 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 obtenir d'autres options d'installation, consultez ce guide d'installation.
- Autre solution : Vous pouvez également utiliser le workflow d'installation gérée BindPlane OP pour une gestion centralisée des agents.
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/opt/observiq-otel-collector/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: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' 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: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'FORCEPOINT_EMAILSECURITY' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labelsRemplacez le port et l'adresse IP selon les besoins de votre infrastructure.
Remplacez
<LOCATION>par la région de votre instance Google SecOps (par exemple,us,europe, ouasia-southeast1). L'exportateur préfixechronicle.googleapis.comavec cette valeur.Remplacez
<PROJECT_NUMBER>par le numéro de projet dans IAM et administration > Paramètres.Remplacez
<CUSTOMER_ID>par le numéro client réel.Mettez à jour
/path/to/ingestion-authentication-file.jsonavec le chemin d'accès au fichier de clé du compte de service (option 1) enregistré à l'étape 1.
Ancien exportateur d'API d'ingestion
Si vous utilisez le fichier d'authentification d'ingestion de l'option 2, remplacez le bloc
exporterspar le code suivant. Définissezcreds_file_pathsur le chemin d'accès au fichier d'authentification d'ingestion. Si votre instance se trouve en dehors des États-Unis, remplacezmalachiteingestion-pa.googleapis.compar votre point de terminaison régional (par exemple,europe-malachiteingestion-pa.googleapis.com).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: 'FORCEPOINT_EMAILSECURITY' raw_log_field: body ingestion_labels:
Redémarrer l'agent BindPlane pour appliquer les modifications
Pour redémarrer l'agent BindPlane sous Linux, exécutez la commande suivante :
sudo systemctl restart observiq-otel-collectorPour redémarrer l'agent BindPlane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :
net stop observiq-otel-collector && net start observiq-otel-collector
Configurer le transfert Syslog sur Forcepoint Email Security
- Connectez-vous à la console de gestion Forcepoint Email Security.
- Accédez à Settings > Integrations > SIEM Integration (Paramètres > Intégrations > Intégration SIEM).
- Cliquez sur Enable SIEM Integration (Activer l'intégration SIEM).
Fournissez les informations de configuration suivantes :
- Format : sélectionnez LEEF (Log Event Extended Format).
- Syslog Server (Serveur Syslog) : saisissez l'adresse IP de l'agent BindPlane.
- Syslog Port (Port Syslog) : saisissez le numéro de port de l'agent BindPlane (par exemple,
514). - Protocole : sélectionnez UDP ou TCP, selon la configuration réelle de votre agent BindPlane.
- Installation : sélectionnez le code d'installation Syslog (par exemple,
Local0). - Severity (Gravité) : sélectionnez le niveau de gravité des événements de journal.
Cliquez sur Enregistrer.
Tableau de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
| Action | security_result.action_details | Mappé directement à partir du champ "Action" dans le journal brut. |
| AttachmentFilename | additional.fields.value.list_value.values.string_value (key: Attachments_FileNames) | Le champ "AttachmentFilename" est divisé par une virgule, puis chaque valeur est ajoutée en tant que string_value au tableau "additional.fields" avec la clé "Attachments_FileNames". |
| AttachmentFileType | additional.fields.value.list_value.values.string_value (key: AttachmentsFileType) | Le champ "AttachmentFileType" est divisé par une virgule, puis chaque valeur est ajoutée en tant que string_value au tableau "additional.fields" avec la clé "AttachmentsFileType". |
| AttachmentSize | additional.fields.value.list_value.values.string_value (key: AttachmentsSize) | Le champ "AttachmentSize" est divisé par une virgule, puis chaque valeur est ajoutée en tant que string_value au tableau "additional.fields" avec la clé "AttachmentsSize". |
| DateTime | Non mappé dans l'UDM fourni. | |
| EnvelopeSender | network.email.from | Mappé directement à partir du champ "EnvelopeSender" dans le journal brut. |
| EventReceivedTime | metadata.event_timestamp | Analysé au format d'horodatage et mappé à "metadata.event_timestamp". |
| FilteringReason | security_result.category_details | Mappé directement à partir du champ "FilteringReason" dans le journal brut. |
| MessageSandboxing | security_result.detection_fields.value (key: MessageSandboxing) | Mappé directement à partir du champ "MessageSandboxing" dans le journal brut et ajouté en tant que paire clé-valeur au tableau "security_result.detection_fields". |
| MessageSize | security_result.detection_fields.value (key: MessageSize) | Mappé directement à partir du champ "MessageSize" dans le journal brut et ajouté en tant que paire clé-valeur au tableau "security_result.detection_fields". |
| nxlog_filename | additional.fields.value.string_value (key: nxlog_filename) | Mappé directement à partir du champ "nxlog_filename" dans le journal brut et ajouté en tant que paire clé-valeur au tableau "additional.fields". |
| RecipientAddress | network.email.to | Mappé directement à partir du champ "RecipientAddress" dans le journal brut. |
| SenderIP | principal.asset.ip, principal.ip | Mappé directement à partir du champ "SenderIP" dans le journal brut. |
| SenderIPCountry | principal.location.country_or_region | Mappé directement à partir du champ "SenderIPCountry" dans le journal brut. |
| SourceModuleName | principal.resource.attribute.labels.value (key: SourceModuleName) | Mappé directement à partir du champ "SourceModuleName" dans le journal brut et ajouté en tant que paire clé-valeur au tableau "principal.resource.attribute.labels". |
| SourceModuleType | principal.resource.attribute.labels.value (key: SourceModuleType) | Mappé directement à partir du champ "SourceModuleType" dans le journal brut et ajouté en tant que paire clé-valeur au tableau "principal.resource.attribute.labels". |
| SpamScore | security_result.detection_fields.value (key: SpamScore) | Mappé directement à partir du champ "SpamScore" dans le journal brut et ajouté en tant que paire clé-valeur au tableau "security_result.detection_fields". |
| Subject | network.email.subject | Mappé directement à partir du champ "Subject" dans le journal brut. |
| VirusName | security_result.detection_fields.value (key: VirusName) | Mappé directement à partir du champ "VirusName" dans le journal brut et ajouté en tant que paire clé-valeur au tableau "security_result.detection_fields". |
| metadata.event_type | La valeur est déterminée en fonction de la présence d'autres champs. Si "has_network_email_data" est défini sur "true", la valeur est définie sur "EMAIL_TRANSACTION". Si "has_principal" est défini sur "true", la valeur est définie sur "STATUS_UPDATE". Sinon, la valeur par défaut est "GENERIC_EVENT". | |
| metadata.product_name | La valeur est définie sur "FORCEPOINT EMAILSECURITY". | |
| metadata.vendor_name | La valeur est définie sur "FORCEPOINT EMAILSECURITY". |
Journal des modifications
Consulter le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.