Integra Splunk con Google SecOps

Questo documento fornisce indicazioni su come integrare Splunk con Google SecOps.

Prima di iniziare

Prima di integrare Splunk con Google SecOps, determina il metodo di importazione appropriato per l'architettura di deployment e verifica che l'ambiente soddisfi tutte le dipendenze, i percorsi di rete e le autorizzazioni di accesso richiesti.

Google SecOps supporta due metodi di importazione:

  • Importazione basata su push: Splunk valuta gli avvisi localmente e invia gli eventi direttamente a Google SecOps utilizzando il componente aggiuntivo TA-Siemplify e le azioni di attivazione degli avvisi. Non è richiesta alcuna configurazione del connettore in Google SecOps.

  • Importazione basata su pull: i connettori Google SecOps eseguono periodicamente query sugli endpoint dell'API REST di Splunk per recuperare avvisi, risultati di ricerca SPL o eventi notevoli di Splunk ES.

Importazione basata su push

L'importazione basata su push richiede una connettività HTTPS in uscita diretta da Splunk a Google SecOps, nonché configurazioni di componenti aggiuntivi specifici sui tuoi Splunk Search Head.

Verifica i seguenti requisiti prima di configurare l'importazione basata su push:

  1. Scarica e installa il pacchetto TA-Siemplify da Splunkbase su tutti i nodi di ricerca Splunk di destinazione. In ambienti distribuiti, esegui il deployment del componente aggiuntivo nel cluster Search Head utilizzando Splunk Deployer o Deployment Server.

  2. Verifica che sul Search Head sia installata una versione compatibile di Splunk Common Information Model (Splunk_SA_CIM) per supportare gli avvisi e il logging modulari.

  3. Assicurati che i tuoi Splunk Search Head abbiano accesso alla rete in uscita tramite HTTPS (porta TCP 443) all'URL dell'istanza Google SecOps.

  4. Verifica di avere un account in Google SecOps con autorizzazioni amministrative per generare chiavi API (Impostazioni > Avanzate > API). Assicurati che alla chiave API generata sia assegnato un ruolo con autorizzazioni di creazione di avvisi e casi.

  5. Se prevedi di importare eventi non elaborati da ricerche di trasformazione (ad esempio ricerche che utilizzano stats, chart o timechart), assicurati che dispatch.buckets = 1 sia configurato in savedsearches.conf sui tuoi Search Head.

Importazione basata su pull

L'importazione basata su pull, le azioni dei playbook e i job di sincronizzazione richiedono che Google SecOps (o un agente remoto) stabilisca connessioni amministrative in entrata con Splunk.

Verifica i seguenti requisiti prima di configurare connettori, azioni o job di pull:

  1. Connettività di rete: verifica la visibilità della rete da Google SecOps (o dal tuo agente remoto) alla porta dell'API REST di gestione di Splunk (predefinita: 8089/TCP).

  2. Certificato CA personalizzato: se la tua istanza Splunk utilizza un certificato CA privato o interno, verifica di eseguire l'integrazione di Splunk versione 26.0 o successiva in Google SecOps.

  3. Autenticazione: ottieni credenziali utente Splunk valide (nome utente e password) o genera un token di connessione Splunk (per attivare questo metodo di autenticazione sulla piattaforma Splunk, è necessaria l'autenticazione con token).

  4. Funzionalità del ruolo Splunk: assicurati che l'account Splunk di autenticazione abbia un ruolo con le seguenti funzionalità:

    • search
    • schedule_search
    • edit_tcp (Obbligatorio solo se utilizzi l'azione Invia evento)
    • edit_notable_events (Obbligatorio solo se utilizzi l'azione Aggiorna eventi importanti o i job di sincronizzazione di Splunk ES)
  5. Autorizzazioni di datastore e ricerca: verifica che l'account di autenticazione abbia accesso ai datastore Splunk pertinenti per i componenti scelti:

    • Connettore pull Splunk: autorizzazioni in lettura per la tabella di ricerca siemplify_alerts (compilata quando TA-Siemplify viene installato e configurato in modalità pull).
    • Connettore e azioni di query Splunk:
      • Autorizzazioni di ricerca sugli indici degli eventi target (non richiede TA-Siemplify).
      • Autorizzazioni di scrittura e input sull'indice di destinazione se utilizzi l'azione Invia evento.
    • Connettore e job per eventi importanti di Splunk ES: un'installazione attiva di Splunk Enterprise Security (ES), autorizzazioni in lettura per l'indice notable e accesso alla macro get_notable_index (non richiede TA-Siemplify).

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Indirizzo del server Stringa {SCHEMA}://{IP}:{PORT} Sì Indirizzo del server Splunk.
Nome utente Stringa N/D No L'indirizzo email dell'utente che deve essere utilizzato per connettersi a Splunk.
Password Password N/D No La password dell'utente corrispondente.
Token API Password N/D No Token API Splunk. Il token API ha la priorità su altri metodi di autenticazione, quando questo campo non è vuoto.
Verifica SSL Casella di controllo Deselezionata No Utilizza questa casella di controllo se la connessione Splunk richiede una verifica SSL (non selezionata per impostazione predefinita).
File del certificato CA Stringa N/D No File del certificato CA con codifica Base64.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configura le integrazioni.

Se necessario, puoi 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

Per saperne di più sulle azioni, consulta Rispondi alle azioni in attesa dalla tua scrivania ed Esegui un'azione manuale.

Recupera eventi host

Recupera gli eventi relativi agli host in Splunk.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Limite di eventi per host Numero intero 100 Sì Specifica il numero di eventi da restituire per host.
Risultati da Stringa -24h Sì Specifica l'ora di inizio degli eventi.
Risultati per Stringa ora Sì Specifica l'ora di fine degli eventi.
Campi dei risultati CSV N/D No Specifica un elenco separato da virgole di campi da restituire.
Indice Stringa N/D No Specifica l'indice da utilizzare per la ricerca di eventi correlati all'host. Se non viene fornito alcun valore, l'azione non utilizzerà l'indice.
Chiave host Stringa host No Specifica la chiave da utilizzare per ottenere informazioni sugli eventi dell'host. Valore predefinito: host.

Esegui il

Questa azione viene eseguita sull'entità Hostname.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore Esempio
operazione riuscita Vero/Falso success:False
Risultato JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
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 ha esito positivo e i risultati sono disponibili: "Successfully returned events for the following hosts in Splunk: \n {0}".format(entity.identifier)

Se l'operazione riesce e i risultati non sono disponibili per alcuni: "No events were found for the following hosts in Splunk:\n {0}".format(entity.identifier)

Se l'operazione va a buon fine e i risultati non sono disponibili per tutti: "Non sono stati trovati eventi per gli host forniti in Splunk"

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

Se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Recupera eventi host". Reason: {0}''.format(error.Stacktrace)

Se 400: "Errore durante l'esecuzione dell'azione "Recupera eventi host". Reason: {0}''.format(messages/text)

Generale
Tabella della bacheca casi

Nome: Eventi {Entity.identifier}

Colonne:in base ai risultati.

Dindin

Testa la connettività a Splunk con i parametri forniti nella pagina di configurazione dell'integrazione nella pagina Google SecOps Content Hub.

Parametri

N/D

Esegui il

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 del valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se l'operazione va a buon fine: "Connessione al server Splunk riuscita con i parametri di connessione forniti."

L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook:
se non va a buon fine: "Impossibile connettersi al server Splunk! Error is {0}".format(exception.stacktrace)

Generale

Splunk Csv Viewer

Parametri

Parametro Tipo Valore predefinito Is Mandatory Descrizione
Risultati string N/D Sì Risultati non elaborati.

Esegui il

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore Esempio
is_succeed Vero/Falso is_succeed:False

SplunkQuery

Esegui una query in Splunk.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Modalità di ricerca DDL

Smart

Valori possibili:

  • Dettagliata
  • Smart
  • Veloce
No Specifica la modalità di esecuzione della ricerca.
Query Stringa Sì Specifica la query da eseguire. Esempio: index="_internal"
Limite del numero di risultati Numero intero 100 No

Specifica il numero di risultati da restituire.
Nota: questo parametro aggiunge la parola chiave "head" alla query fornita. Il valore predefinito è 100.

Risultati da Stringa -24h No Specifica l'ora di inizio della query. Valore predefinito: -24h
Risultati per Stringa ora No Specifica l'ora di fine della query. Valore predefinito: ora.
Campi dei risultati CSV No

Specifica un elenco separato da virgole di campi da restituire.
Nota: questo parametro aggiunge la parola chiave "fields" alla query fornita.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
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 e i risultati sono disponibili: "Successfully returned results for the query "{0}" in Splunk".format(query)

Se l'operazione va a buon fine e i risultati non sono disponibili: "No results were found for the query "{0}" in Splunk".format(query)

Messaggio asincrono: "Waiting for query {0} to finish execution.".format(query name)

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

In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "SplunkQuery". Reason: {0}''.format(error.Stacktrace)

Se 400: "Error executing action "SplunkQuery". Reason: {0}''.format(messages/text)

Generale
Tabella della bacheca casi

Nome: Risultati delle query Splunk

Colonne: in base ai risultati.

Generale

Invia evento

Invia l'evento a Splunk.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Indice Stringa main Sì Specifica l'indice in cui deve essere creato l'evento.
Evento Stringa N/D Sì Specifica l'evento non elaborato da inviare.
Host Stringa N/D No Specifica l'host correlato all'evento.
Origine Stringa N/D No Specifica l'origine dell'evento. Esempio: www.
Sourcetype Stringa N/D No Specifica il tipo di origine dell'evento. Esempio: web_event

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore Esempio
operazione riuscita Vero/Falso success:False
Risultato JSON
{
    "index": "default",
    "bytes": 70,
    "host": "dogo",
    "source": "www",
    "sourcetype": "web_event"
}
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo
Messaggio di output*

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

In caso di esito positivo: "Successfully added a new event to index "{0}" in Splunk.".format(index)

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

In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Invia evento". Reason: {0}''.format(error.Stacktrace)

Se 400: "Errore durante l'esecuzione dell'azione "Invia evento". Reason: {0}''.format(messages/text)

Generale

Aggiorna eventi importanti

Aggiorna gli eventi importanti in Splunk ES.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
ID evento importanti CSV N/D Sì Specifica gli ID degli eventi importanti. Esempio: 1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7@@notable@@cb87390ae72763679d3f6f8f097ebe2b,1D234D5B-1531-2D2B-BB94-41C439BE12B7@@notable@@cb87390ae72763679d3f6f8f097ebe2b
Stato DDL

Selezionane uno

Valori possibili:

Selezionane uno

Non assegnato

Nuovo

In corso

In attesa

Risolto

Chiuso

Sì Specifica il nuovo stato per gli eventi importanti.
Urgenza DDL

Selezionane uno

Valori possibili:

Selezionane uno

Critico

Alta

Medie

Bassa

Informativo

Sì Specifica la nuova urgenza per l'evento importante.
Nuovo proprietario Stringa N/D Sì Specifica il nuovo proprietario dell'evento importante.
Commento Stringa N/D Sì Specifica il commento per l'evento importante.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False
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 e i dati sono disponibili (is_success=true)

print "Successfully updated {0} notable events in Splunk.".format(count(notable_events))

Se l'aggiornamento non va a buon fine (status_code=400, is_success=false):

print "Action wasn't able to update notable events. Reason:{0}".format(string_from_response)

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

In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro:

print "Error executing action "Update Notable Events". Reason: {0}''.format(error.Stacktrace)

Generale

Esegui query entità

Esegui una query sulle entità in Splunk.

Come si utilizzano i parametri delle azioni?

Questa azione consente di recuperare rapidamente le informazioni relative alle entità. Ad esempio, è possibile risolvere il caso d'uso in cui vuoi visualizzare la quantità di eventi degli endpoint interessati dagli hash forniti senza creare query complicate. Per risolvere questo problema in Splunk, devi preparare la seguente query: index="main" | where (device_ip="10.0.0.1" or device_ip="10.12.12.12") and (hash="bad_hash_1" or hash="bad_hash_2") Per creare la stessa query utilizzando l'azione "Esegui query entità", devi compilare i parametri dell'azione nel seguente modo:

Query index="main"
Chiave entità IP device_ip
Chiave entità hash file hash
Operatore cross-entità E

Tutti gli altri campi possono essere lasciati vuoti.

Se il caso d'uso è vedere quanti endpoint sono stati interessati dagli hash forniti, la configurazione di "Esegui query entità" avrà il seguente aspetto.

Query index="main"
Chiave entità hash file hash

In questa situazione, "Cross Entity Operator" non avrà alcun impatto, perché influisce sulla query solo quando vengono fornite più "Entity Keys".

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Modalità di ricerca DDL

Smart

    Valori possibili:
  • Dettagliata
  • Smart
  • Veloce
No Specifica la modalità di esecuzione della ricerca.
Query Stringa Sì Specifica la query da eseguire senza la clausola "Where". Esempio: index="_internal"
Limite del numero di risultati Numero intero 100 No Specifica il numero di risultati da restituire. Nota: questo parametro aggiunge la parola chiave "head" alla query fornita. Il valore predefinito è 100.
Risultati da Stringa -24h No Specifica l'ora di inizio della query. Valore predefinito: -24h
Risultati per Stringa ora No Specifica l'ora di fine della query. Valore predefinito: ora.
Campi dei risultati CSV N/D No

Specifica un elenco separato da virgole di campi da restituire.
Nota: questo parametro aggiunge la parola chiave "fields" alla query fornita.

Chiave entità IP Stringa N/D No Specifica la chiave da utilizzare con le entità IP. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità nome host Stringa N/D No Specifica quale chiave deve essere utilizzata con le entità Hostname durante la preparazione di . Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità hash file Stringa N/D No Specifica la chiave da utilizzare con le entità File Hash. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità utente Stringa N/D No Specifica quale chiave deve essere utilizzata con le entità User. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità URL Stringa N/D No Specifica la chiave da utilizzare con le entità URL. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità indirizzo email Stringa N/D No Specifica la chiave da utilizzare con le entità Indirizzo email. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Interrompi se non ci sono abbastanza entità Casella di controllo Selezionata Sì Se abilitata, l'azione non verrà eseguita, a meno che tutti i tipi di entità non siano disponibili per le ".. Chiavi entità" specificate. Esempio: se sono specificate "IP Entity Key" e "File Hash Entity Key", ma nell'ambito non sono presenti hash dei file, se questo parametro è abilitato, l'azione non eseguirà la query.
Operatore cross-entità DDL

OPPURE

Valori possibili:

OPPURE

E

Sì Specifica l'operatore logico da utilizzare tra i diversi tipi di entità.

Esegui il

Questa azione viene eseguita sulle seguenti entità:

  • Indirizzo IP
  • Host
  • Utente
  • Hash
  • URL

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
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 e i risultati sono disponibili: "Successfully returned results for the query "{0}" in Splunk".format(query)

Se l'operazione va a buon fine e i risultati non sono disponibili: "No results were found for the query "{0}" in Splunk".format(query)

Messaggio asincrono: "Waiting for query {0} to finish execution.".format(query name)

Se l'opzione "Interrompi se non ci sono abbastanza entità" è attiva e non sono disponibili abbastanza tipi di entità per le "Chiavi entità" fornite (is_success=false): l'azione non è riuscita a creare la query perché non sono stati forniti abbastanza tipi di entità per le "Chiavi entità" specificate. Disattiva il parametro "Interrompi se non ci sono entità sufficienti" o fornisci almeno un'entità per ogni ".. Chiave entità" specificata.

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

In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Esegui query entità". Reason: {0}''.format(error.Stacktrace)

Se 400: "Errore durante l'esecuzione dell'azione "Esegui query entità". Reason: {0}''.format(messages/text)

Generale
Tabella della bacheca casi

Nome: Risultati delle query Splunk

Colonne:in base ai risultati.

Generale

Connettori

Per scoprire di più sulla configurazione dei connettori in Google SecOps, consulta Importa i dati (connettori).

Connettore di query Splunk

Il connettore invia query che fanno parte dell'elenco dinamico (whitelist), recupera i risultati e crea un caso in base ai risultati recuperati.

Query Splunk di esempio per visualizzare i log

  1. Le query devono essere inserite come regole dell'elenco dinamico (whitelist).

  2. Le query di ricerca con più filtri devono utilizzare lo spazio come delimitatore tra i filtri di ricerca, ad esempio index=cim_modactions sourcetype=modular_alerts:risk.

  3. L'utilizzo di più regole per gli elenchi dinamici (whitelist) anziché l'inserimento di più filtri di ricerca delimitati da spazi nella stessa regola comporta l'esecuzione di una ricerca separata per ogni regola aggiunta.

    • index=cim_modactions
    • sourcetype=modular_alerts:send_data_to_siemplify
    • index=_internal sourcetype=splunkd
    • component=sendmodalert
    • action=send_data_to_siemplify
    • index=_internal source=/opt/splunk/var/log/splunk/send_data_to_siemplify_modalert.log

Parametri del connettore

Per configurare il connettore, utilizza i seguenti parametri:

Parametri
Product Field Name Obbligatorio

Inserisci il nome del campo di origine per recuperare il nome Product Field.

Il valore predefinito è device_product.

Event Field Name Obbligatorio

Inserisci il nome del campo di origine per recuperare il nome Event Field.

Il valore predefinito è app.

API Root Obbligatorio

Radice API dell'istanza Splunk.

Il valore predefinito è https://IP:8089.

Username Obbligatorio

Nome utente dell'account Splunk.

Password Obbligatorio

Password dell'account Splunk.

API Token Optional

Token API Splunk.

Se questo campo ha un valore, il token API ha la priorità su altri metodi di autenticazione.

Verify SSL Obbligatorio

Se l'opzione è selezionata, verifica che il certificato SSL per la connessione al server CrowdStrike sia valido.

Non selezionata per impostazione predefinita.

Environment Field Name Optional

Nome del campo in cui è memorizzato il nome dell'ambiente.

Rule Generator Field Obbligatorio

Il nome del campo utilizzato per mappare il valore del generatore di regole.

Alert Name Field Name Obbligatorio

Nome dell'avviso.

Events Count Limit Per Query Optional

Numero massimo di eventi da recuperare per query.

Max Day Backwards Optional

Numero di giorni da cui recuperare gli eventi.

Aggregate Events Query Optional

Se abilitato, il connettore combinerà tutti gli eventi in un unico avviso.

Disattivata per impostazione predefinita.

PythonProcessTimeout (Seconds) Obbligatorio

Limite di timeout per il processo Python che esegue lo script corrente.

Il valore predefinito è 60 secondi.

Proxy Server Address Optional

Indirizzo del server proxy da utilizzare.

Proxy Username Optional

Nome utente del proxy con cui eseguire l'autenticazione.

Proxy Password Optional

Password del proxy da utilizzare per l'autenticazione.

Environment Regex Pattern Optional

Un pattern di espressione regolare da eseguire sul valore trovato nel campo Environment Field Name.

Il valore predefinito .* rileva tutto e restituisce il valore invariato.

Il parametro consente di manipolare il campo dell'ambiente utilizzando la logica delle espressioni regolari.

Se il pattern dell'espressione regolare è nullo o vuoto o se il valore dell'ambiente è nullo, il risultato finale dell'ambiente è l'ambiente predefinito.

Regole del connettore

Il connettore supporta il proxy.

Connettore Splunk Pull

Estrai avvisi ed eventi da Splunk in Google SecOps.

Parametri del connettore

Per configurare il connettore, utilizza i seguenti parametri:

Parametri
Product Field Name Obbligatorio

Inserisci il nome del campo di origine per recuperare il nome Product Field.

Il valore predefinito è device_product.

Event Field Name Obbligatorio

Inserisci il nome del campo di origine per recuperare il nome Event Field.

Il valore predefinito è name.

Environment Field Name Optional

Nome del campo in cui è memorizzato il nome dell'ambiente.

Se il campo dell'ambiente non viene trovato, l'ambiente del risultato è "" .

Il valore predefinito è "".

Environment Regex Pattern Optional

Un pattern di espressione regolare da eseguire sul valore trovato nel campo Environment Field Name.

Il valore predefinito .* rileva tutto e restituisce il valore invariato.

Il parametro consente di manipolare il campo dell'ambiente utilizzando la logica delle espressioni regolari.

Se il pattern dell'espressione regolare è null o vuoto oppure il valore dell'ambiente è null, il risultato finale dell'ambiente è "".

PythonProcessTimeout (Seconds) Obbligatorio

Limite di timeout per il processo Python che esegue lo script corrente.

Il valore predefinito è 60 secondi.

Server Address Obbligatorio

Indirizzo IP del server API Splunk.

Port Obbligatorio

Porta dell'istanza Splunk.

Il valore predefinito è 8089.

Username Obbligatorio

Nome utente dell'account Splunk.

Password Obbligatorio

Password dell'account Splunk.

Time Frame Optional

Periodo di tempo per il recupero degli avvisi.

Il valore predefinito è 1 ora.

Esempi:

Se il valore è impostato su 1 minuto, il connettore recupera gli avvisi a partire da 1 minuto prima.

Se il valore è impostato su 3 ore, il connettore recupera gli avvisi a partire da 3 ore fa.

Se il valore è impostato su 1 giorno o 1 settimana, il connettore recupera gli avvisi a partire rispettivamente da 1 giorno (24 ore) o 1 settimana prima.

Alerts Count Limit Optional

Numero di avvisi restituiti dal connettore per un'iterazione.

Il valore predefinito è 100.

Use SSL Optional

Seleziona questa opzione per attivare la connessione SSL o TLS.

Non selezionata per impostazione predefinita.

Proxy Server Address Optional

Indirizzo del server proxy da utilizzare.

Proxy Username Optional

Nome utente del proxy con cui eseguire l'autenticazione.

Proxy Password Optional

Password del proxy da utilizzare per l'autenticazione.

Regole del connettore

Il connettore supporta il proxy.

Splunk ES - Notable Events Connector

Importa eventi importanti da Splunk ES.

Definisci la priorità della richiesta

La priorità della richiesta è definita dal parametro Urgency nell'evento degno di nota. Solo questo parametro viene preso in considerazione durante l'importazione dell'evento degno di nota in Google SecOps.

Parametri del connettore

Per configurare il connettore, utilizza i seguenti parametri:

Parametri
Product Field Name Obbligatorio

Inserisci il nome del campo di origine per recuperare il nome Product Field.

Il valore predefinito è Product Name.

Event Field Name Obbligatorio

Inserisci il nome del campo di origine per recuperare il nome Event Field.

Il valore predefinito è index.

Environment Field Name Optional

Nome del campo in cui è memorizzato il nome dell'ambiente.

Se il campo dell'ambiente non viene trovato, viene utilizzato l'ambiente predefinito.

Il valore predefinito è "".

Environment Regex Pattern Optional

Un pattern di espressione regolare da eseguire sul valore trovato nel campo Environment Field Name.

Il valore predefinito .* rileva tutto e restituisce il valore invariato.

Il parametro consente di manipolare il campo dell'ambiente utilizzando la logica delle espressioni regolari.

Se il pattern dell'espressione regolare è nullo o vuoto o se il valore dell'ambiente è nullo, il risultato finale dell'ambiente è l'ambiente predefinito.

Script Timeout (Seconds) Obbligatorio

Limite di timeout per il processo Python che esegue lo script corrente.

Il valore predefinito è 180 secondi.

Server Address Obbligatorio

Indirizzo del server dell'istanza Splunk.

Il valore predefinito è https://:8089.

Username Optional

Nome utente dell'account Splunk.

Password Optional

Password dell'account Splunk.

API Token Obbligatorio

Token API Splunk.

Se questo campo ha un valore, il token API ha la priorità su altri metodi di autenticazione.

Lowest Urgency To Fetch Obbligatorio

Urgenza più bassa utilizzata per recuperare gli eventi importanti.

I valori possibili sono:

  • Informational
  • Low
  • Medium
  • High
  • Critical

Il valore predefinito è Medium.

Fetch Max Hours Backwards Optional

Numero di ore da cui recuperare gli eventi importanti.

Il valore predefinito è 1 ora.

Only Drilldown Events Optional

Se questa opzione è abilitata, il connettore tenta di recuperare gli eventi di drilldown senza recuperare gli eventi di base. Questo parametro richiede l'attivazione dell'opzione Fetch Base Events .

Disattivata per impostazione predefinita.

Padding Time Optional

Numero di ore che verranno utilizzate come padding.

Se non viene fornito alcun valore, questo parametro non è applicabile.

Il valore massimo è 12 ore.

Max Notable Events To Fetch Optional

Numero di eventi importanti da elaborare per un'iterazione del connettore.

Il valore predefinito è 10.

Use whitelist as a blacklist Obbligatorio

Se l'opzione è attiva, l'elenco dinamico viene utilizzato come lista bloccata.

Disattivata per impostazione predefinita.

Verify SSL Obbligatorio

Se l'opzione è selezionata, verifica che il certificato SSL per la connessione al server CrowdStrike sia valido.

Non selezionata per impostazione predefinita.

Proxy Server Address Optional

Indirizzo del server proxy da utilizzare.

Proxy Username Optional

Nome utente del proxy con cui eseguire l'autenticazione.

Proxy Password Optional

Password del proxy da utilizzare per l'autenticazione.

Query Filter Optional

Filtro di query aggiuntivo inviato a Splunk per ottenere eventi importanti.

Il valore fornito qui viene aggiunto alla clausola di query WHERE.

Extract Base Events Optional

Se attivato, il connettore estrae gli eventi di base correlati all'evento notevole utilizzando le informazioni sul job. In altri casi, il connettore crea un evento Google SecOps basato sull'evento notevole.

Se questo parametro è impostato su True, ma il connettore non può funzionare con i job, il connettore utilizza le informazioni sugli eventi importanti come meccanismo di riserva.

Abilitato per impostazione predefinita.

Multivalue Fields Optional

Un elenco separato da virgole di campi contenenti più entità.

Ad esempio, se un campo contiene due nomi host, l'evento rilevante viene suddiviso in due eventi Google SecOps per mappare correttamente le entità.

Notable Event Data Along Base Event Optional

Se abilitato, il connettore aggiunge gli eventi Google SecOps in base all'evento rilevante oltre agli eventi di base.

Disattivata per impostazione predefinita.

Rule Generator Field Name Optional

Il nome del campo utilizzato per mappare il valore del generatore di regole.

Per la mappatura vengono utilizzate solo le informazioni sull'evento degno di nota, mentre gli eventi vengono ignorati. Se viene fornito un valore non valido, il connettore imposta il campo sul valore rule_name.

Alert Name Source Optional

Origine del nome dell'avviso.

I valori possibili sono:

  • Search Name
  • Rule Name

Il valore predefinito è Search Name.

Alert Start Time Field Optional

Un campo dell'evento notevole di Splunk da utilizzare come start_time dell'avviso.

Se il campo è vuoto, non valido o non può essere analizzato come timestamp, il connettore torna al comportamento predefinito utilizzando il campo _time.

Come utilizzare il parametro Query Filter

Se è necessario restringere gli eventi importanti in base a parametri specifici, utilizza il parametro Query Filter. Il valore fornito in questo parametro viene aggiunto alla clausola WHERE della query inviata per ottenere gli eventi importanti.

Di seguito è riportato un esempio di query inviata:

(`get_notable_index` OR `get_sequenced_index`) | eval `get_event_id_meval`,
rule_id=event_id | tags outputfield=tag | `mvappend_field(tag,orig_tag)` |
`notable_xref_lookup` | `get_correlations` | `get_current_status` | `get_owner`
| `get_urgency` | typer | where (urgency="medium" AND urgency="low") AND
(status_label="Unassigned" OR status_label="New")  | tail 50 | fields *

Ad esempio, se Query Filter = isTesting = True, la query viene visualizzata come segue:

search (`get_notable_index` OR `get_sequenced_index`) | eval epoch=_time | eval
`get_event_id_meval`,rule_id=event_id | tags outputfield=tag |
`mvappend_field(tag,orig_tag)` | `notable_xref_lookup` | `get_correlations` |
`get_current_status` | `get_owner` | `get_urgency` | typer | where
(urgency!="informational" AND urgency!="low" **AND isTesting = "True"**) |
fields *

Regole del connettore

Il connettore Splunk ES utilizza la lista dinamica e la lista bloccata (whitelist e blacklist). Il connettore utilizza il campo search_name dell'evento per il confronto con la lista dinamica.

Evento del connettore

[{
    "indicator": "2012/06/29_21:50", 
    "tlp": "TLP:RED", 
    "itype": "mal_url", 
    "severity": "very-high", 
    "classification": "public", 
    "detail": "", 
    "confidence": 50, 
    "actor": "", 
    "feed_name": "import", 
    "source": "admin", 
    "feed_site_netloc": "localhost", 
    "campaign": "", 
    "type": "url", 
    "id": "anomali:indicator-578a9be5-0e03-4ec0-940d-4b1842f40fd0", 
    "date_last": "2020-07-15 08:12:07 AM",
"Url": "indicator"
  },{
    "indicator": "2010/12/19_16:35", 
    "tlp": "TLP:RED", 
    "itype": "mal_url", 
    "severity": "very-high", 
    "classification": "public", 
    "detail": "", 
    "confidence": 50, 
    "actor": "", 
    "feed_name": "import", 
    "source": "admin", 
    "feed_site_netloc": "localhost", 
    "campaign": "", 
    "type": "url", 
    "id": "anomali:indicator-52cadd07-330a-45fd-962f-32e22d36a89a", 
    "date_last": "2020-07-15 08:12:07 AM"
  }]

Job

Per saperne di più sui job, consulta Configura un nuovo job e Pianificazione avanzata.

Sincronizza gli eventi chiusi di Splunk ES

Sincronizza gli eventi notevoli di Splunk ES e gli avvisi di Google SecOps chiusi.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Indirizzo del server Stringa https://IP:8089 Sì Indirizzo del server dell'istanza Splunk.
Nome utente Stringa N/D No Nome utente dell'account Splunk.
Password Password N/D No Password dell'account Splunk.
Token API Password N/D Sì Token API Splunk. Il token API ha la priorità su altri metodi di autenticazione, quando questo campo non è vuoto.
Numero massimo di ore indietro Numero intero 24 Sì Specifica il numero di ore precedenti per la sincronizzazione degli stati. Valore predefinito: 24 ore.
Verifica SSL Casella di controllo Selezionata Sì Se l'opzione è abilitata, verifica che il certificato SSL per la connessione al server Splunk sia valido.

Sincronizza i commenti di Splunk ES

Questo job sincronizzerà i commenti negli eventi Splunk ES e nei casi Google SecOps.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Indirizzo del server Stringa https://IP:8089 Sì Indirizzo del server dell'istanza Splunk.
Nome utente Stringa N/D No Nome utente dell'account Splunk.
Password Password N/D No Password dell'account Splunk.
Token API Password N/D Sì Token API Splunk. Il token API ha la priorità su altri metodi di autenticazione, quando questo campo non è vuoto.
Verifica SSL Casella di controllo Selezionata Sì Se l'opzione è abilitata, verifica che il certificato SSL per la connessione al server Splunk sia valido.

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