Collecter les journaux Forcepoint Web Security
Ce document explique comment ingérer des journaux Forcepoint Web Security dans Google Security Operations à l'aide de Bindplane.
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
systemdpour l'agent Bindplane - 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 Forcepoint Web Security ou à Forcepoint Security Manager
- Connectivité réseau entre Forcepoint Web Security et l'hôte de l'agent Bindplane
- Forcepoint Web Security version 7.8 ou ultérieure (recommandé pour la compatibilité avec le format CEF)
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
Vous pouvez configurer l'agent Bindplane pour qu'il reçoive des messages syslog via TCP ou UDP. Choisissez le protocole qui correspond le mieux à votre environnement et aux exigences de votre réseau.
Choisir votre protocole
- TCP (recommandé pour la fiabilité) : assure la diffusion et convient à la plupart des environnements. Utilisez TCP lorsque la fiabilité de l'envoi des journaux est essentielle et que vous souhaitez vous assurer qu'aucun journal n'est perdu en raison de problèmes réseau.
- UDP (recommandé pour les performances) : offre une latence plus faible et moins de surcharge. Utilisez UDP lorsque vous avez besoin d'un débit élevé et que la perte occasionnelle de journaux est acceptable.
Configurer l'agent Bindplane
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.yamlavec la configuration du protocole de votre choix :Option A : Configuration TCP (recommandée)
receivers: tcplog: # Replace with your desired port and IP address listen_address: "0.0.0.0:514" # Add operators if specific parsing is needed operators: [] 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: <YOUR_CUSTOMER_ID> # Replace with the appropriate regional endpoint endpoint: <CUSTOMER_REGION_ENDPOINT> # Log type for Forcepoint Web Security log_type: 'FORCEPOINT_WEBPROXY' raw_log_field: body # You can optionally add other custom ingestion labels here if needed ingestion_labels: service: pipelines: logs/forcepoint_tcp_to_chronicle: receivers: - tcplog exporters: - chronicle/chronicle_w_labelsOption B : Configuration UDP
receivers: udplog: # Replace with your desired port and IP address listen_address: "0.0.0.0:514" # Add operators if specific parsing is needed operators: [] 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: <YOUR_CUSTOMER_ID> # Replace with the appropriate regional endpoint endpoint: <CUSTOMER_REGION_ENDPOINT> # Log type for Forcepoint Web Security log_type: 'FORCEPOINT_WEBPROXY' raw_log_field: body # You can optionally add other custom ingestion labels here if needed ingestion_labels: service: pipelines: logs/forcepoint_udp_to_chronicle: receivers: - udplog exporters: - chronicle/chronicle_w_labelsRemplacez le port et l'adresse IP selon les besoins de votre infrastructure (la valeur par défaut est
0.0.0.0:514).
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 BindPlaneAgentPour vérifier que l'agent est en cours d'exécution sous Linux, exécutez la commande suivante :
sudo systemctl status observiq-otel-collectorPour vérifier que l'agent est en cours d'exécution sous Windows, exécutez la commande suivante :
sc query observiq-otel-collector
Configurer le transfert Syslog sur Forcepoint Web Security
Configurez Forcepoint Web Security pour qu'il transfère les journaux à l'agent Bindplane au format CEF (Common Event Format).
Utiliser Forcepoint Security Manager
- Connectez-vous au Forcepoint Security Manager avec des identifiants d'administrateur.
- Accédez à Paramètres > Journalisation.
- Dans le panneau de navigation de gauche, sélectionnez Serveurs de journaux.
- Cliquez sur Ajouter pour créer une configuration de serveur de journaux.
- Fournissez les informations de configuration suivantes :
- Type de serveur : sélectionnez Serveur Syslog ou Serveur CEF.
- Nom : saisissez un nom descriptif (par exemple,
Google Security Operations Bindplane CEF). - Hôte : saisissez l'adresse IP ou le nom d'hôte de l'agent Bindplane.
- Port : saisissez le numéro de port de l'agent Bindplane (par exemple,
514). - Protocole : sélectionnez le protocole correspondant à votre configuration Bindplane :
- Sélectionnez TCP si vous avez configuré le récepteur
tcplogdans Bindplane (recommandé). - Sélectionnez UDP si vous avez configuré le récepteur
udplogdans Bindplane.
- Sélectionnez TCP si vous avez configuré le récepteur
- Format : sélectionnez CEF (Common Event Format).
- Site : sélectionnez Local0 (ou un autre site disponible).
- Gravité : sélectionnez Informationnel (pour capturer tous les niveaux de journalisation).
- Sous Catégories de journaux ou Types d'événements, sélectionnez les événements à transférer :
- ☑ Journaux d'accès Web (journaux des transactions)
- ☑ Événements de sécurité (détections de menaces)
- ☑ Événements d'authentification (connexion/déconnexion des utilisateurs)
- ☑ Événements système (modifications du système et de la configuration)
- Vous pouvez également sélectionner Tous les événements pour transférer tous les types de journaux disponibles.
- Facultatif : Configurez des paramètres supplémentaires :
- Taille du lot : définissez la valeur sur
1pour le transfert en temps réel ou sur une valeur supérieure pour le traitement par lot. - Format du message : assurez-vous que le format CEF est sélectionné.
- Inclure les informations sur l'utilisateur : activez cette option pour inclure l'identité de l'utilisateur dans les journaux.
- Taille du lot : définissez la valeur sur
- Cliquez sur Tester la connexion pour vérifier la connectivité à l'agent Bindplane.
- Un message de test doit s'afficher dans les journaux de l'agent Bindplane.
- Si le test échoue, vérifiez la connectivité réseau et les règles de pare-feu.
- Cliquez sur Enregistrer pour appliquer la configuration.
- Cliquez sur Deploy (Déployer) pour transférer la configuration vers toutes les passerelles Forcepoint Web Security.
Utiliser Forcepoint Web Security Appliance (configuration directe)
Si vous configurez directement l'appliance :
- Connectez-vous à l'interface de gestion de Forcepoint Web Security Appliance.
- Accédez à Système > Serveur de journaux.
- Cliquez sur Ajouter ou Modifier pour créer ou modifier un serveur de journaux.
- Fournissez les informations de configuration suivantes :
- Adresse du serveur : saisissez l'adresse IP de l'agent Bindplane.
- Port : saisissez
514(ou votre port personnalisé). - Protocole : sélectionnez TCP ou UDP pour correspondre à votre configuration Bindplane.
- Format : sélectionnez CEF ou Common Event Format.
- Établissement : sélectionnez Local0.
- Sous Types de journaux, sélectionnez les journaux à transférer :
- ☑ Journaux d'accès
- ☑ Journaux de sécurité
- ☑ Journaux d'administration
- Cliquez sur Appliquer ou sur Enregistrer.
- Si vous utilisez plusieurs appareils, répétez cette configuration sur chacun d'eux.
Validation du format CEF
Forcepoint Web Security envoie les journaux au format CEF avec la structure suivante :
CEF:0|Forcepoint|Web Security|<version>|<event_id>|<event_name>|<severity>|<extensions>Exemple de journal CEF :
CEF:0|Forcepoint|Web Security|8.5|100|Web Request|5|src=192.168.1.100 dst=93.184.216.34 spt=54321 dpt=80 requestMethod=GET request=http://example.com/ cs1=Allow cs1Label=Action cs2=News and Media cs2Label=Category suser=john.doe@company.com ```
L'analyseur Google SecOps s'attend au format CEF et extrait les champs clés suivants :
src: adresse IP sourcedst: adresse IP de destinationspt: port sourcedpt: port de destinationrequestMethod: méthode HTTPrequestouurl: URL demandéecs1: action (autoriser/bloquer)cs2– Catégorie d'URLsuser: nom d'utilisateur
Vérifier que les journaux sont ingérés
Après la configuration, vérifiez que les journaux sont transmis de Forcepoint Web Security à Google SecOps :
Dans la console Forcepoint, vérifiez que les journaux sont envoyés :
- Accédez à Paramètres > Journalisation > Serveurs de journaux.
- Consultez la colonne État pour votre serveur configuré. La mention Actif ou Connecté devrait s'afficher.
- Consultez les statistiques pour voir le nombre de journaux envoyés.
Sur l'hôte de l'agent Bindplane, vérifiez les journaux de l'agent pour les messages syslog entrants :
Linux :
sudo journalctl -u observiq-otel-collector -fRecherchez les entrées de journal contenant des messages au format CEF :
CEF:0|Forcepoint|Web Security|...
Windows :
Sélectionnez l'observateur d'événements Windows sous Journaux des applications et des services > observIQ.
Dans Google SecOps, vérifiez que les journaux s'affichent :
- Accédez à Rechercher > Recherche UDM.
- Utilisez la requête suivante :
metadata.vendor_name = "Forcepoint" AND metadata.product_name = "Forcepoint Webproxy"- Ajustez la période sur les dernières heures (par exemple, Dernière heure).
- Vérifiez que les événements apparaissent dans les résultats.
Vérifiez que des champs spécifiques sont analysés correctement :
metadata.vendor_name = "Forcepoint" AND principal.ip != "" AND target.url != ""Accédez à Paramètres SIEM > Agents de collecte pour afficher les statistiques d'ingestion :
- Sélectionnez le nombre d'événements reçus.
- Vérifiez que le code temporel Dernière réussite le est récent.
Dépannage
Aucun journal n'apparaît dans Google SecOps
Symptômes : L'agent Bindplane est en cours d'exécution, mais aucun journal n'apparaît dans Google SecOps.
Causes possibles :
- Problèmes de connectivité réseau entre Forcepoint et l'agent Bindplane.
- Pare-feu bloquant le port syslog.
- Incompatibilité de protocole (TCP configuré dans Bindplane, mais UDP dans Forcepoint, ou inversement).
- Adresse IP ou port de l'agent Bindplane incorrects dans la configuration Forcepoint.
- Point de terminaison régional incorrect configuré dans Bindplane.
- Le format CEF n'est pas activé dans Forcepoint.
Solution :
Vérifiez la connectivité réseau :
# From Forcepoint gateway, test connectivity to BindPlane host telnet <BINDPLANE_IP> 514 # Or for UDP nc -u <BINDPLANE_IP> 514Vérifiez les règles de pare-feu sur l'hôte Bindplane :
# Linux - Allow port 514 TCP sudo ufw allow 514/tcp # Or for UDP sudo ufw allow 514/udp # Verify firewall status sudo ufw statusVérifiez que le protocole correspond :
- Consultez BindPlane
config.yamlpourtcplogouudplog. - Vérifiez la configuration du serveur de journaux Forcepoint pour le protocole correspondant.
- Consultez BindPlane
Vérifiez que le format CEF est activé :
- Dans Forcepoint Security Manager, accédez à Settings > Logging > Log Servers (Paramètres > Journalisation > Serveurs de journaux).
- Vérifiez que le format est défini sur CEF ou Common Event Format.
Vérifiez le point de terminaison régional :
- Vérifiez que le
endpointdansconfig.yamlcorrespond à la région de votre instance Google SecOps. - Consultez la documentation sur les points de terminaison régionaux.
- Vérifiez que le
Recherchez les erreurs dans les journaux de l'agent Bindplane :
sudo journalctl -u observiq-otel-collector -n 100 --no-pagerRecherchez les messages d'erreur tels que :
connection refused: problème de réseau/pare-feuauthentication failed– Problème d'identifiantinvalid endpoint: problème lié au point de terminaison régional
Erreurs d'incompatibilité de protocole
Symptômes : les journaux ne sont pas reçus, des erreurs de connexion s'affichent dans le test Forcepoint ou des erreurs Connection refused s'affichent dans les journaux Bindplane.
Solution :
- Assurez-vous que le protocole configuré dans Bindplane (
tcplogouudplog) correspond à celui configuré dans Forcepoint (TCP ou UDP). Si vous utilisez TCP et que vous rencontrez des problèmes de connexion, vérifiez que l'agent Bindplane est à l'écoute :
# Linux - Check if port is listening sudo netstat -tuln | grep 514 # Or sudo ss -tuln | grep 514Si le port n'est pas à l'écoute, redémarrez l'agent Bindplane.
Erreurs d'authentification
Symptômes : les journaux de l'agent Bindplane affichent des erreurs d'authentification auprès de Google SecOps.
Causes possibles :
- Numéro client incorrect.
- Fichier d'authentification pour l'ingestion non valide ou expiré.
- Chemin d'accès incorrect au fichier d'authentification de l'ingestion.
- Point de terminaison régional incorrect.
Solution :
- Vérifiez que le numéro client dans
config.yamlcorrespond à celui indiqué dans Paramètres du SIEM > Profil. - Téléchargez à nouveau le fichier d'authentification de l'ingestion depuis Paramètres du SIEM> Agents de collecte.
- Vérifiez que le chemin d'accès dans
config.yamlpointe vers le bon emplacement. - Vérifiez que le point de terminaison régional correspond à la région de votre instance Google SecOps.
Assurez-vous que l'agent Bindplane dispose des autorisations de lecture sur le fichier d'authentification :
sudo chmod 644 /path/to/ingestion-authentication-file.json sudo chown root:root /path/to/ingestion-authentication-file.json
Journaux affichés, mais champs non analysés
Symptômes : les journaux s'affichent dans Google SecOps, mais les champs tels que principal.ip et target.url sont vides.
Causes possibles :
- Les journaux ne sont pas au format CEF.
- Le format CEF est incorrect ou non standard.
- Le type de journal ne correspond pas dans la configuration Bindplane.
Solution :
Vérifiez le format CEF dans les journaux bruts :
- Dans Google SecOps, accédez à Rechercher > Recherche dans les journaux bruts.
- Recherchez les journaux Forcepoint récents.
- Vérifiez que les journaux commencent par
CEF:0|Forcepoint|Web Security|.
Si les journaux ne sont pas au format CEF :
- Dans Forcepoint, définissez Format sur CEF ou Common Event Format.
- Redéployez la configuration.
Vérifiez le type de journal dans Bindplane
config.yaml:- Assurez-vous que
log_type: 'FORCEPOINT_PROXY'est correctement défini.
- Assurez-vous que
Vérifiez les variantes de noms de champs CEF :
- Il est possible que certaines versions de Forcepoint utilisent des noms de champs CEF différents.
- Vérifiez que les noms de champs correspondent aux extensions CEF attendues dans le tableau de mappage UDM.
Latence élevée ou retards de journaux
Symptômes : les journaux apparaissent dans Google SecOps avec un délai important (plus de cinq minutes).
Causes possibles :
- Latence du réseau entre Forcepoint et l'agent Bindplane.
- Contraintes de ressources (CPU/mémoire) de l'agent Bindplane.
- Le traitement par lot est activé dans Forcepoint.
- Carnet de commandes d'ingestion Google SecOps.
Solution :
Vérifiez la latence du réseau :
ping <BINDPLANE_IP> # Check for high latency (>50ms) or packet lossVérifiez l'utilisation des ressources de l'agent Bindplane :
top # Look for observiq-otel-collector process # Verify CPU < 80% and memory is availableDans Forcepoint, ajustez les paramètres de traitement par lot :
- Accédez à Paramètres > Journalisation > Serveurs de journaux.
- Définissez Batch Size (Taille du lot) sur
1pour le transfert en temps réel. - Vous pouvez également réduire l'intervalle entre les lots pour des envois plus fréquents.
Envisagez de mettre à l'échelle l'hôte de l'agent Bindplane (plus de processeur/de mémoire) si les ressources sont limitées.
Si vous utilisez UDP, vérifiez que l'infrastructure réseau est compatible avec le débit requis sans perte de paquets.
Échec de la connexion de test Forcepoint
Problèmes constatés : lorsque vous cliquez sur Tester la connexion dans Forcepoint, le test échoue.
Solution :
Vérifiez que l'agent Bindplane est en cours d'exécution :
sudo systemctl status observiq-otel-collectorVérifiez que l'agent Bindplane écoute sur le port configuré :
sudo netstat -tuln | grep 514Désactivez temporairement le pare-feu pour effectuer un test :
# Linux sudo ufw disable # Test connection from Forcepoint # Then re-enable sudo ufw enableVérifiez les journaux de l'agent Bindplane pendant le test :
sudo journalctl -u observiq-otel-collector -f- Une tentative de connexion entrante devrait s'afficher.
Si le test échoue toujours, vérifiez que l'adresse IP et le port sont corrects dans la configuration Forcepoint.
Table de mappage UDM
| Champ de journal | Mappage UDM | Logique |
|---|---|---|
action |
security_result.summary |
Si action_msg n'est pas vide, il est mappé à security_result.summary. Sinon, si action n'est pas vide, il est mappé sur security_result.summary. Sinon, si act n'est pas vide, il est mappé sur security_result.summary. |
action_msg |
security_result.summary |
Si action_msg n'est pas vide, il est mappé à security_result.summary. Sinon, si action n'est pas vide, il est mappé sur security_result.summary. Sinon, si act n'est pas vide, il est mappé sur security_result.summary. |
app |
target.application |
Si destinationServiceName n'est pas vide, il est mappé à app_name. Sinon, si app n'est pas vide et ne contient pas http ni HTTP, il est mappé sur app_name. Enfin, app_name est mappé sur target.application. |
bytes_in |
network.received_bytes |
Si in n'est pas vide, il est mappé à bytes_in. Enfin, bytes_in est mappé sur network.received_bytes. |
bytes_out |
network.sent_bytes |
Si out n'est pas vide, il est mappé à bytes_out. Enfin, bytes_out est mappé sur network.sent_bytes. |
cat |
security_result.category_details |
Si cat n'est pas vide, il est mappé à category. Enfin, category est mappé sur security_result.category_details. |
category_no |
security_result.detection_fields.value |
Si category_no n'est pas vide, il est mappé à security_result.detection_fields.value avec la clé Category Number. |
cn1 |
security_result.detection_fields.value |
Si cn1 n'est pas vide, il est mappé à security_result.detection_fields.value avec la clé Disposition Number. |
ContentType |
target.file.mime_type |
Si contentType n'est pas vide, il est mappé à ContentType. Enfin, ContentType est mappé sur target.file.mime_type. |
cs1 |
target_role.description |
cs1 est mappé sur target_role.description. |
cs2 |
security_result.category_details |
Si cs2 n'est pas vide et n'est pas 0, il est mappé sur security_result.category_details avec le préfixe Dynamic Category:. |
cs3 |
target.file.mime_type |
cs3 est mappé sur target.file.mime_type. |
description |
metadata.description |
Si description n'est pas vide, il est mappé à metadata.description. |
destinationServiceName |
target.application |
Si destinationServiceName n'est pas vide, il est mappé à app_name. Enfin, app_name est mappé sur target.application. |
deviceFacility |
metadata.product_event_type |
Si product_event et deviceFacility ne sont pas vides, ils sont concaténés avec - et mappés sur metadata.product_event_type. Sinon, product_event est mappé sur metadata.product_event_type. |
disposition |
security_result.detection_fields.value |
Si disposition n'est pas vide, il est mappé à security_result.detection_fields.value avec la clé Disposition Number. |
dst |
target.ip |
Si dst n'est pas vide et que dvchost l'est, il est mappé à dst_ip. Enfin, dst_ip est mappé sur target.ip. |
dst_host |
target.hostname |
Si dst n'est pas vide et que dvchost l'est, il est mappé à dst_host. Enfin, dst_host est mappé sur target.hostname. |
dst_ip |
target.ip |
Si dst n'est pas vide et que dvchost l'est, il est mappé à dst_ip. Enfin, dst_ip est mappé sur target.ip. |
dst_port |
target.port |
Si dst n'est pas vide et que dvchost l'est, il est mappé à dst_port. Enfin, dst_port est mappé sur target.port. |
duration |
network.session_duration.seconds |
Si duration n'est pas vide et n'est pas 0, il est mappé sur network.session_duration.seconds. |
dvchost |
intermediary.ip |
Si dvchost n'est pas vide, il est mappé à int_ip. Enfin, int_ip est mappé sur intermediary.ip s'il s'agit d'une adresse IP valide, sinon il est mappé sur intermediary.hostname. |
file_path |
target.file.full_path |
Si file_path n'est pas vide, il est mappé à target.file.full_path. |
host |
principal.ip |
Si host n'est pas vide, il est mappé à src. Enfin, src est mappé sur principal.ip. |
http_method |
network.http.method |
Si requestMethod n'est pas vide, il est mappé à http_method. Sinon, si method n'est pas vide, il est mappé sur http_method. Enfin, http_method est mappé sur network.http.method. |
http_proxy_status_code |
network.http.response_code |
Si http_response est vide ou défini sur 0 ou -, et que http_proxy_status_code n'est pas vide, il est mappé sur network.http.response_code. |
http_response |
network.http.response_code |
Si http_response n'est pas vide, ni 0, ni -, il est mappé sur network.http.response_code. |
http_user_agent |
network.http.user_agent |
Si http_user_agent n'est pas vide et n'est pas -, il est mappé sur network.http.user_agent. |
in |
network.received_bytes |
Si in n'est pas vide, il est mappé à bytes_in. Enfin, bytes_in est mappé sur network.received_bytes. |
int_host |
intermediary.hostname |
Si int_ip n'est pas vide et que int_host n'est pas vide et est différent de int_ip, il est mappé sur intermediary.hostname. |
int_ip |
intermediary.ip |
Si dvchost n'est pas vide, il est mappé à int_ip. Enfin, int_ip est mappé sur intermediary.ip s'il s'agit d'une adresse IP valide, sinon il est mappé sur intermediary.hostname. |
level |
target_role.name |
Si level n'est pas vide et que role l'est, il est mappé sur role. Enfin, role est mappé sur target_role.name. |
log_level |
security_result.severity |
Si severity est défini sur 1, ou si log_level contient info, ou si message contient notice, security_result.severity est défini sur INFORMATIONAL. Si severity est défini sur 7, security_result.severity est défini sur HIGH. |
loginID |
principal.user.userid |
Si loginID n'est pas vide, il est mappé à user. Enfin, si user n'est pas vide, n'est pas - et ne contient pas LDAP, il est mappé sur principal.user.userid. |
method |
network.http.method |
Si requestMethod n'est pas vide, il est mappé à http_method. Sinon, si method n'est pas vide, il est mappé sur http_method. Enfin, http_method est mappé sur network.http.method. |
NatRuleId |
security_result.detection_fields.value |
Si NatRuleId n'est pas vide, il est mappé à security_result.detection_fields.value avec la clé NatRuleId. |
out |
network.sent_bytes |
Si out n'est pas vide, il est mappé à bytes_out. Enfin, bytes_out est mappé sur network.sent_bytes. |
pid |
target.process.pid |
Si pid n'est pas vide, il est mappé à target.process.pid. |
policy |
target_role.description |
Si Policy n'est pas vide, il est mappé à policy. Si policy n'est pas vide et n'est pas -, il est mappé sur target_role.description. |
Policy |
target_role.description |
Si Policy n'est pas vide, il est mappé à policy. Si policy n'est pas vide et n'est pas -, il est mappé sur target_role.description. |
product_event |
metadata.product_event_type |
Si product n'est pas vide, il est mappé à product_event. Si product_event et deviceFacility ne sont pas vides, ils sont concaténés avec - et mappés sur metadata.product_event_type. Sinon, product_event est mappé sur metadata.product_event_type. |
proxyStatus-code |
network.http.response_code |
Si http_response est vide ou défini sur 0 ou -, et que http_proxy_status_code est vide et proxyStatus-code n'est pas vide, il est mappé sur network.http.response_code. |
refererUrl |
network.http.referral_url |
Si refererUrl n'est pas vide et n'est pas -, il est mappé sur network.http.referral_url. |
requestClientApplication |
network.http.user_agent |
Si requestMethod n'est pas vide, il est mappé à http_user_agent. Enfin, http_user_agent est mappé sur network.http.user_agent. |
requestMethod |
network.http.method |
Si requestMethod n'est pas vide, il est mappé à http_method. Enfin, http_method est mappé sur network.http.method. |
role |
target_role.name |
Si level n'est pas vide et que role l'est, il est mappé sur role. Enfin, role est mappé sur target_role.name. |
RuleID |
security_result.rule_id |
Si RuleID n'est pas vide, il est mappé à security_result.rule_id. |
serverStatus-code |
network.http.response_code |
Si http_response est vide ou défini sur 0 ou -, et que http_proxy_status_code est vide et proxyStatus-code n'est pas vide, il est mappé sur network.http.response_code. |
severity |
security_result.severity |
Si severity est défini sur 1, ou si log_level contient info, ou si message contient notice, security_result.severity est défini sur INFORMATIONAL. Si severity est défini sur 7, security_result.severity est défini sur HIGH. |
spt |
principal.port |
Si spt n'est pas vide, il est mappé à src_port. Enfin, src_port est mappé sur principal.port. |
src |
principal.ip |
Si src_host n'est pas vide, il est mappé à source_ip_temp. Si source_ip_temp est une adresse IP valide et que src est vide, elle est mappée sur src. Si host n'est pas vide, il est mappé à src. Enfin, src est mappé sur principal.ip. |
src_host |
principal.hostname |
Si src_host n'est pas vide, il est mappé à source_ip_temp. Si source_ip_temp n'est pas une adresse IP valide, il est mappé sur principal.hostname. Si source_ip_temp est une adresse IP valide et que src est vide, elle est mappée sur src. Enfin, src est mappé sur principal.ip. |
src_port |
principal.port |
Si src_port n'est pas vide, il est mappé à principal.port. |
suser |
principal.user.userid |
Si loginID n'est pas vide, il est mappé à user. Si suser n'est pas vide, il est mappé à user. Enfin, si user n'est pas vide, n'est pas - et ne contient pas LDAP, il est mappé sur principal.user.userid. |
url |
target.url |
Si url n'est pas vide, il est mappé à target.url. |
user |
principal.user.userid |
Si loginID n'est pas vide, il est mappé à user. Si suser n'est pas vide, il est mappé à user. Sinon, si usrName n'est pas vide, il est mappé sur user. Enfin, si user n'est pas vide, n'est pas - et ne contient pas LDAP, il est mappé sur principal.user.userid. |
usrName |
principal.user.userid |
Si loginID n'est pas vide, il est mappé à user. Si suser n'est pas vide, il est mappé à user. Sinon, si usrName n'est pas vide, il est mappé sur user. Enfin, si user n'est pas vide, n'est pas - et ne contient pas LDAP, il est mappé sur principal.user.userid. |
when |
metadata.event_timestamp |
Si when n'est pas vide, il est analysé et mappé à metadata.event_timestamp. |
| N/A | metadata.log_type |
La valeur FORCEPOINT_WEBPROXY est codée en dur dans metadata.log_type. |
| N/A | metadata.product_name |
La valeur Forcepoint Webproxy est codée en dur dans metadata.product_name. |
| N/A | metadata.vendor_name |
La valeur Forcepoint est codée en dur dans metadata.vendor_name. |
| N/A | network.application_protocol |
Si dst_port est défini sur 80, network.application_protocol est défini sur HTTP. Si dst_port est défini sur 443, network.application_protocol est défini sur HTTPS. |
| N/A | principal.user.group_identifiers |
Si user n'est pas vide, n'est pas - et contient LDAP, la partie OU de la chaîne utilisateur est extraite et mappée à principal.user.group_identifiers. |
| N/A | principal.user.user_display_name |
Si user n'est pas vide, n'est pas - et contient LDAP, la partie nom d'utilisateur de la chaîne utilisateur est extraite et mappée à principal.user.user_display_name. |
| N/A | security_result.action |
Si action_msg, action ou act ne sont pas vides, sec_action est défini sur ALLOW ou BLOCK en fonction de leurs valeurs. Enfin, sec_action est mappé sur security_result.action. |
| N/A | security_result.detection_fields.key |
La valeur Disposition Number est codée en dur dans security_result.detection_fields.key lors du mappage de disposition ou cn1. La valeur NatRuleId est codée en dur dans security_result.detection_fields.key lors du mappage de NatRuleId. La valeur Category Number est codée en dur dans security_result.detection_fields.key lors du mappage de category_no. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.