Collecter les journaux Fortinet FortiEDR
Ce document explique comment ingérer des journaux Fortinet FortiEDR dans Google Security Operations à l'aide de Google Cloud Storage V2 ou de l'agent Bindplane.
Fortinet FortiEDR est une solution de détection et de réponse au niveau des points de terminaison qui offre une protection en temps réel, une réponse automatisée aux incidents et des informations sur les menaces pour les points de terminaison d'une organisation.
Différences entre les méthodes de collecte
Ce guide propose deux méthodes de collecte :
- Option 1 : Syslog via l'agent Bindplane : FortiEDR envoie des messages syslog à l'agent Bindplane, qui transmet les journaux à Google SecOps. Recommandé pour l'ingestion de journaux en temps réel avec une infrastructure minimale.
- Option 2 : Syslog vers GCS via Cloud Functions : FortiEDR envoie des messages syslog à une fonction Cloud, qui écrit les journaux dans GCS pour l'ingestion Google SecOps. Recommandé pour le stockage centralisé des journaux et le traitement par lot.
Choisissez la méthode qui correspond le mieux à votre infrastructure et à vos exigences.
Option 1 : Collecter les journaux Fortinet FortiEDR à l'aide de l'agent Bindplane
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Instance Google SecOps
- Windows Server 2016 ou version ultérieure, ou hôte Linux avec systemd
- Connectivité réseau entre l'agent Bindplane et Fortinet FortiEDR Central Manager
- 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 Fortinet FortiEDR
- FortiEDR version 5.0 ou ultérieure
Obtenir le fichier d'authentification d'ingestion Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agent de collecte.
- Cliquez sur Télécharger pour télécharger le fichier d'authentification pour l'ingestion.
Enregistrez le fichier de manière sécurisée sur le système sur lequel l'agent 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" /quietAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sc query observiq-otel-collector
Le service doit être indiqué comme RUNNING (EN COURS D'EXÉCUTION).
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.shAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sudo systemctl status observiq-otel-collector
Le service doit être indiqué comme actif (en cours d'exécution).
Autres ressources d'installation
Pour obtenir d'autres options d'installation et de dépannage, consultez le guide d'installation de l'agent Bindplane.
Configurer l'agent Bindplane pour ingérer les journaux syslog et les envoyer à Google SecOps
Localiser le fichier de configuration
Linux :
sudo nano /etc/bindplane-agent/config.yaml
Windows :
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifiez le fichier de configuration
Remplacez l'intégralité du contenu de config.yaml par la configuration suivante :
receivers:
tcplog:
listen_address: "0.0.0.0:514"
exporters:
chronicle/fortiedr:
compression: gzip
creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
customer_id: 'YOUR_CUSTOMER_ID'
endpoint: malachiteingestion-pa.googleapis.com
log_type: FORTINET_FORTIEDR
raw_log_field: body
ingestion_labels:
env: production
service:
pipelines:
logs/fortiedr_to_chronicle:
receivers:
- tcplog
exporters:
- chronicle/fortiedr
Paramètres de configuration
Remplacez les espaces réservés suivants :
Configuration du récepteur :
listen_address: adresse IP et port à écouter. Utilisez0.0.0.0:514pour écouter sur toutes les interfaces sur le port 514.
Configuration de l'exportateur :
creds_file_path: chemin d'accès complet au fichier d'authentification de l'ingestion :- Linux :
/etc/bindplane-agent/ingestion-auth.json - Windows :
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux :
customer_id: ID client de l'étape précédente.endpoint: URL du point de terminaison régional :- États-Unis :
malachiteingestion-pa.googleapis.com - Europe :
europe-malachiteingestion-pa.googleapis.com - Asie :
asia-southeast1-malachiteingestion-pa.googleapis.com
- États-Unis :
ingestion_labels: libellés facultatifs au format YAML.
Enregistrez le fichier de configuration.
Après avoir modifié le fichier, enregistrez-le :
- Linux : appuyez sur
Ctrl+O, puis surEnter, puis surCtrl+X. - Windows : cliquez sur Fichier > Enregistrer.
Redémarrez l'agent Bindplane pour appliquer les modifications.
Linux
sudo systemctl restart observiq-otel-collectorVérifiez que le service est en cours d'exécution :
sudo systemctl status observiq-otel-collectorRecherchez les erreurs dans les journaux :
sudo journalctl -u observiq-otel-collector -f
Windows
Choisissez l'une des options suivantes :
À l'aide de l'invite de commandes ou de PowerShell en tant qu'administrateur :
net stop observiq-otel-collector && net start observiq-otel-collectorUtiliser la console Services :
- Appuyez sur
Win+R, saisissezservices.msc, puis appuyez sur Entrée. - Localisez observIQ OpenTelemetry Collector.
Effectuez un clic droit, puis sélectionnez Redémarrer.
Vérifiez que le service est en cours d'exécution :
sc query observiq-otel-collectorRecherchez les erreurs dans les journaux :
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Appuyez sur
Configurer le transfert syslog Fortinet FortiEDR
Configurer la destination syslog
- Connectez-vous à la console FortiEDR Central Manager.
- Accédez à Administration > Paramètres d'exportation > Syslog.
- Cliquez sur le bouton Define New Syslog (Définir un nouveau journal syslog).
- Dans le champ Nom Syslog, saisissez un nom descriptif (par exemple,
Chronicle-Integration). - Dans le champ Hôte, saisissez l'adresse IP de l'hôte de l'agent Bindplane.
- Dans le champ Port, saisissez
514. - Dans le menu déroulant Protocole, sélectionnez TCP.
- Dans le menu déroulant Format, sélectionnez Point-virgule (format par défaut avec des champs séparés par des points-virgules).
- Cliquez sur le bouton Test pour tester la connexion à l'agent Bindplane.
- Vérifiez que le test a réussi.
- Cliquez sur le bouton Enregistrer pour enregistrer la destination Syslog.
Activer les notifications syslog par type d'événement
- Sur la page Syslog, sélectionnez la ligne de destination syslog que vous venez de créer.
- Dans le volet NOTIFICATIONS à droite, utilisez les curseurs pour activer ou désactiver la destination par type d'événement :
- Événements système : activez cette option pour envoyer des événements sur l'état du système FortiEDR.
- Événements de sécurité : activez cette option pour envoyer des agrégations d'événements de sécurité.
- Piste d'audit : activez cette option pour envoyer les événements du journal d'audit.
- Pour chaque type d'événement activé, cliquez sur le bouton à droite du type d'événement.
- Cochez les cases des champs que vous souhaitez inclure dans les messages syslog.
- Cliquez sur Enregistrer.
Configurer les notifications de playbook
Les messages Syslog ne sont envoyés que pour les événements de sécurité qui se produisent sur les appareils attribués à une règle de playbook avec l'option Envoyer une notification Syslog activée.
- Accédez à Paramètres de sécurité > Playbooks.
- Sélectionnez la règle de playbook qui s'applique aux appareils que vous souhaitez surveiller (par exemple, Playbook par défaut).
- Dans la section Notifications, recherchez la ligne Syslog.
- Activez l'option Send Syslog Notification (Envoyer une notification Syslog) en cochant les cases correspondant aux classifications d'événements que vous souhaitez envoyer :
- Malveillant : événements de sécurité classés comme malveillants.
- Suspect : événements de sécurité classés comme suspects.
- PUP : programmes potentiellement indésirables.
- Non concluant : événements dont la classification n'est pas concluante.
- Probablement sécurisé : événements classés comme probablement sécurisés (facultatif).
Cliquez sur Enregistrer.
Option 2 : Collecter les journaux Fortinet FortiEDR à l'aide de GCS
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Une instance Google SecOps
- Un projet GCP avec l'API Cloud Storage activée
- Autorisations pour créer et gérer des buckets GCS
- Autorisations permettant de gérer les stratégies IAM sur les buckets GCS
- Autorisations permettant de créer des services Cloud Run, des sujets Pub/Sub et des tâches Cloud Scheduler
- Accès privilégié à la console de gestion Fortinet FortiEDR
- FortiEDR version 5.0 ou ultérieure
Créer un bucket Google Cloud Storage
- Accédez à Google Cloud Console.
- Sélectionnez votre projet ou créez-en un.
- Dans le menu de navigation, accédez à Cloud Storage> Buckets.
- Cliquez sur Créer un bucket.
Fournissez les informations de configuration suivantes :
Paramètre Valeur Nommer votre bucket Saisissez un nom unique (par exemple, fortiedr-logs).Type d'emplacement Choisissez en fonction de vos besoins (région, birégion ou multirégion). Emplacement Sélectionnez l'emplacement (par exemple, us-central1).Classe de stockage Standard (recommandé pour les journaux auxquels vous accédez fréquemment) Access control (Contrôle des accès) Uniforme (recommandé) Outils de protection Facultatif : Activer la gestion des versions des objets ou la règle de conservation Cliquez sur Créer.
Créer un compte de service pour la fonction Cloud Run
La fonction Cloud Run a besoin d'un compte de service disposant des autorisations nécessaires pour écrire dans le bucket GCS et être appelée par Pub/Sub.
Créer un compte de service
- Dans la console GCP, 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
fortiedr-syslog-collector-sa. - Description du compte de service : saisissez
Service account for Cloud Run function to collect FortiEDR syslog logs.
- Nom du compte de service : saisissez
- Cliquez sur Créer et continuer.
- Dans la section Autoriser ce compte de service à accéder au projet, ajoutez les rôles suivants :
- Cliquez sur Sélectionner un rôle.
- Recherchez et sélectionnez Administrateur des objets de l'espace de stockage.
- Cliquez sur + Ajouter un autre rôle.
- Recherchez et sélectionnez Demandeur Cloud Run.
- Cliquez sur + Ajouter un autre rôle.
- Recherchez et sélectionnez Demandeur Cloud Functions.
- Cliquez sur Continuer.
- Cliquez sur OK.
Ces rôles sont requis pour :
- Administrateur des objets Storage : écrire des journaux dans le bucket GCS et gérer les fichiers d'état
- Demandeur Cloud Run : autorise Pub/Sub à appeler la fonction
- Demandeur Cloud Functions : autorise l'appel de fonctions
Accorder des autorisations IAM sur un bucket GCS
Accordez au compte de service des autorisations d'écriture sur le bucket GCS :
- Accédez à Cloud Storage > Buckets.
- Cliquez sur le nom de votre bucket.
- Accédez à l'onglet Autorisations.
- Cliquez sur Accorder l'accès.
- Fournissez les informations de configuration suivantes :
- Ajouter des comptes principaux : saisissez l'adresse e-mail du compte de service (par exemple,
fortiedr-syslog-collector-sa@PROJECT_ID.iam.gserviceaccount.com). - Attribuer des rôles : sélectionnez Administrateur des objets Storage.
- Ajouter des comptes principaux : saisissez l'adresse e-mail du compte de service (par exemple,
- Cliquez sur Enregistrer.
Créer un sujet Pub/Sub
Créez un sujet Pub/Sub auquel Cloud Scheduler publiera des messages et auquel la fonction Cloud Run s'abonnera.
- Dans la console GCP, accédez à Pub/Sub > Sujets.
- Cliquez sur Create topic (Créer un sujet).
- Fournissez les informations de configuration suivantes :
- ID du sujet : saisissez
fortiedr-syslog-trigger. - Conservez les valeurs par défaut des autres paramètres.
- ID du sujet : saisissez
- Cliquez sur Créer.
Créer une fonction Cloud Run pour recevoir syslog
La fonction Cloud Run recevra les messages syslog de FortiEDR via HTTP et les écrira dans GCS.
- Dans la console GCP, accédez à Cloud Run.
- Cliquez sur Créer un service.
- Sélectionnez Fonction (utilisez un éditeur intégré pour créer une fonction).
Dans la section Configurer, fournissez les informations de configuration suivantes :
Paramètre Valeur Nom du service fortiedr-syslog-collectorRégion Sélectionnez la région correspondant à votre bucket GCS (par exemple, us-central1).Durée d'exécution Sélectionnez Python 3.12 ou version ultérieure. Dans la section Déclencheur (facultatif) :
- Cliquez sur + Ajouter un déclencheur.
- Sélectionnez HTTPS.
- Dans Authentification, sélectionnez Autoriser les appels non authentifiés.
- Cliquez sur Enregistrer.
Faites défiler la page jusqu'à Conteneurs, mise en réseau, sécurité, puis développez cette section.
Accédez à l'onglet Sécurité :
- Compte de service : sélectionnez le compte de service (
fortiedr-syslog-collector-sa).
- Compte de service : sélectionnez le compte de service (
Accédez à l'onglet Conteneurs :
- Cliquez sur Variables et secrets.
Cliquez sur + Ajouter une variable pour chaque variable d'environnement :
Nom de la variable Exemple de valeur Description GCS_BUCKETfortiedr-logsNom du bucket GCS GCS_PREFIXfortiedr-syslogPréfixe des fichiers journaux
Dans la section Variables et secrets, faites défiler la page jusqu'à Requêtes :
- Délai avant expiration de la requête : saisissez
60secondes.
- Délai avant expiration de la requête : saisissez
Accédez à l'onglet Paramètres :
- Dans la section Ressources :
- Mémoire : sélectionnez 256 Mio ou plus.
- CPU : sélectionnez 1.
- Dans la section Ressources :
Dans la section Scaling de révision :
- Nombre minimal d'instances : saisissez
0. - Nombre maximal d'instances : saisissez
10(ou ajustez en fonction de la charge attendue).
- Nombre minimal d'instances : saisissez
Cliquez sur Créer.
Attendez que le service soit créé (1 à 2 minutes).
Une fois le service créé, l'éditeur de code intégré s'ouvre automatiquement.
Ajouter un code de fonction
- Saisissez main dans le champ Point d'entrée.
Dans l'éditeur de code intégré, créez deux fichiers :
- Premier fichier : main.py:
import functions_framework from google.cloud import storage import json import os from datetime import datetime, timezone from flask import Request # Initialize Storage client storage_client = storage.Client() # Environment variables GCS_BUCKET = os.environ.get('GCS_BUCKET') GCS_PREFIX = os.environ.get('GCS_PREFIX', 'fortiedr-syslog') @functions_framework.http def main(request: Request): """ Cloud Run function to receive syslog messages from FortiEDR and write to GCS. Args: request: Flask Request object containing syslog message """ if not GCS_BUCKET: print('Error: Missing GCS_BUCKET environment variable') return ('Missing GCS_BUCKET environment variable', 500) try: # Get request body request_data = request.get_data(as_text=True) if not request_data: print('Warning: Empty request body') return ('Empty request body', 400) # Parse syslog messages (one per line) lines = request_data.strip().split('\n') if not lines: print('Warning: No syslog messages found') return ('No syslog messages found', 400) # Get GCS bucket bucket = storage_client.bucket(GCS_BUCKET) # Write to GCS as NDJSON now = datetime.now(timezone.utc) timestamp = now.strftime('%Y%m%d_%H%M%S_%f') object_key = f"{GCS_PREFIX}/logs_{timestamp}.ndjson" blob = bucket.blob(object_key) # Convert each line to JSON object with raw syslog message records = [] for line in lines: if line.strip(): records.append({'raw': line.strip(), 'timestamp': now.isoformat()}) ndjson = '\n'.join([json.dumps(record, ensure_ascii=False) for record in records]) + '\n' blob.upload_from_string(ndjson, content_type='application/x-ndjson') print(f"Wrote {len(records)} records to gs://{GCS_BUCKET}/{object_key}") return (f"Successfully processed {len(records)} records", 200) except Exception as e: print(f'Error processing syslog: {str(e)}') return (f'Error processing syslog: {str(e)}', 500)- Deuxième fichier : requirements.txt:
functions-framework==3.* google-cloud-storage==2.* flask==3.*Cliquez sur Déployer pour enregistrer et déployer la fonction.
Attendez la fin du déploiement (deux à trois minutes).
Après le déploiement, accédez à l'onglet Trigger (Déclencheur) et copiez l'URL du déclencheur (par exemple,
https://fortiedr-syslog-collector-abc123-uc.a.run.app).
Configurer le transfert syslog Fortinet FortiEDR vers Cloud Functions
Configurer la destination syslog
- Connectez-vous à la console FortiEDR Central Manager.
- Accédez à Administration > Paramètres d'exportation > Syslog.
- Cliquez sur le bouton Define New Syslog (Définir un nouveau journal syslog).
- Dans le champ Nom Syslog, saisissez un nom descriptif (par exemple,
Chronicle-GCS-Integration). - Dans le champ Hôte, saisissez le nom d'hôte de l'URL du déclencheur de la fonction Cloud (par exemple,
fortiedr-syslog-collector-abc123-uc.a.run.app). - Dans le champ Port, saisissez
443. - Dans le menu déroulant Protocole, sélectionnez TCP.
- Dans le menu déroulant Format, sélectionnez Point-virgule (format par défaut avec des champs séparés par des points-virgules).
- Cliquez sur le bouton Tester pour tester la connexion à la fonction Cloud.
- Vérifiez que le test a réussi.
Cliquez sur le bouton Enregistrer pour enregistrer la destination Syslog.
Activer les notifications syslog par type d'événement
- Sur la page Syslog, sélectionnez la ligne de destination syslog que vous venez de créer.
- Dans le volet NOTIFICATIONS à droite, utilisez les curseurs pour activer ou désactiver la destination par type d'événement :
- Événements système : activez cette option pour envoyer des événements sur l'état du système FortiEDR.
- Événements de sécurité : activez cette option pour envoyer des agrégations d'événements de sécurité.
- Piste d'audit : activez cette option pour envoyer les événements du journal d'audit.
- Pour chaque type d'événement activé, cliquez sur le bouton à droite du type d'événement.
- Cochez les cases des champs que vous souhaitez inclure dans les messages syslog.
- Cliquez sur Enregistrer.
Configurer les notifications de playbook
Les messages Syslog ne sont envoyés que pour les événements de sécurité qui se produisent sur les appareils attribués à une règle de playbook avec l'option Envoyer une notification Syslog activée.
- Accédez à Paramètres de sécurité > Playbooks.
- Sélectionnez la règle de playbook qui s'applique aux appareils que vous souhaitez surveiller (par exemple, Playbook par défaut).
- Dans la section Notifications, recherchez la ligne Syslog.
- Activez l'option Send Syslog Notification (Envoyer une notification Syslog) en cochant les cases correspondant aux classifications d'événements que vous souhaitez envoyer :
- Malveillant : événements de sécurité classés comme malveillants.
- Suspect : événements de sécurité classés comme suspects.
- PUP : programmes potentiellement indésirables.
- Non concluant : événements dont la classification n'est pas concluante.
- Probablement sécurisé : événements classés comme probablement sécurisés (facultatif).
Cliquez sur Enregistrer.
Tester l'intégration
- Dans la console FortiEDR Central Manager, accédez à Administration > Export Settings > Syslog.
- Sélectionnez la ligne de destination syslog.
- Cliquez sur le bouton Tester pour envoyer un message test.
- Accédez à Cloud Run > Services dans la console GCP.
- Cliquez sur le nom de la fonction (
fortiedr-syslog-collector). - Cliquez sur l'onglet Journaux.
Vérifiez que la fonction s'est exécutée correctement. Par exemple :
Wrote X records to gs://fortiedr-logs/fortiedr-syslog/logs_YYYYMMDD_HHMMSS_MMMMMM.ndjson Successfully processed X recordsAccédez à Cloud Storage > Buckets.
Cliquez sur le nom de votre bucket.
Accédez au dossier de préfixe (
fortiedr-syslog/).Vérifiez qu'un fichier
.ndjsona été créé avec le code temporel actuel.
Si vous constatez des erreurs dans les journaux :
- Corps de requête vide : FortiEDR n'envoie pas de données à Cloud Functions.
- Variable d'environnement GCS_BUCKET manquante : vérifiez que les variables d'environnement sont définies.
- Autorisation refusée : vérifiez que le compte de service dispose du rôle "Administrateur des objets de l'espace de stockage" sur le bucket.
Récupérer le compte de service Google SecOps
Google SecOps utilise un compte de service unique pour lire les données de votre bucket GCS. Vous devez accorder à ce compte de service l'accès à votre bucket.
Configurer un flux dans Google SecOps pour ingérer les journaux Fortinet FortiEDR
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New Feed (Ajouter un flux).
- Cliquez sur Configurer un flux unique.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
FortiEDR Syslog Logs). - Sélectionnez Google Cloud Storage V2 comme Type de source.
Sélectionnez Fortinet FortiEDR comme type de journal.
Cliquez sur Obtenir un compte de service.
Une adresse e-mail unique pour le compte de service s'affiche, par exemple :
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comCopiez cette adresse e-mail. Vous en aurez besoin lors de la tâche suivante.
Cliquez sur Suivant.
Spécifiez les valeurs des paramètres d'entrée suivants :
URL du bucket Storage : saisissez l'URI du bucket GCS avec le préfixe du chemin d'accès :
gs://fortiedr-logs/fortiedr-syslog/Remplacez :
fortiedr-logs: nom de votre bucket GCS.fortiedr-syslog: préfixe/chemin d'accès au dossier facultatif où les journaux sont stockés (laisser vide pour la racine).
Option de suppression de la source : sélectionnez l'option de suppression de votre choix :
- Jamais : ne supprime jamais aucun fichier après les transferts (recommandé pour les tests).
- Supprimer les fichiers transférés : supprime les fichiers après un transfert réussi.
- Supprimer les fichiers transférés et les répertoires vides : supprime les fichiers et les répertoires vides après un transfert réussi.
Âge maximal des fichiers : incluez les fichiers modifiés au cours des derniers jours. La valeur par défaut est de 180 jours.
Espace de noms de l'élément : espace de noms de l'élément.
Libellés d'ingestion : libellé à appliquer aux événements de ce flux.
Cliquez sur Suivant.
Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Accorder des autorisations IAM au compte de service Google SecOps
Le compte de service Google SecOps a besoin du rôle Lecteur des objets Storage sur votre bucket GCS.
- Accédez à Cloud Storage > Buckets.
- Cliquez sur le nom de votre bucket.
- Accédez à l'onglet Autorisations.
- Cliquez sur Accorder l'accès.
- Fournissez les informations de configuration suivantes :
- Ajouter des comptes principaux : collez l'adresse e-mail du compte de service Google SecOps.
- Attribuez des rôles : sélectionnez Lecteur des objets de l'espace de stockage.
Cliquez sur Enregistrer.
Table de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
| Pays | target.location.country_or_region | Valeur copiée directement si elle n'est pas "N/A" ni vide |
| srccountry | principal.location.country_or_region | Valeur copiée directement si elle n'est pas réservée ni vide |
| dstcountry | target.location.country_or_region | Valeur copiée directement si elle n'est pas vide |
| srcip | principal.ip | Valeur copiée directement |
| dstip | target.ip | Valeur copiée directement si elle n'est pas "N/A" |
| Destination | target.ip | Extrait en tant qu'adresse IP de destination si elle est valide |
| dst | target.ip | Extrait en tant qu'adresse IP de "dst" si elle est valide |
| srcmac | principal.mac | Valeur copiée directement |
| dstosname | target.platform | Définissez sur LINUX si la chaîne correspond à LINUX, sur WINDOWS si elle correspond à WINDOWS et sur MAC si elle correspond à MAC. |
| srcport | principal.port | Converti en entier |
| dstport | target.port | Converti en entier |
| spt | principal.port | Converti en entier |
| dpt | target.port | Converti en entier |
| sessionid | network.session_id | Valeur copiée directement |
| sentbyte | network.sent_bytes | Converti en entier non signé |
| rcvdbyte | network.received_bytes | Converti en entier non signé |
| duration | network.session_duration.seconds | Converti en entier |
| action | security_result.summary | Valeur copiée directement |
| level | security_result.severity_details | Définie sur "niveau : %{level}" |
| policyid | security_result.rule_id | Valeur copiée directement |
| policyname | security_result.rule_name | Valeur copiée directement |
| policytype | security_result.rule_type | Valeur copiée directement |
| service | target.application | Valeur copiée directement |
| intermediary_ip | target.ip | Valeur copiée directement si message_type est "Audit" ou si loginStatus n'est pas vide |
| intermédiaire | intermédiaire | Valeur copiée directement |
| devname | target.hostname | Valeur copiée directement |
| server_host | target.hostname | Valeur copiée directement si message_type est "Audit" ou si loginStatus n'est pas vide |
| server_host | intermediary.hostname | Valeur copiée directement en tant que libellé si elle n'est pas "Audit" ni "loginStatus" |
| deviceInformation | target.resource.name, target.resource.resource_type | Nom de l'appareil extrait et resource_type défini sur DEVICE |
| component_name | additional.fields | Définir comme libellé avec la clé "Nom du composant" |
| process_name | principal.application | Valeur copiée directement |
| Chemin de traitement | target.file.full_path | Valeur copiée directement |
| asset_os | target.platform | Définissez la valeur sur WINDOWS si elle correspond à Windows. LINUX si la réponse correspond à Linux. |
| os_version | target.platform_version | Extrait de asset_os |
| asset_os | principal.platform | Définissez la valeur sur WINDOWS si elle correspond à Windows. LINUX si la réponse correspond à Linux. |
| os_version | principal.platform_version | Extrait de asset_os |
| usr_name | userId | Valeur copiée directement |
| Utilisateurs | userId | Valeur copiée directement si elle n'est pas WG ou ADDC |
| id | userId | Valeur copiée directement |
| userId | target.user.userid | Valeur copiée directement si message_type est "Audit" ou si loginStatus n'est pas vide |
| userId | principal.user.userid | Valeur copiée directement si elle n'est pas "Audit" ni "loginStatus" |
| userDisplayName | target.user.user_display_name | Valeur copiée directement si message_type est "Audit" ou si loginStatus n'est pas vide |
| userDisplayName | principal.user.user_display_name | Valeur copiée directement si elle n'est pas "Audit" ni "loginStatus" |
| userPrincipalName | principal.user.userid | Valeur copiée directement |
| Description | metadata.description | Valeur copiée directement si elle n'est pas vide |
| Détails | metadata.description | Valeur copiée directement si elle n'est pas vide |
| mfaResult | metadata.description | Valeur copiée directement si elle n'est pas vide |
| data7 | metadata.description | Valeur copiée directement si elle n'est pas vide |
| message_type | metadata.description | Valeur copiée directement si description_details est vide |
| src_ip, srcip | principal.ip | Valeur de src_ip si elle n'est pas vide, sinon src, sinon Source, sinon ipAddress |
| src_ip | principal.ip | Extrait en tant qu'adresse IP à partir de src_ip si elle est valide |
| mac_address | principal.mac | Traitée comme un tableau, convertie en minuscules, fusionnée si l'adresse MAC est valide |
| event_id | target.process.pid | Valeur copiée directement si message_type est "Audit" ou si loginStatus n'est pas vide |
| event_id | metadata.product_log_id | Valeur copiée directement si elle n'est pas "Audit" ni "loginStatus" |
| event_type | metadata.event_type | Valeur copiée directement |
| Gravité | security_result.severity | Défini sur "INFORMATIONAL" si la gravité est "Faible" ou vide, sur "MEDIUM" si la gravité est "Moyenne", sur "HIGH" si la gravité est "Élevée" et sur "CRITICAL" si la gravité est "Critique". |
| Action | security_result.action | Définissez sur "ALLOW" si la valeur correspond à (?i)Allow, sur "BLOCK" si la valeur correspond à (?i)Block, ou sur "action_details" dans le cas contraire. |
| security_action | security_result.action | Valeur copiée directement |
| Règle | règles | Valeur copiée directement |
| règles | security_result.rule_name | Valeur copiée directement |
| Classification | security_result.summary | Valeur copiée directement |
| Première occurrence | security_result.detection_fields | Définir comme libellé avec la clé "First Seen" |
| Dernière occurrence | security_result.detection_fields | Définir comme libellé avec la clé "Dernière connexion" |
| Organisation | target.administrative_domain | Valeur copiée directement si message_type est "Audit" ou si loginStatus n'est pas vide |
| Organisation | additional.fields | Définir comme libellé avec la clé "Organization" si ce n'est pas Audit ou loginStatus |
| security_result | security_result | Fusionné à partir de sec_result |
| metadata.vendor_name | Défini sur "FORTINET" | |
| metadata.product_name | Définissez-le sur "FORTINET_FORTIEDR". |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.