Collecter les journaux Fortinet FortiEDR

Compatible avec :

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

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agent de collecte.
  3. Cliquez sur Télécharger pour télécharger le fichier d'authentification pour l'ingestion.
  4. 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

  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
    
  3. Attendez la fin de l'installation.

  4. 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

  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
    
  3. Attendez la fin de l'installation.

  4. 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. Utilisez 0.0.0.0:514 pour é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
  • 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
  • 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 sur Enter, puis sur Ctrl+X.
  • Windows : cliquez sur Fichier > Enregistrer.

Redémarrez l'agent Bindplane pour appliquer les modifications.

  • Linux

    sudo systemctl restart observiq-otel-collector
    
    1. Vérifiez que le service est en cours d'exécution :

      sudo systemctl status observiq-otel-collector
      
    2. Recherchez 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-collector
      
    • Utiliser la console Services :

      1. Appuyez sur Win+R, saisissez services.msc, puis appuyez sur Entrée.
      2. Localisez observIQ OpenTelemetry Collector.
      3. Effectuez un clic droit, puis sélectionnez Redémarrer.

      4. Vérifiez que le service est en cours d'exécution :

        sc query observiq-otel-collector
        
      5. Recherchez les erreurs dans les journaux :

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configurer le transfert syslog Fortinet FortiEDR

Configurer la destination syslog

  1. Connectez-vous à la console FortiEDR Central Manager.
  2. Accédez à Administration > Paramètres d'exportation > Syslog.
  3. Cliquez sur le bouton Define New Syslog (Définir un nouveau journal syslog).
  4. Dans le champ Nom Syslog, saisissez un nom descriptif (par exemple, Chronicle-Integration).
  5. Dans le champ Hôte, saisissez l'adresse IP de l'hôte de l'agent Bindplane.
  6. Dans le champ Port, saisissez 514.
  7. Dans le menu déroulant Protocole, sélectionnez TCP.
  8. Dans le menu déroulant Format, sélectionnez Point-virgule (format par défaut avec des champs séparés par des points-virgules).
  9. Cliquez sur le bouton Test pour tester la connexion à l'agent Bindplane.
  10. Vérifiez que le test a réussi.
  11. Cliquez sur le bouton Enregistrer pour enregistrer la destination Syslog.

Activer les notifications syslog par type d'événement

  1. Sur la page Syslog, sélectionnez la ligne de destination syslog que vous venez de créer.
  2. 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.
  3. Pour chaque type d'événement activé, cliquez sur le bouton à droite du type d'événement.
  4. Cochez les cases des champs que vous souhaitez inclure dans les messages syslog.
  5. 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.

  1. Accédez à Paramètres de sécurité > Playbooks.
  2. Sélectionnez la règle de playbook qui s'applique aux appareils que vous souhaitez surveiller (par exemple, Playbook par défaut).
  3. Dans la section Notifications, recherchez la ligne Syslog.
  4. 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).
  5. 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

  1. Accédez à Google Cloud Console.
  2. Sélectionnez votre projet ou créez-en un.
  3. Dans le menu de navigation, accédez à Cloud Storage> Buckets.
  4. Cliquez sur Créer un bucket.
  5. 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
  6. 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

  1. Dans la console GCP, accédez à IAM et administration > Comptes de service.
  2. Cliquez sur Créer un compte de service.
  3. 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.
  4. Cliquez sur Créer et continuer.
  5. Dans la section Autoriser ce compte de service à accéder au projet, ajoutez les rôles suivants :
    1. Cliquez sur Sélectionner un rôle.
    2. Recherchez et sélectionnez Administrateur des objets de l'espace de stockage.
    3. Cliquez sur + Ajouter un autre rôle.
    4. Recherchez et sélectionnez Demandeur Cloud Run.
    5. Cliquez sur + Ajouter un autre rôle.
    6. Recherchez et sélectionnez Demandeur Cloud Functions.
  6. Cliquez sur Continuer.
  7. 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 :

  1. Accédez à Cloud Storage > Buckets.
  2. Cliquez sur le nom de votre bucket.
  3. Accédez à l'onglet Autorisations.
  4. Cliquez sur Accorder l'accès.
  5. 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.
  6. 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.

  1. Dans la console GCP, accédez à Pub/Sub > Sujets.
  2. Cliquez sur Create topic (Créer un sujet).
  3. Fournissez les informations de configuration suivantes :
    • ID du sujet : saisissez fortiedr-syslog-trigger.
    • Conservez les valeurs par défaut des autres paramètres.
  4. 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.

  1. Dans la console GCP, accédez à Cloud Run.
  2. Cliquez sur Créer un service.
  3. Sélectionnez Fonction (utilisez un éditeur intégré pour créer une fonction).
  4. Dans la section Configurer, fournissez les informations de configuration suivantes :

    Paramètre Valeur
    Nom du service fortiedr-syslog-collector
    Ré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.
  5. Dans la section Déclencheur (facultatif) :

    1. Cliquez sur + Ajouter un déclencheur.
    2. Sélectionnez HTTPS.
    3. Dans Authentification, sélectionnez Autoriser les appels non authentifiés.
    4. Cliquez sur Enregistrer.
  6. Faites défiler la page jusqu'à Conteneurs, mise en réseau, sécurité, puis développez cette section.

  7. Accédez à l'onglet Sécurité :

    • Compte de service : sélectionnez le compte de service (fortiedr-syslog-collector-sa).
  8. Accédez à l'onglet Conteneurs :

    1. Cliquez sur Variables et secrets.
    2. Cliquez sur + Ajouter une variable pour chaque variable d'environnement :

      Nom de la variable Exemple de valeur Description
      GCS_BUCKET fortiedr-logs Nom du bucket GCS
      GCS_PREFIX fortiedr-syslog Préfixe des fichiers journaux
  9. Dans la section Variables et secrets, faites défiler la page jusqu'à Requêtes :

    • Délai avant expiration de la requête : saisissez 60 secondes.
  10. Accédez à l'onglet Paramètres :

    • Dans la section Ressources :
      • Mémoire : sélectionnez 256 Mio ou plus.
      • CPU : sélectionnez 1.
  11. 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).
  12. Cliquez sur Créer.

  13. Attendez que le service soit créé (1 à 2 minutes).

  14. Une fois le service créé, l'éditeur de code intégré s'ouvre automatiquement.

Ajouter un code de fonction

  1. Saisissez main dans le champ Point d'entrée.
  2. 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.*
    
  3. Cliquez sur Déployer pour enregistrer et déployer la fonction.

  4. Attendez la fin du déploiement (deux à trois minutes).

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

  1. Connectez-vous à la console FortiEDR Central Manager.
  2. Accédez à Administration > Paramètres d'exportation > Syslog.
  3. Cliquez sur le bouton Define New Syslog (Définir un nouveau journal syslog).
  4. Dans le champ Nom Syslog, saisissez un nom descriptif (par exemple, Chronicle-GCS-Integration).
  5. 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).
  6. Dans le champ Port, saisissez 443.
  7. Dans le menu déroulant Protocole, sélectionnez TCP.
  8. Dans le menu déroulant Format, sélectionnez Point-virgule (format par défaut avec des champs séparés par des points-virgules).
  9. Cliquez sur le bouton Tester pour tester la connexion à la fonction Cloud.
  10. Vérifiez que le test a réussi.
  11. Cliquez sur le bouton Enregistrer pour enregistrer la destination Syslog.

Activer les notifications syslog par type d'événement

  1. Sur la page Syslog, sélectionnez la ligne de destination syslog que vous venez de créer.
  2. 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.
  3. Pour chaque type d'événement activé, cliquez sur le bouton à droite du type d'événement.
  4. Cochez les cases des champs que vous souhaitez inclure dans les messages syslog.
  5. 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.

  1. Accédez à Paramètres de sécurité > Playbooks.
  2. Sélectionnez la règle de playbook qui s'applique aux appareils que vous souhaitez surveiller (par exemple, Playbook par défaut).
  3. Dans la section Notifications, recherchez la ligne Syslog.
  4. 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).
  5. Cliquez sur Enregistrer.

Tester l'intégration

  1. Dans la console FortiEDR Central Manager, accédez à Administration > Export Settings > Syslog.
  2. Sélectionnez la ligne de destination syslog.
  3. Cliquez sur le bouton Tester pour envoyer un message test.
  4. Accédez à Cloud Run > Services dans la console GCP.
  5. Cliquez sur le nom de la fonction (fortiedr-syslog-collector).
  6. Cliquez sur l'onglet Journaux.
  7. 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 records
    
  8. Accédez à Cloud Storage > Buckets.

  9. Cliquez sur le nom de votre bucket.

  10. Accédez au dossier de préfixe (fortiedr-syslog/).

  11. Vérifiez qu'un fichier .ndjson a é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

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Cliquez sur Configurer un flux unique.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, FortiEDR Syslog Logs).
  5. Sélectionnez Google Cloud Storage V2 comme Type de source.
  6. Sélectionnez Fortinet FortiEDR comme type de journal.

  7. Cliquez sur Obtenir un compte de service.

  8. Une adresse e-mail unique pour le compte de service s'affiche, par exemple :

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. Copiez cette adresse e-mail. Vous en aurez besoin lors de la tâche suivante.

  10. Cliquez sur Suivant.

  11. 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.

  12. Cliquez sur Suivant.

  13. 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.

  1. Accédez à Cloud Storage > Buckets.
  2. Cliquez sur le nom de votre bucket.
  3. Accédez à l'onglet Autorisations.
  4. Cliquez sur Accorder l'accès.
  5. 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.
  6. 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.