FortiAnalyzer
Versione integrazione: 5.0
Prima di iniziare
Prima di configurare l'integrazione di FortiAnalyzer in Google SecOps, devi creare un profilo amministratore dedicato con le seguenti autorizzazioni:
| Categoria | Livello di autorizzazione |
|---|---|
| Impostazioni di sistema | Nessuno |
| Dominio amministrativo | Nessuno |
| Device Manager | Sola lettura |
| Aggiungi/Elimina/Modifica dispositivi/gruppi | Sola lettura |
| Visualizzazione log/FortiView | Sola lettura |
| Incidenti ed eventi | Lettura/scrittura |
| Crea e aggiorna incidenti | Lettura/scrittura |
| Triage Event | Nessuno |
| Esegui playbook | Nessuno |
| Report | Nessuno |
| Crea report | Nessuno |
| Visualizzazione tessuto | Nessuno |
Parametri di integrazione
Utilizza i seguenti parametri per configurare l'integrazione:
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Root API | Stringa | https://{ip address} | Sì | La radice dell'API dell'istanza FortiAnalyzer. |
| Nome utente | Stringa | N/D | Sì | Nome utente dell'account FortiAnalyzer. Assicurati che le credenziali fornite appartengano a un account utente assegnato al profilo definito in Prima di iniziare. |
| Password | Password | N/D | Sì | Password dell'account FortiAnalyzer. Assicurati che le credenziali fornite appartengano a un account utente assegnato al profilo definito in Prima di iniziare. |
| Verifica SSL | Casella di controllo | Selezionato | Sì | Se abilitata, verifica che il certificato SSL per la connessione a FortiAnalyzer sia valido. |
Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.
Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.
Azioni
Aggiungi commento all'avviso
Descrizione
Aggiungi un commento all'avviso in FortiAnalyzer.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| ID avviso | Stringa | N/D | Sì | Specifica l'ID dell'avviso da aggiornare. |
| Commento | Stringa | N/D | Sì | Specifica il commento per l'avviso. |
Pubblica su
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success=False |
Risultato JSON
{
"jsonrpc": "2.0",
"id": "string",
"result": {
"status": "done"
}
}
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se le informazioni restituite (is_success=true): "Commento aggiunto correttamente all'avviso con ID {id} in FortiAnalyzer." L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Errore durante l'esecuzione dell'azione "Aggiungi commento all'avviso". Motivo: {0}''.format(error.Stacktrace)" Se l'avviso non viene trovato: "Errore durante l'esecuzione dell'azione "Aggiungi commento all'avviso". Motivo: l'avviso con ID {alert id} non è stato trovato in FortiAnalyzer. Controlla l'ortografia." |
Generale |
Arricchire le entità
Descrizione
Arricchisci le entità utilizzando le informazioni di FortiAnalyzer. Entità supportate: Nome host, indirizzo IP.
Parametri
N/D
Pubblica su
Questa azione viene eseguita sulle seguenti entità:
- Nome host
- Indirizzo IP
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success=False |
Risultato 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
}
Arricchimento entità - Prefisso FortiAn_
| Nome campo di arricchimento | Origine (chiave JSON) | Logica - Quando applicarle |
|---|---|---|
| adm_usr | adm_usr | Quando disponibile in JSON |
| build | build | Quando disponibile in JSON |
| ip | ip | Quando disponibile in JSON |
| last_checked | last_checked | Quando disponibile in JSON |
| last_resync | last_resync | Quando disponibile in JSON |
| nome | nome | Quando disponibile in JSON |
| sn | sn | Quando disponibile in JSON |
| os_type | os_type | Quando disponibile in JSON |
| os_ver | os_ver | Quando disponibile in JSON |
| patch | patch | Quando disponibile in JSON |
| platform\_str | platform\_str | Quando disponibile in JSON |
| versione | versione | Quando disponibile in JSON |
| decr | decr | Quando disponibile in JSON |
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se i dati sono disponibili per un'entità (is_success=true): "Successfully enriched the following entities using information from FortiAnalyzer: {entity.identifier}". Se i dati non sono disponibili per un'entità (is_success=true): "L'azione non è riuscita ad arricchire le seguenti entità utilizzando le informazioni di FortiAnalyzer: {entity.identifier}" Se i dati non sono disponibili per tutte le entità (is_success=false): "Nessuna delle entità fornite è stata arricchita." L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Errore durante l'esecuzione dell'azione "Arricchisci entità". Motivo: {0}''.format(error.Stacktrace) |
Generale |
| Tabella Bacheca casi | Titolo: {entity.identifier} Colonne: Valore chiave |
Entità |
Ping
Descrizione
Verifica la connettività a FortiAnalyzer con i parametri forniti nella pagina di configurazione dell'integrazione nella scheda Google Security Operations Marketplace.
Parametri
N/D
Pubblica su
Questa azione non viene eseguita sulle entità e non ha parametri di input obbligatori.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success=False |
Risultato JSON
N/A
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se l'operazione va a buon fine: "Connessione al server BitSight riuscita con i parametri di connessione forniti." L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Se l'operazione non va a buon fine: "Impossibile connettersi al server BitSight. Error is {0}".format(exception.stacktrace) |
Generale |
Log di ricerca
Descrizione
Cerca i log in FortiAnalyzer.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Tipo di log | DDL | Traffico Valori possibili:
|
No | Specifica il tipo di log in cui eseguire la ricerca. |
| Filtro sensibile alle maiuscole | Casella di controllo | Deselezionato | No | Se abilitato, il filtro è sensibile alle maiuscole. |
| Filtro query | Stringa | N/D | No | Specifica il filtro della query per la ricerca. |
| ID dispositivo | Stringa | All\_Fortigate | No | Specifica l'ID del dispositivo da cercare. Se non viene fornito nulla, l'azione esegue la ricerca in All_Fortigate. Esempi di valori: All_FortiGate, All_FortiMail, All_FortiWeb, All_FortiManager, All_Syslog, All_FortiClient, All_FortiCache, All_FortiProxy, All_FortiAnalyzer, All_FortiSandbox, All_FortiAuthenticator, All_FortiDDoS |
| Intervallo di tempo | DDL | Mese scorso Valori possibili:
|
No | Specifica un periodo di tempo per i risultati. Se è selezionata l'opzione "Personalizzato", devi fornire anche il parametro "Ora di inizio". |
| Ora di inizio | Stringa | N/D | No | Specifica l'ora di inizio per i risultati. Questo parametro è obbligatorio se è selezionato "Personalizzato" per il parametro "Intervallo di tempo". Formato: ISO 8601 |
| Ora di fine | Stringa | N/D | No | Specifica l'ora di fine per i risultati. Formato: ISO 8601. Se non viene fornito nulla e per il parametro "Intervallo di tempo" è selezionato "Personalizzato", questo parametro utilizza l'ora corrente. |
| Ordine cronologico | DDL | DECR Valori possibili:
|
No | Specifica l'ordinamento temporale nella ricerca. |
| Numero massimo di log da restituire | Numero intero | 20 | No | Specifica il numero di log che vuoi restituire. Valore predefinito: 20. Massimo: 1000. |
Pubblica su
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success=False |
Risultato 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"
}
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se le informazioni restituite (is_success=true): "Successfully retrieved logs for the provided criteria in FortiAnalyzer." (Recupero riuscito dei log per i criteri forniti in FortiAnalyzer). Se non vengono restituite informazioni (is_success=true): "No logs were found for the provided criteria in FortiAnalyzer." (Non sono stati trovati log per i criteri forniti in FortiAnalyzer.) L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Errore durante l'esecuzione dell'azione "Cerca log". Motivo: {0}''.format(error.Stacktrace)" Se nella risposta viene segnalato un errore: "Errore durante l'esecuzione dell'azione "Cerca log". Motivo: {0}''.format(error/message)" |
Generale |
Aggiorna avviso
Descrizione
Aggiorna un avviso in FortiAnalyzer.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| ID avviso | Stringa | N/D | Sì | Specifica l'ID dell'avviso da aggiornare. |
| Stato di conferma | DDL | Seleziona una voce Valori possibili:
|
No | Specifica lo stato di conferma dell'avviso. |
| Segna come letto | Casella di controllo | Deselezionato | No | Se abilitata, l'azione contrassegna l'avviso come letto. |
| Assegna a | Stringa | N/D | No | Specifica a chi deve essere assegnato l'avviso. |
Pubblica su
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success=False |
Risultato 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"
}
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se le informazioni restituite (is_success=true): "Successfully updated alert with ID {alert id} in FortiAnalyzer." (Avviso con ID {alert id} aggiornato correttamente in FortiAnalyzer). L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Errore durante l'esecuzione dell'azione "Aggiorna avviso". Motivo: {0}''.format(error.Stacktrace) Se l'avviso non viene trovato: "Errore durante l'esecuzione dell'azione "Aggiorna avviso". Motivo: l'avviso con ID {alert id} non è stato trovato in FortiAnalyzer. Controlla l'ortografia." Se il parametro "Stato di conferma" è impostato su "Seleziona uno", il parametro "Contrassegna come letto" è impostato su False e non viene fornito nulla nel parametro "Assegna a": "Errore durante l'esecuzione dell'azione "Aggiorna avviso". Motivo: almeno uno dei parametri "Stato di conferma", "Contrassegna come letto" o "Assegna a" deve avere un valore. |
Generale |
Connettori
FortiAnalyzer - Alerts Connector
Descrizione
Recupera informazioni sugli avvisi da FortiAnalyzer.
Configura il connettore FortiAnalyzer - Alerts in Google SecOps
Per istruzioni dettagliate su come configurare un connettore in Google SecOps, vedi Configurazione del connettore.
Parametri del connettore
Utilizza i seguenti parametri per configurare il connettore:
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Nome campo prodotto | Stringa | siemplify_type | Sì | Inserisci il nome del campo di origine per recuperare il nome del campo Prodotto. |
| Nome campo evento | Stringa | event_type | Sì | Inserisci il nome del campo di origine per recuperare il nome del campo evento. |
| Nome campo ambiente | Stringa | "" | No | Descrive il nome del campo in cui è memorizzato il nome dell'ambiente. Se il campo dell'ambiente non viene trovato, l'ambiente è quello predefinito. |
| Pattern regex ambiente | Stringa | .* | No | Un pattern regex da eseguire sul valore trovato nel campo "Nome campo ambiente". Il valore predefinito è .* per acquisire tutto e restituire il valore invariato. Utilizzato per consentire all'utente di manipolare il campo dell'ambiente tramite la logica delle espressioni regolari. Se il pattern regex è null o vuoto oppure il valore dell'ambiente è null, il risultato finale dell'ambiente è l'ambiente predefinito. |
| Timeout dello script (secondi) | Numero intero | 180 | Sì | Limite di timeout per il processo Python che esegue lo script corrente. |
| Root API | Stringa | https://{ip address} | Sì | La radice dell'API dell'istanza FortiAnalyzer. |
| Nome utente | Stringa | N/D | Sì | Nome utente dell'account FortiAnalyzer. |
| Password | Password | N/D | Sì | Password dell'account FortiAnalyzer. |
| Gravità minima da recuperare | Stringa | Media | No | La gravità minima da utilizzare per recuperare gli avvisi. Valori possibili: basso, medio, alto, critico. Se non viene specificato nulla, il connettore acquisisce gli avvisi con tutte le gravità. |
| Ore massime indietro | Numero intero | 1 | No | Numero di ore da cui recuperare gli avvisi. |
| Numero massimo di avvisi da recuperare | Numero intero | 20 | No | Numero di avvisi per tipo da elaborare per un'iterazione del connettore. |
| Utilizzare l'elenco dinamico come lista nera | Casella di controllo | Deselezionato | Sì | Se abilitato, l'elenco dinamico viene utilizzato come lista nera. |
| Verifica SSL | Casella di controllo | Selezionato | Sì | Se abilitato, il connettore verifica che il certificato SSL per la connessione al server FortiAnalyzer sia valido. |
| Indirizzo del server proxy | Stringa | N/D | No | L'indirizzo del server proxy da utilizzare. |
| Nome utente proxy | Stringa | N/D | No | Il nome utente del proxy per l'autenticazione. |
| Password proxy | Password | N/D | No | La password del proxy per l'autenticazione. |
Regole del connettore
Supporto del proxy
Il connettore supporta il proxy.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.