FortiAnalyzer

Version de l'intégration : 5.0

Avant de commencer

Avant de configurer l'intégration FortiAnalyzer dans Google SecOps, vous devez créer un profil d'administrateur dédié avec les autorisations suivantes :

Catégorie Niveau d'autorisation
Paramètres système Aucun
Domaine administratif Aucun
Gestionnaire d'appareils Lecture seule
    Ajouter/Supprimer/Modifier des appareils/groupes Lecture seule
Affichage des journaux/FortiView Lecture seule
Incidents et événements Lecture/Écriture
    Créer et mettre à jour des incidents Lecture/Écriture
Événement de tri Aucun
Exécuter le playbook Aucun
Rapports Aucun
    Générer le rapport Aucun
Vue Fabric Aucun

Paramètres d'intégration

Utilisez les paramètres suivants pour configurer l'intégration :

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
Racine de l'API Chaîne https://{ip address} Oui Racine de l'API de l'instance FortiAnalyzer.
Nom d'utilisateur Chaîne N/A Oui

Nom d'utilisateur du compte FortiAnalyzer.

Assurez-vous que les identifiants fournis appartiennent à un compte utilisateur attribué au profil défini dans Avant de commencer.

Mot de passe Mot de passe N/A Oui

Mot de passe du compte FortiAnalyzer.

Assurez-vous que les identifiants fournis appartiennent à un compte utilisateur attribué au profil défini dans Avant de commencer.

Vérifier le protocole SSL Case à cocher Cochée Oui Si cette option est activée, elle vérifie que le certificat SSL de la connexion à FortiAnalyzer est valide.

Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.

Vous pourrez apporter des modifications ultérieurement, si nécessaire. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.

Actions

Ajouter un commentaire à une alerte

Description

Ajoutez un commentaire à l'alerte dans FortiAnalyzer.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
ID d'alerte Chaîne N/A Oui Spécifiez l'ID de l'alerte à modifier.
Commentaire Chaîne N/A Oui Spécifiez le commentaire pour l'alerte.

Date d'exécution

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success=False
Résultat JSON
{
    "jsonrpc": "2.0",
    "id": "string",
    "result": {
        "status": "done"
    }
}
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si les informations renvoyées sont les suivantes (is_success=true) : "Commentaire ajouté à l'alerte avec l'ID {id} dans FortiAnalyzer."

L'action doit échouer et arrêter l'exécution d'un playbook :

Si une erreur fatale est signalée (par exemple, des identifiants incorrects, une absence de connexion au serveur ou autre) : "Erreur lors de l'exécution de l'action "Ajouter un commentaire à l'alerte". Raison : {0}''.format(error.Stacktrace)"

Si l'alerte n'est pas trouvée : "Erreur lors de l'exécution de l'action "Ajouter un commentaire à l'alerte". Motif : L'alerte portant l'ID {alert id} est introuvable dans FortiAnalyzer. Veuillez vérifier l'orthographe."

Général

Enrichir les entités

Description

Enrichissez les entités à l'aide des informations de FortiAnalyzer. Entités acceptées : nom d'hôte, adresse IP.

Paramètres

N/A

Date d'exécution

Cette action s'applique aux entités suivantes :

  • Nom d'hôte
  • Adresse IP

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success=False
Résultat JSON
{
    "adm_pass": [
        "ENC",
        "FLP+Dq8f3t2/S+GQ6DfPL2iRhtmk1CEZzEeH8+nVkRkFd72IUbBZM6uDyw0fQ1j1i28H1wtfqf6HlGEK2ubxs0rXE4L+Uqj433si+AmEF9gEB5gLw/4P5YYRkw/aOYF74k8/8bincoa31jBe0u0HWRNdWYQSyG7IWgvZGsPK4at0gwZI"
    ],
    "adm_usr": "admin",
    "app_ver": "",
    "av_ver": "",
    "beta": -1,
    "branch_pt": 1255,
    "build": 1255,
    "checksum": "",
    "conf_status": 0,
    "conn_mode": 0,
    "conn_status": 0,
    "db_status": 0,
    "desc": "",
    "dev_status": 0,
    "eip": "",
    "fap_cnt": 0,
    "faz.full_act": 0,
    "faz.perm": 15,
    "faz.quota": 0,
    "faz.used": 0,
    "fex_cnt": 0,
    "first_tunnel_up": 0,
    "flags": 2097152,
    "foslic_cpu": 0,
    "foslic_dr_site": 0,
    "foslic_inst_time": 0,
    "foslic_last_sync": 0,
    "foslic_ram": 0,
    "foslic_type": 0,
    "foslic_utm": 0,
    "fsw_cnt": 0,
    "ha_group_id": 0,
    "ha_group_name": "",
    "ha_mode": 0,
    "ha_slave": null,
    "hdisk_size": 0,
    "hostname": "",
    "hw_rev_major": 0,
    "hw_rev_minor": 0,
    "hyperscale": 0,
    "ip": "172.30.203.248",
    "ips_ext": 0,
    "ips_ver": "",
    "last_checked": 1665664693,
    "last_resync": 0,
    "latitude": "0.0",
    "lic_flags": 0,
    "lic_region": "",
    "location_from": "",
    "logdisk_size": 0,
    "longitude": "0.0",
    "maxvdom": 10,
    "mgmt.__data[0]": 0,
    "mgmt.__data[1]": 0,
    "mgmt.__data[2]": 0,
    "mgmt.__data[3]": 0,
    "mgmt.__data[4]": 0,
    "mgmt.__data[5]": 0,
    "mgmt.__data[6]": 0,
    "mgmt.__data[7]": 0,
    "mgmt_if": "",
    "mgmt_mode": 2,
    "mgmt_uuid": "1841991674",
    "mgt_vdom": "",
    "module_sn": "",
    "mr": 2,
    "name": "FGVMEV2YKQ61YQD5",
    "node_flags": 0,
    "nsxt_service_name": "",
    "oid": 181,
    "onboard_rule": null,
    "opts": 0,
    "os_type": 0,
    "os_ver": 7,
    "patch": 2,
    "platform_str": "FortiGate-VM64",
    "prefer_img_ver": "",
    "prio": 0,
    "private_key": "",
    "private_key_status": 0,
    "psk": "",
    "role": 0,
    "sn": "FGVMEV2YKQ61YQD5",
    "source": 2,
    "tab_status": "",
    "tunnel_cookie": "",
    "tunnel_ip": "",
    "vdom": [
        {
            "comments": null,
            "devid": "FGVMEV2YKQ61YQD5",
            "ext_flags": 0,
            "flags": 0,
            "name": "root",
            "node_flags": 0,
            "oid": 3,
            "opmode": 1,
            "rtm_prof_id": 0,
            "status": null,
            "tab_status": null,
            "vdom_type": 1,
            "vpn_id": 0
        }
    ],
    "version": 700,
    "vm_cpu": 0,
    "vm_cpu_limit": 0,
    "vm_lic_expire": 0,
    "vm_mem": 0,
    "vm_mem_limit": 0,
    "vm_status": 0
}
Enrichissement d'entités : préfixe FortiAn_
Nom du champ d'enrichissement Source (clé JSON) Logique : quand l'appliquer ?
adm_usr adm_usr Lorsqu'il est disponible au format JSON
build build Lorsqu'il est disponible au format JSON
ip ip Lorsqu'il est disponible au format JSON
last_checked last_checked Lorsqu'il est disponible au format JSON
last_resync last_resync Lorsqu'il est disponible au format JSON
nom nom Lorsqu'il est disponible au format JSON
sn sn Lorsqu'il est disponible au format JSON
os_type os_type Lorsqu'il est disponible au format JSON
os_ver os_ver Lorsqu'il est disponible au format JSON
patch patch Lorsqu'il est disponible au format JSON
platform\_str platform\_str Lorsqu'il est disponible au format JSON
version version Lorsqu'il est disponible au format JSON
décroiss. décroiss. Lorsqu'il est disponible au format JSON
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si des données sont disponibles pour une entité (is_success=true) : "Les entités suivantes ont été enrichies avec succès à l'aide des informations de FortiAnalyzer : {entity.identifier}".

Si les données ne sont pas disponibles pour une entité (is_success=true) : "L'action n'a pas pu enrichir les entités suivantes à l'aide des informations de FortiAnalyzer : {entity.identifier}"

Si les données ne sont pas disponibles pour toutes les entités (is_success=false) : "Aucune des entités fournies n'a été enrichie."

L'action doit échouer et arrêter l'exécution d'un playbook :

Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur ou autre) : "Erreur lors de l'exécution de l'action "Enrichir les entités". Raison : {0}''.format(error.Stacktrace)

Général
Tableau du mur des cas

Titre : {entity.identifier}

Columns:

Clé-valeur

Entité

Ping

Description

Testez la connectivité à FortiAnalyzer avec les paramètres fournis sur la page de configuration de l'intégration dans l'onglet Google Security Operations Marketplace.

Paramètres

N/A

Date d'exécution

Cette action ne s'exécute pas sur les entités et ne comporte pas de paramètres d'entrée obligatoires.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success=False
Résultat JSON
N/A
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si l'opération réussit : "La connexion au serveur BitSight a été établie avec succès à l'aide des paramètres de connexion fournis !"

L'action doit échouer et arrêter l'exécution d'un playbook :

Si l'opération échoue : "Échec de la connexion au serveur BitSight. Error is {0}".format(exception.stacktrace)

Général

Journaux sur les recherches

Description

Recherchez des journaux dans FortiAnalyzer.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
Type de journal LDD

Trafic

Valeurs possibles :

  • Trafic
  • Contrôle des applications
  • Attaque
  • Contenu, protection contre la perte de données
  • Filtre de messagerie
  • Événement, Historique
  • Virus
  • Voix sur IP
  • Filtre Web
  • Netscan
  • Événement FCT
  • Trafic FCT
  • WAF
  • GTP
Non Spécifiez le type de journal à rechercher.
Filtre sensible à la casse Case à cocher (décoché) Non Si cette option est activée, le filtre est sensible à la casse.
Filtre de requête Chaîne N/A Non Spécifiez le filtre de requête pour la recherche.
ID de l'appareil Chaîne All\_Fortigate Non

Spécifiez l'ID de l'appareil à rechercher.

Si rien n'est fourni, l'action effectue une recherche dans All_Fortigate.

Exemples de valeurs : All_FortiGate, All_FortiMail, All_FortiWeb, All_FortiManager, All_Syslog, All_FortiClient, All_FortiCache, All_FortiProxy, All_FortiAnalyzer, All_FortiSandbox, All_FortiAuthenticator, All_FortiDDoS

Période LDD

Le mois dernier

Valeurs possibles :

  • La dernière heure
  • Les 6 dernières heures
  • Dernières 24 heures
  • La semaine dernière
  • Le mois dernier
  • Personnalisé
Non

Spécifiez une période pour les résultats.

Si vous sélectionnez "Personnalisé", vous devez également fournir le paramètre "Heure de début".

Heure de début Chaîne N/A Non

Spécifiez l'heure de début des résultats.

Ce paramètre est obligatoire si "Personnalisé" est sélectionné pour le paramètre "Période".

Format : ISO 8601

Heure de fin Chaîne N/A Non

Spécifiez l'heure de fin des résultats.

Format : ISO 8601.

Si aucune valeur n'est fournie et que "Personnalisée" est sélectionné pour le paramètre "Période", ce paramètre utilise l'heure actuelle.

Ordre chronologique LDD

DESC

Valeurs possibles :

  • DESC
  • ASC
Non Spécifiez l'ordre chronologique dans la recherche.
Nombre maximal de journaux à renvoyer Nombre entier 20 Non Spécifiez le nombre de journaux à renvoyer. Par défaut : 20. Maximum : 1 000.

Date d'exécution

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success=False
Résultat JSON
{
    "sessionid": "29658",
    "srcip": "172.30.201.188",
    "dstip": "173.243.138.210",
    "srcport": "17453",
    "dstport": "443",
    "trandisp": "noop",
    "duration": "1",
    "proto": "6",
    "sentbyte": "216",
    "rcvdbyte": "112",
    "sentpkt": "4",
    "rcvdpkt": "2",
    "logid": "0001000014",
    "service": "HTTPS",
    "app": "HTTPS",
    "appcat": "unscanned",
    "srcintfrole": "undefined",
    "dstintfrole": "undefined",
    "eventtime": "1665752066921638736",
    "srccountry": "Reserved",
    "dstcountry": "Canada",
    "srcintf": "root",
    "dstintf": "port1",
    "dstowner": "540",
    "tz": "-0700",
    "devid": "FGVMEV2YKQ61YQD5",
    "vd": "root",
    "csf": "FortiNetFabric",
    "dtime": "2022-10-14 05:54:27",
    "itime_t": "1665752069",
    "devname": "FGVMEV2YKQ61YQD5"
}{
    "date": "2022-10-14",
    "time": "05:54:27",
    "id": "7154350659607724033",
    "itime": "2022-10-14 05:54:29",
    "euid": "102",
    "epid": "102",
    "dsteuid": "102",
    "dstepid": "102",
    "logver": "702021255",
    "type": "traffic",
    "subtype": "local",
    "level": "notice",
    "action": "close",
    "policyid": "0"
}
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si les informations renvoyées sont les suivantes (is_success=true) : "Les journaux correspondant aux critères fournis dans FortiAnalyzer ont été récupérés."

Si aucune information n'est renvoyée (is_success=true) : "Aucun journal n'a été trouvé pour les critères fournis dans FortiAnalyzer."

L'action doit échouer et arrêter l'exécution d'un playbook :

Si une erreur fatale est signalée (par exemple, des identifiants incorrects, une absence de connexion au serveur ou autre), le message suivant s'affiche : "Erreur lors de l'exécution de l'action "Rechercher dans les journaux". Raison : {0}''.format(error.Stacktrace)"

Si une erreur est signalée dans la réponse : "Erreur lors de l'exécution de l'action "Rechercher dans les journaux". Reason: {0}''.format(error/message)"

Général

Mettre à jour l'alerte

Description

Mettez à jour une alerte dans FortiAnalyzer.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
ID d'alerte Chaîne N/A Oui Spécifiez l'ID de l'alerte à modifier.
État de confirmation LDD

Sélectionnez un élément

Valeurs possibles :

  • Sélectionnez un élément
  • Confirmer
  • Annuler la confirmation
Non Spécifiez l'état d'accusé de réception de l'alerte.
Marquer comme lu Case à cocher (décoché) Non Si cette option est activée, l'action marque l'alerte comme lue.
Attribuer à Chaîne N/A Non Indiquez à qui l'alerte doit être attribuée.

Date d'exécution

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success=False
Résultat JSON
{
    "alerttime": "1665653864",
    "logcount": "17",
    "alertid": "202210131000040003",
    "adom": "root",
    "epid": "1",
    "epname": "not implemented dev type",
    "subject": "desc:Trim local db",
    "euid": "1",
    "euname": "N/A",
    "devname": "fortianalyzer",
    "logtype": "event",
    "devtype": "FortiAnalyzer",
    "devid": "FAZ-VMTM22013516",
    "vdom": "_self_locallog_",
    "groupby1": "desc:Trim local db",
    "triggername": "Local Device Event",
    "tag": "Default,System,Local",
    "eventtype": "event",
    "severity": "medium",
    "extrainfo": "{ \"msg\": \"Requested to trim database tables older than 60 days to enforce the retention policy of Adom FortiAuthenticator.\" }",
    "ackflag": "no",
    "readflag": "yes",
    "filterkey": "3377053565526629289",
    "firstlogtime": "1665653864",
    "multiflag": "",
    "lastlogtime": "1665653887",
    "updatetime": "1665747977",
    "filtercksum": "2072153473",
    "filterid": "1",
    "assignto": "api_user",
    "ackby": "admin",
    "acktime": "1665747892"
}
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si les informations renvoyées sont les suivantes (is_success=true) : "L'alerte portant l'ID {alert id} a bien été mise à jour dans FortiAnalyzer."

L'action doit échouer et arrêter l'exécution d'un playbook :

Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur ou autre) : "Erreur lors de l'exécution de l'action "Mettre à jour l'alerte". Raison : {0}''.format(error.Stacktrace)

Si l'alerte est introuvable : "Erreur lors de l'exécution de l'action "Mettre à jour l'alerte". Motif : L'alerte portant l'ID {alert id} est introuvable dans FortiAnalyzer. Veuillez vérifier l'orthographe."

Si le paramètre "Acknowledge Status" (Accuser réception de l'état) est défini sur "Select One" (Sélectionner), le paramètre "Mark as Read" (Marquer comme lu) est défini sur "False" (Faux) et rien n'est fourni dans le paramètre "Assign To" (Attribuer à) : "Error executing action "Update Alert". Raison : au moins l'un des paramètres "Acknowledge Status", "Mark As Read" ou "Assign To" doit avoir une valeur ."

Général

Connecteurs

Connecteur d'alertes FortiAnalyzer

Description

Extraire des informations sur les alertes de FortiAnalyzer

Configurer le connecteur d'alertes FortiAnalyzer dans Google SecOps

Pour obtenir des instructions détaillées sur la configuration d'un connecteur dans Google SecOps, consultez Configurer le connecteur.

Paramètres du connecteur

Utilisez les paramètres suivants pour configurer le connecteur :

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
Nom du champ de produit Chaîne siemplify_type Oui Saisissez le nom du champ source pour récupérer le nom du champ produit.
Nom du champ d'événement Chaîne event_type Oui Saisissez le nom du champ source pour récupérer le nom du champ d'événement.
Nom du champ d'environnement Chaîne "" Non

Décrit le nom du champ dans lequel le nom de l'environnement est stocké.

Si le champ d'environnement n'est pas trouvé, l'environnement est celui par défaut.

Modèle d'expression régulière de l'environnement Chaîne .* Non

Modèle d'expression régulière à exécuter sur la valeur trouvée dans le champ "Nom du champ d'environnement".

La valeur par défaut est ".*" pour tout récupérer et renvoyer la valeur inchangée.

Permet à l'utilisateur de manipuler le champ "environment" à l'aide d'une logique d'expression régulière.

Si le modèle d'expression régulière est nul ou vide, ou si la valeur de l'environnement est nulle, l'environnement par défaut est sélectionné.

Délai avant expiration du script (en secondes) Entier 180 Oui Délai avant expiration du processus Python exécutant le script actuel.
Racine de l'API Chaîne https://{ip address} Oui Racine de l'API de l'instance FortiAnalyzer.
Nom d'utilisateur Chaîne N/A Oui Nom d'utilisateur du compte FortiAnalyzer.
Mot de passe Mot de passe N/A Oui Mot de passe du compte FortiAnalyzer.
Gravité la plus faible à récupérer Chaîne Moyenne Non

Niveau de gravité le plus faible à utiliser pour récupérer les alertes.

Valeurs possibles : faible, moyenne, élevée, critique. Si rien n'est spécifié, le connecteur ingère les alertes de tous les niveaux de gravité.

Nombre maximal d'heures en arrière Entier 1 Non Nombre d'heures dans le passé à partir desquelles récupérer les alertes.
Nombre maximal d'alertes à récupérer Nombre entier 20 Non Nombre d'alertes par type à traiter par itération de connecteur.
Utiliser une liste dynamique comme liste noire Case à cocher (décoché) Oui Si cette option est activée, la liste dynamique est utilisée comme liste noire.
Vérifier le protocole SSL Case à cocher Cochée Oui Si cette option est activée, le connecteur vérifie que le certificat SSL de la connexion au serveur FortiAnalyzer est valide.
Adresse du serveur proxy Chaîne N/A Non Adresse du serveur proxy à utiliser.
Nom d'utilisateur du proxy Chaîne N/A Non Nom d'utilisateur du proxy pour l'authentification.
Mot de passe du proxy Mot de passe N/A Non Mot de passe du proxy pour l'authentification.

Règles du connecteur

Assistance de proxy

Le connecteur est compatible avec le proxy.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.