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:
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.
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.
Assicurati che i tuoi Splunk Search Head abbiano accesso alla rete in uscita tramite HTTPS (porta TCP 443) all'URL dell'istanza Google SecOps.
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.
Se prevedi di importare eventi non elaborati da ricerche di trasformazione (ad esempio ricerche che utilizzano
stats,chartotimechart), assicurati chedispatch.buckets = 1sia configurato insavedsearches.confsui 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:
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).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.
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).
Funzionalità del ruolo Splunk: assicurati che l'account Splunk di autenticazione abbia un ruolo con le seguenti funzionalità:
searchschedule_searchedit_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)
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 quandoTA-Siemplifyviene 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.
- Autorizzazioni di ricerca sugli indici degli eventi target
(non richiede
- Connettore e job per eventi importanti di Splunk ES: un'installazione attiva di Splunk Enterprise Security (ES), autorizzazioni in lettura per l'indice
notablee accesso alla macroget_notable_index(non richiedeTA-Siemplify).
- Connettore pull Splunk: autorizzazioni in lettura per la tabella di ricerca
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: L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: |
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:
|
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. |
| 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. |
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
|
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. |
| 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
Le query devono essere inserite come regole dell'elenco dinamico (
whitelist).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.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_modactionssourcetype=modular_alerts:send_data_to_siemplifyindex=_internal sourcetype=splunkdcomponent=sendmodalertaction=send_data_to_siemplifyindex=_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 Il valore predefinito è |
Event Field Name |
Obbligatorio
Inserisci il nome del campo di origine per recuperare il nome Il valore predefinito è |
API Root |
Obbligatorio
Radice API dell'istanza Splunk. Il valore predefinito è
|
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 Il valore predefinito 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 Il valore predefinito è |
Event Field Name |
Obbligatorio
Inserisci il nome del campo di origine per recuperare il nome Il valore predefinito è |
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 Il valore predefinito 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 è |
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 Il valore predefinito è |
Event Field Name |
Obbligatorio
Inserisci il nome del campo di origine per recuperare il nome Il valore predefinito è |
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 Il valore predefinito 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 è |
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:
Il valore predefinito è |
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 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 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 |
Alert Name Source |
Optional
Origine del nome dell'avviso. I valori possibili sono:
Il valore predefinito è |
Alert Start Time Field |
Optional
Un campo dell'evento notevole di Splunk da utilizzare come Se il campo è vuoto, non valido o non può essere analizzato come timestamp, il connettore torna al comportamento predefinito utilizzando il campo |
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.