Collecter les journaux Forcepoint Web Security

Compatible avec :

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 systemd pour 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

  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

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

  1. 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, vi ou le Bloc-notes).
  2. Modifiez le fichier config.yaml avec 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_labels
      
    • Option 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_labels
      
      • Remplacez 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-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
    
  • Pour vérifier que l'agent est en cours d'exécution sous Linux, exécutez la commande suivante :

    sudo systemctl status observiq-otel-collector
    
  • Pour 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

  1. Connectez-vous au Forcepoint Security Manager avec des identifiants d'administrateur.
  2. Accédez à Paramètres > Journalisation.
  3. Dans le panneau de navigation de gauche, sélectionnez Serveurs de journaux.
  4. Cliquez sur Ajouter pour créer une configuration de serveur de journaux.
  5. 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 tcplog dans Bindplane (recommandé).
      • Sélectionnez UDP si vous avez configuré le récepteur udplog dans Bindplane.
    • 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).
  6. 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.
  7. Facultatif : Configurez des paramètres supplémentaires :
    • Taille du lot : définissez la valeur sur 1 pour 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.
  8. 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.
  9. Cliquez sur Enregistrer pour appliquer la configuration.
  10. 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 :

  1. Connectez-vous à l'interface de gestion de Forcepoint Web Security Appliance.
  2. Accédez à Système > Serveur de journaux.
  3. Cliquez sur Ajouter ou Modifier pour créer ou modifier un serveur de journaux.
  4. 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.
  5. Sous Types de journaux, sélectionnez les journaux à transférer :
    • ☑ Journaux d'accès
    • ☑ Journaux de sécurité
    • ☑ Journaux d'administration
  6. Cliquez sur Appliquer ou sur Enregistrer.
  7. 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 source
  • dst : adresse IP de destination
  • spt : port source
  • dpt : port de destination
  • requestMethod : méthode HTTP
  • request ou url : URL demandée
  • cs1 : action (autoriser/bloquer)
  • cs2 – Catégorie d'URL
  • suser : 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 :

  1. 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.
  2. 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 -f
      
      • Recherchez les entrées de journal contenant des messages au format CEF :

           CEF:0|Forcepoint|Web Security|...
        
    • Windows :

      1. Sélectionnez l'observateur d'événements Windows sous Journaux des applications et des services > observIQ.

      2. 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.
      3. Vérifiez que des champs spécifiques sont analysés correctement :

        metadata.vendor_name = "Forcepoint" AND principal.ip != "" AND target.url != ""
        
      4. 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 :

  1. Problèmes de connectivité réseau entre Forcepoint et l'agent Bindplane.
  2. Pare-feu bloquant le port syslog.
  3. Incompatibilité de protocole (TCP configuré dans Bindplane, mais UDP dans Forcepoint, ou inversement).
  4. Adresse IP ou port de l'agent Bindplane incorrects dans la configuration Forcepoint.
  5. Point de terminaison régional incorrect configuré dans Bindplane.
  6. Le format CEF n'est pas activé dans Forcepoint.

Solution :

  1. 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> 514
    
  2. Vé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 status
    
  3. Vérifiez que le protocole correspond :

    • Consultez BindPlane config.yaml pour tcplog ou udplog.
    • Vérifiez la configuration du serveur de journaux Forcepoint pour le protocole correspondant.
  4. 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.
  5. Vérifiez le point de terminaison régional :

  6. Recherchez les erreurs dans les journaux de l'agent Bindplane :

    sudo journalctl -u observiq-otel-collector -n 100 --no-pager
    

    Recherchez les messages d'erreur tels que :

    • connection refused : problème de réseau/pare-feu
    • authentication failed – Problème d'identifiant
    • invalid 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 :

  1. Assurez-vous que le protocole configuré dans Bindplane (tcplog ou udplog) correspond à celui configuré dans Forcepoint (TCP ou UDP).
  2. 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 514
    
  3. Si 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 :

  1. Numéro client incorrect.
  2. Fichier d'authentification pour l'ingestion non valide ou expiré.
  3. Chemin d'accès incorrect au fichier d'authentification de l'ingestion.
  4. Point de terminaison régional incorrect.

Solution :

  1. Vérifiez que le numéro client dans config.yaml correspond à celui indiqué dans Paramètres du SIEM > Profil.
  2. Téléchargez à nouveau le fichier d'authentification de l'ingestion depuis Paramètres du SIEM> Agents de collecte.
  3. Vérifiez que le chemin d'accès dans config.yaml pointe vers le bon emplacement.
  4. Vérifiez que le point de terminaison régional correspond à la région de votre instance Google SecOps.
  5. 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 :

  1. Les journaux ne sont pas au format CEF.
  2. Le format CEF est incorrect ou non standard.
  3. Le type de journal ne correspond pas dans la configuration Bindplane.

Solution :

  1. 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|.
  2. Si les journaux ne sont pas au format CEF :

    • Dans Forcepoint, définissez Format sur CEF ou Common Event Format.
    • Redéployez la configuration.
  3. Vérifiez le type de journal dans Bindplane config.yaml :

    • Assurez-vous que log_type: 'FORCEPOINT_PROXY' est correctement défini.
  4. 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 :

  1. Latence du réseau entre Forcepoint et l'agent Bindplane.
  2. Contraintes de ressources (CPU/mémoire) de l'agent Bindplane.
  3. Le traitement par lot est activé dans Forcepoint.
  4. Carnet de commandes d'ingestion Google SecOps.

Solution :

  1. Vérifiez la latence du réseau :

    ping <BINDPLANE_IP>
    # Check for high latency (>50ms) or packet loss
    
  2. Vérifiez l'utilisation des ressources de l'agent Bindplane :

    top
    # Look for observiq-otel-collector process
    # Verify CPU < 80% and memory is available
    
  3. Dans 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 1 pour le transfert en temps réel.
    • Vous pouvez également réduire l'intervalle entre les lots pour des envois plus fréquents.
  4. Envisagez de mettre à l'échelle l'hôte de l'agent Bindplane (plus de processeur/de mémoire) si les ressources sont limitées.

  5. 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 :

  1. Vérifiez que l'agent Bindplane est en cours d'exécution :

    sudo systemctl status observiq-otel-collector
    
  2. Vérifiez que l'agent Bindplane écoute sur le port configuré :

    sudo netstat -tuln | grep 514
    
  3. Désactivez temporairement le pare-feu pour effectuer un test :

    # Linux
    sudo ufw disable
    # Test connection from Forcepoint
    # Then re-enable
    sudo ufw enable
    
  4. Vé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.
  5. 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.