Fortinet FortiSIEM

Versione integrazione: 5.0

Configurare l'integrazione di Fortinet FortiSIEM in Google Security Operations

Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps, vedi Configurare le integrazioni.

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
Root API Stringa https://x.x.x.x:port Specifica la radice dell'API per l'installazione di FortiSIEM di destinazione.
Nome utente Stringa N/D Specifica il nome utente da utilizzare per l'installazione di FortiSIEM di destinazione.
Password Password N/D Specifica la password da utilizzare per l'installazione di FortiSIEM di destinazione.
Verifica SSL Casella di controllo Selezionata No Se abilitato, il server Google SecOps verifica che il certificato sia configurato per la radice dell'API.

Casi d'uso del prodotto

  1. Ingerisci gli avvisi da SIEM a Google SecOps.
  2. Utilizza i dati di SIEM per l'arricchimento degli avvisi di Google SecOps.
  3. Sincronizza gli stati di elaborazione con gli avvisi di Google SecOps sul lato SIEM.

Azioni

Dindin

Descrizione

Verifica la connettività a FortiSIEM con i parametri forniti nella pagina di configurazione dell'integrazione nella scheda Google Security Operations Marketplace.

Parametri

N/D

Run On

L'azione non viene eseguita sulle entità e non ha parametri di input obbligatori.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success=False
Risultato JSON
N/A
Arricchimento delle entità

N/D

Approfondimenti

N/D

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 all'installazione di FortiSIEM riuscita con i parametri di connessione forniti."

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

>Se non va a buon fine: "Failed to connect to the FortiSIEM installation! Errore: {0}".format(exception.stacktrace)"

Generale

Arricchisci entità

Descrizione

Arricchisci le entità utilizzando le informazioni di Fortinet FortiSIEM CMDB. Entità supportate: nome host, indirizzo IP.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
Organizzazione target Stringa N/D No Specifica il nome dell'organizzazione di destinazione facoltativa per cercare informazioni sull'arricchimento solo in questa organizzazione.

Run On

Questa azione viene eseguita sulle seguenti entità:

  • Nome host
  • Indirizzo IP

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success=False
Risultato JSON
[
  {
    "Entity": "centos-xxx",
    "EntityResult": {
      "device": {
        "organization": {
          "@id": "1xx",
          "@name": "Super"
        },
        "accessIp": "172.30.xxx.xxx",
        "approved": "true",
        "components": null,
        "creationMethod": "LOG",
        "deviceType": {
          "accessProtocols": "TELNET,SSH",
          "jobWeight": "10",
          "model": "Unix",
          "vendor": "Generic",
          "version": "ANY"
        },
        "discoverMethod": "LOG",
        "discoverTime": "1640008485000",
        "eventParserList": null,
        "interfaces": null,
        "ipToHostNames": null,
        "luns": null,
        "name": "centos-xxx",
        "naturalId": "centos%2dxxx",
        "processors": null,
        "properties": {
          "customproperty": [
            {
              "matched": "false",
              "propertyDef": {
                "displayInCMDB": "false",
                "displayName": "Importance",
                "groupKey": "false",
                "propertyName": "importance",
                "subValueType": "STRING",
                "valueType": "STRING"
              },
              "propertyName": "importance",
              "propertyValue": "Normal",
              "updated": "false"
            },
            {
              "matched": "false",
              "propertyDef": {
                "displayInCMDB": "false",
                "displayName": "Location Name",
                "groupKey": "false",
                "propertyName": "locationName",
                "subValueType": "STRING",
                "valueType": "STRING"
              },
              "propertyName": "locationName",
              "updated": "false"
            }
          ]
        },
        "raidGroups": null,
        "sanControllerPorts": null,
        "softwarePatches": null,
        "softwareServices": null,
        "status": "2",
        "storageGroups": null,
        "storages": null,
        "unmanaged": "false",
        "updateMethod": "LOG",
        "version": "ANY",
        "winMachineGuid": null
      }
    }
  },
  {
    "Entity": "172.30.xxx.xxx",
    "EntityResult": {
      "device": {
        "organization": {
          "@id": "1xx",
          "@name": "Super"
        },
        "accessIp": "172.30.xxx.xxx",
        "applications": null,
        "approved": "true",
        "components": null,
        "creationMethod": "LOG",
        "deviceType": {
          "accessProtocols": "TELNET,SSH",
          "jobWeight": "10",
          "model": "Unix",
          "vendor": "Generic",
          "version": "ANY"
        },
        "discoverMethod": "LOG",
        "discoverTime": "1640070721000",
        "eventParserList": {
          "eventparser": {
            "deviceType": {
              "category": "Appliance",
              "jobWeight": "10",
              "model": "Generic",
              "vendor": "Generic",
              "version": "ANY"
            },
            "enabled": "true",
            "name": "SyslogNGParser",
            "parserXml": "<patternDefinitions><pattern>..."
          }
        },
        "interfaces": null,
        "ipToHostNames": null,
        "luns": null,
        "name": "centos-xxx",
        "naturalId": "centos",
        "primaryContactUser": "0",
        "processors": null,
        "properties": {
          "customproperty": [
            {
              "matched": "false",
              "propertyDef": {
                "displayInCMDB": "false",
                "displayName": "Importance",
                "groupKey": "false",
                "propertyName": "importance",
                "subValueType": "STRING",
                "valueType": "STRING"
              },
              "propertyName": "importance",
              "propertyValue": "Mission Critical",
              "updated": "false"
            },
            {
              "matched": "false",
              "propertyDef": {
                "displayInCMDB": "false",
                "displayName": "Location Name",
                "groupKey": "false",
                "propertyName": "locationName",
                "subValueType": "STRING",
                "valueType": "STRING"
              },
              "propertyName": "locationName",
              "updated": "false"
            }
          ]
        },
        "raidGroups": null,
        "sanControllerPorts": null,
        "secondaryContactUser": "0",
        "softwarePatches": null,
        "softwareServices": null,
        "status": "2",
        "storageGroups": null,
        "storages": null,
        "unmanaged": "false",
        "updateMethod": "MANUAL",
        "version": "ANY",
        "winMachineGuid": null
      }
    }
  }
]
Arricchimento delle entità
Nome campo di arricchimento Origine (chiave JSON) Logica - Quando applicarla
accessIp accessIp Quando disponibile in XML
nome nome Quando disponibile in XML
applicazioni CSV di "applications/name" Quando disponibile in XML
creationMethod creationMethod Quando disponibile in XML
deviceType_model deviceType_model Quando disponibile in XML

deviceType_accessProtocols

deviceType_vendor

deviceType_accessProtocols

deviceType_vendor

Quando disponibile in XML
discoverMethod discoverMethod Quando disponibile in XML
discoverTime discoverTime Quando disponibile in XML
Approfondimenti

N/D

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): "Le seguenti entità sono state arricchite correttamente utilizzando le informazioni di FortiSIEM: {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 FortiSIEM: {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 della tabella: {entity.identifier}

Colonne della tabella:

  • Chiave
  • Valore
Entità

Esegui query semplice

Descrizione

Esegui la query sugli eventi FortiSIEM in base ai parametri forniti.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
Tipi di evento CSV N/D No

Specifica i tipi di eventi che la query deve recuperare.

Il parametro accetta più valori come stringa separata da virgole.

Gravità minima da recuperare Numero intero N/D No

Specifica la gravità minima degli eventi da recuperare in Google SecOps in numeri.

Esempio: 5 o 7

Categoria evento CSV N/D No

Specifica la categoria di eventi che deve essere recuperata dalla query.

Il parametro accetta più valori come stringa separata da virgole.

ID evento CSV N/D No

Specifica facoltativamente gli ID evento esatti che la query deve recuperare.

Il parametro accetta più valori come stringa separata da virgole.

Campi da restituire CSV N/D No

Specifica i campi da restituire.

Se non viene fornito nulla, l'azione restituisce tutti i campi.

Campo di ordinamento Stringa phRecvTime No Specifica il parametro da utilizzare per l'ordinamento.
Ordinamento DDL

DECR

Valori possibili:

  • CRESC
  • DECR
No Specifica l'ordine di ordinamento.
Intervallo di tempo DDL

Ultima ora

Valori possibili:

  • Ultima ora
  • Ultime 6 ore
  • Ultime 24 ore
  • Settimana scorsa
  • Mese scorso
  • Personalizzato
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

Esempio: 2021-04-23T12:38Z

Ora di fine Stringa N/D No

Specifica l'ora di fine per i risultati.

Se non viene fornito nulla e per il parametro "Intervallo di tempo" è selezionato "Personalizzato", questo parametro utilizza l'ora corrente.

Formato: ISO 8601

Numero massimo di risultati da restituire Numero intero 50 No Specifica il numero di risultati da restituire.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success=False
Risultato JSON
[
  {
    "custId": "1",
    "attributes": {
      "eventType": "Unknown_EventType",
      "eventSeverity": "3",
      "eventAction": "0 (Permit)",
      "phRecvTime": "Wed Dec 29 00:36:55 IST 2021",
      "relayDevIpAddr": "172.30.20xxx",
      "reptDevIpAddr": "172.30.20xxx",
      "destIpAddr": "172.30.20xxx",
      "destName": "HOST-172.30.20xxx",
      "reptDevName": "centos-xxx",
      "reptVendor": "Unknown",
      "customer": "Super",
      "reptModel": "Unknown",
      "rawEventMsg": "<27>Dec 29 00:36:47 centos-xxx aella_flow[5074]: 1902195|aos_afix_json|ERR|Failed to send message: Couldn't connect to server/7",
      "collectorId": "1",
      "eventId": "4242813061460978xxx",
      "phEventCategory": "0 (External)",
      "count": "1",
      "eventName": "Unknown event type",
      "eventParsedOk": "0",
      "parserName": "SyslogNGParser"
    },
    "dataStr": null,
    "eventType": "Unknown_EventType",
    "id": "4242813061460978xxx",
    "index": "0",
    "nid": "4242813061460978xxx",
    "receiveTime": "2021-12-29T00:36:55+02:00"
  }
]
Arricchimento delle entità

N/D

Approfondimenti

N/D

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 sono stati trovati almeno alcuni dati (is_success=true): "Recupero riuscito dei risultati per la query creata "{query}" in FortiSIEM".

Se non vengono trovati risultati (is_success=false): "Nessun risultato trovato per la query creata "{Query}" in FortiSIEM."

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 "Query semplice". Motivo: {0}''.format(error.Stacktrace)

Se il parametro "Ora di inizio" è vuoto e il parametro "Intervallo di tempo" è impostato su "Personalizzato" (errore): "Errore durante l'esecuzione dell'azione "". Motivo: "Ora di inizio" deve essere fornita quando "Personalizzato" è selezionato nel parametro "Intervallo di tempo"."

Se il valore del parametro "Ora di inizio" è maggiore del valore del parametro "Ora di fine" (errore): "Errore durante l'esecuzione dell'azione "". Motivo: "Ora di fine" deve essere successiva a "Ora di inizio".

Generale
Tabella

Nome tabella:risultati della query semplice

Colonne della tabella:tutte le colonne della risposta

Generale

Esegui query personalizzata

Descrizione

Esegui una query personalizzata in FortiSIEM.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
Query Campo di input multilinea stringa (Attributo = Valore O Valore) E (Valore attributo O Valore)

Specifica una query utilizzata per recuperare informazioni sugli eventi.

Esempio: (relayDevIpAddr = 172.30.202.1 OR 172.30.202.2) AND (reptDevName = HOST1)

Campi da restituire CSV No

Specifica i campi da restituire.

Se non viene fornito nulla, l'azione restituisce tutti i campi.

Campo di ordinamento Stringa phRecvTime No Specifica il parametro da utilizzare per l'ordinamento.
Ordinamento DDL

DECR

Valori possibili:

  • CRESC
  • DECR
No Specifica l'ordine di ordinamento.
Intervallo di tempo DDL

Ultima ora

Valori possibili:

  • Ultima ora
  • Ultime 6 ore
  • Ultime 24 ore
  • Settimana scorsa
  • Mese scorso
  • Personalizzato
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

Esempio: 2021-04-23T12:38Z

Ora di fine Stringa N/D No

Specifica l'ora di fine per i risultati.

Se non viene fornito nulla e per il parametro "Intervallo di tempo" è selezionato "Personalizzato", questo parametro utilizza l'ora corrente.

Numero massimo di risultati da restituire Numero intero 50 No Specifica il numero di risultati da restituire.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success=False
Risultato JSON
[
  {
    "custId": "1",
    "attributes": {
      "eventType": "Unknown_EventType",
      "eventSeverity": "3",
      "eventAction": "0 (Permit)",
      "phRecvTime": "Wed Dec 29 00:36:55 IST 2021",
      "relayDevIpAddr": "172.30.20xxx",
      "reptDevIpAddr": "172.30.20xxx",
      "destIpAddr": "172.30.20xxx",
      "destName": "HOST-172.30.20xxx",
      "reptDevName": "centos-xxx",
      "reptVendor": "Unknown",
      "customer": "Super",
      "reptModel": "Unknown",
      "rawEventMsg": "<27>Dec 29 00:36:47 centos-xxx aella_flow[5074]: 1902195|aos_afix_json|ERR|Failed to send message: Couldn't connect to server/7",
      "collectorId": "1",
      "eventId": "4242813061460978xxx",
      "phEventCategory": "0 (External)",
      "count": "1",
      "eventName": "Unknown event type",
      "eventParsedOk": "0",
      "parserName": "SyslogNGParser"
    },
    "dataStr": null,
    "eventType": "Unknown_EventType",
    "id": "4242813061460978xxx",
    "index": "0",
    "nid": "4242813061460978xxx",
    "receiveTime": "2021-12-29T00:36:55+02:00"
  }
]
Arricchimento delle entità

N/D

Approfondimenti

N/D

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 sono stati trovati almeno alcuni dati (is_success=true): "Recupero riuscito dei risultati per la query fornita "{query}" in FortiSIEM."

Se non vengono trovati risultati (is_success=false): "Nessun risultato trovato per la query fornita "{Query}" in FortiSIEM."

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 "Query semplice". Motivo: {0}''.format(error.Stacktrace)

Se il parametro "Ora di inizio" è vuoto e il parametro "Intervallo di tempo" è impostato su "Personalizzato" (errore): "Errore durante l'esecuzione dell'azione "". Motivo: "Ora di inizio" deve essere fornita quando "Personalizzato" è selezionato nel parametro "Intervallo di tempo"."

Se il valore di "Ora di inizio" è maggiore del valore del parametro "Ora di fine" (errore): "Errore durante l'esecuzione dell'azione "". Motivo: "Ora di fine" deve essere successiva a "Ora di inizio".

Generale
Tabella

Nome tabella: risultati della query personalizzata

Colonne della tabella:tutte le colonne della risposta

Generale

Connettori

FortiSIEM Incidents Connector

Descrizione connettore

Il connettore può essere utilizzato per recuperare gli incidenti FortiSIEM. La lista consentita dei connettori può essere utilizzata per importare solo tipi specifici di incidenti in base al valore dell'attributo "eventType" dell'incidente. SourceGroupIdentifier del connettore può essere utilizzato per raggruppare gli avvisi di Google SecOps in base all'ID incidente. Il connettore richiede FortiSIEM versione 6.3 o successive.

Parametri del connettore

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
Nome campo prodotto Stringa deviceProduct Inserisci il nome del campo di origine per recuperare il nome del campo prodotto.
Nome campo evento Stringa eventType 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 Numero intero 300 Specifica il timeout per l'esecuzione del connettore.
Root API Stringa https:/x.x.x.x:port Specifica la radice dell'API per l'installazione di FortiSIEM di destinazione.
Nome utente Stringa N/D Specifica il nome utente da utilizzare per l'installazione di FortiSIEM di destinazione.
Password Password N/D Specifica la password da utilizzare per l'installazione di FortiSIEM di destinazione.
Verifica SSL Casella di controllo Selezionata No Se abilitato, il server Google SecOps controlla il certificato configurato per la radice dell'API.
Organizzazione target CSV N/D No

Specifica le organizzazioni per cui il connettore deve recuperare gli incidenti.

I parametri accettano più valori come stringa separata da virgole.

Ore massime indietro Numero intero 24 Specifica il periodo di tempo per recuperare gli incidenti a partire da X ore prima.
Numero massimo di incidenti per ciclo Numero intero 10 Specifica il numero di incidenti da elaborare durante l'esecuzione di un connettore.
Numero massimo di eventi per incidente Numero intero 100

Specifica il numero massimo di eventi che il connettore deve monitorare per l'incidente.

Una volta raggiunto il limite, i nuovi eventi non vengono aggiunti a Google SecOps.

Stati degli incidenti da recuperare CSV 0 No

Specifica gli stati dell'incidente da recuperare in Google SecOps.

Il parametro accetta più valori come stringa separata da virgole.

0 indica gli incidenti con stato aperto.

Gravità minima da recuperare Numero intero N/D No Specifica la gravità minima dell'evento dell'incidente da recuperare in Google SecOps in numeri, ad esempio 5 o 7.
Utilizzare la lista consentita come lista nera Casella di controllo Deselezionata Se questa opzione è abilitata, la lista consentita viene utilizzata come lista bloccata.
Monitorare i nuovi eventi aggiunti agli incidenti già importati Casella di controllo Selezionata Se abilitata, se vengono aggiunti nuovi eventi all'incidente FortiSIEM già importato, in Google SecOps viene creato un nuovo avviso aggiuntivo contenente questi nuovi eventi.
Monitora soglia nuovi eventi (ore) Numero intero 24

Se la casella di controllo "Monitora nuovi eventi aggiunti a incidenti già importati" è selezionata, specifica il numero massimo di ore in cui il connettore deve monitorare gli incidenti già importati per i nuovi eventi.

Una volta raggiunto il limite, i nuovi eventi non vengono aggiunti a Google SecOps.

Indirizzo del server proxy Stringa N/D No Specifica l'indirizzo del server proxy da utilizzare.
Nome utente proxy Stringa N/D No Specifica il nome utente del proxy per l'autenticazione.
Password proxy Password N/D No Specifica la password del proxy per l'autenticazione.

Regole del connettore

Supporto proxy

Il connettore supporta il proxy.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.