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 il tuo ambiente soddisfi tutte le dipendenze, i percorsi di rete e le autorizzazioni di accesso richiesti.
Google SecOps supporta due metodi di importazione:
Importazione basata sul 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 è necessaria alcuna configurazione del connettore in Google SecOps.
Importazione basata sul pull: i connettori Google SecOps eseguono periodicamente query sugli endpoint dell'API REST di Splunk per recuperare avvisi, risultati di ricerca SPL o eventi importanti di Splunk ES.
Importazione basata sul push
L'importazione basata sul push richiede la connettività HTTPS in uscita diretta da Splunk a Google SecOps, nonché configurazioni specifiche dei componenti aggiuntivi sulle Splunk Search Heads.
Verifica i seguenti requisiti prima di configurare l'importazione basata su push:
Scarica e installa il pacchetto TA-Siemplify da Splunkbase su tutte le Search Head Splunk di destinazione. Negli ambienti distribuiti, esegui il deployment del componente aggiuntivo nel cluster di Search Head utilizzando Splunk Deployer o Deployment Server.
Verifica che sia installata una versione compatibile di Splunk Common Information Model (Splunk_SA_CIM) sulla testa di ricerca per supportare gli avvisi modulari e la registrazione.
Assicurati che le tue Splunk Search Heads abbiano accesso di 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 per la creazione di avvisi e richieste.
Se prevedi di importare eventi non elaborati da ricerche di trasformazione (ad esempio ricerche che utilizzano
stats,chartotimechart), assicurati chedispatch.buckets = 1sia configurato insavedsearches.confnelle intestazioni di ricerca.
Importazione basata sul pull
L'importazione basata sul pull, le azioni del playbook e i job di sincronizzazione richiedono Google SecOps (o un agente remoto) per stabilire connessioni amministrative in entrata a Splunk.
Verifica i seguenti requisiti prima di configurare connettori pull, azioni o job:
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 (impostazione predefinita:
8089/TCP).Certificato CA personalizzato: se la tua istanza Splunk utilizza un certificato CA privato o interno, verifica di utilizzare l'integrazione Splunk versione 26.0 o successive 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 disponga di 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 che hai scelto:
- Connettore pull Splunk: autorizzazioni di lettura per la tabella di ricerca
siemplify_alerts(compilata quandoTA-Siemplifyè installato e configurato in modalità pull). - Connettore di query e azioni Splunk:
- Autorizzazioni di ricerca sugli indici degli eventi di destinazione
(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 di destinazione
(non richiede
- Splunk ES - notable events connector and jobs: un'installazione attiva di
Splunk Enterprise Security (ES), autorizzazioni di lettura per
l'indice
notablee accesso alla macroget_notable_index(non richiedeTA-Siemplify).
- Connettore pull Splunk: autorizzazioni di lettura per la tabella di ricerca
Parametri di integrazione
Utilizza i seguenti parametri per configurare l'integrazione:
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Indirizzo del server | Stringa | {SCHEMA}://{IP}:{PORT} | Sì | Indirizzo del server Splunk. |
| Nome utente | Stringa | N/D | No | L'indirizzo email dell'utente da utilizzare 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à rispetto ad 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 Configurare le integrazioni.
Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.
Azioni
Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.
Recupera eventi dell'host
Recupera gli eventi correlati agli host in Splunk.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Limite di eventi per host | Numero intero | 100 | Sì | Specifica il numero di eventi da restituire per host. |
| Risultati da | Stringa | -24 ore | 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 dei 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 nulla, 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. |
Run On
Questa azione viene eseguita sull'entità Nome host.
Risultati dell'azione
Risultato script
| Nome risultato script | Opzioni di 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 va a buon fine e i risultati non sono disponibili per alcuni: "Non sono stati trovati eventi per i seguenti host in Splunk:\n {0}".format(entity.identifier) Se l'operazione va a buon fine e i risultati non sono disponibili per tutti: "Nessun evento trovato per gli host forniti in Splunk" L'azione deve non riuscire e interrompere l'esecuzione di un playbook: if fatal error, like wrong credentials, no connection to server, other: "Error executing action "Get Host Events". Motivo: {0}''.format(error.Stacktrace) Se 400: "Errore durante l'esecuzione dell'azione "Recupera eventi host". Motivo: {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 scheda Google Security Operations Marketplace.
Parametri
N/D
Run On
Questa 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 |
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: L'azione deve non riuscire e interrompere l'esecuzione di un playbook: |
Generale |
Splunk Csv Viewer
Parametri
| Parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Risultati | string | N/D | Sì | Risultati non elaborati. |
Run On
Questa azione viene eseguita su tutte le entità.
Risultati dell'azione
Risultato script
| Nome risultato script | Opzioni di valore | Esempio |
|---|---|---|
| is_succeed | Vero/Falso | is_succeed:False |
SplunkQuery
Esegui una query in Splunk.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | 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 di conteggio dei risultati | Numero intero | 100 | No | Specifica il numero di risultati da restituire. |
| Risultati da | Stringa | -24 ore | No | Specifica l'ora di inizio della query. Valore predefinito: -24 ore |
| Risultati per | Stringa | ora | No | Specifica l'ora di fine della query. Valore predefinito: now. |
| Campi dei risultati | CSV | No | Specifica un elenco separato da virgole dei campi da restituire. |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome risultato script | Opzioni di 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: "Nessun risultato trovato per la query "{0}" in Splunk".format(query) Messaggio asincrono: "Waiting for query {0} to finish execution.".format(query name) L'azione deve non riuscire e interrompere l'esecuzione di un playbook: if fatal error, like wrong credentials, no connection to server, other: "Error executing action "SplunkQuery". Motivo: {0}''.format(error.Stacktrace) Se 400: "Error executing action "SplunkQuery". Motivo: {0}''.format(messages/text) |
Generale |
| Tabella della bacheca casi | Nome:risultati della query Splunk Colonne: in base ai risultati. |
Generale |
Invia evento
Invia l'evento a Splunk.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | 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 |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome risultato script | Opzioni di 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: Se l'operazione va a buon fine: "È stato aggiunto un nuovo evento all'indice "{0}" in Splunk.".format(index) L'azione deve 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 "Invia evento". Motivo: {0}''.format(error.Stacktrace) Se 400: "Errore durante l'esecuzione dell'azione "Invia evento". Motivo: {0}''.format(messages/text) |
Generale |
Aggiornare gli eventi importanti
Aggiorna gli eventi degni di nota in Splunk ES.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| ID eventi 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 significativo. |
| Commento | Stringa | N/D | Sì | Specifica il commento per l'evento degno di nota. |
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 |
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: If successful and data is available (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): stampa "L'azione non è riuscita ad aggiornare gli eventi importanti. Reason:{0}".format(string_from_response) L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: print "Error executing action "Update Notable Events". Motivo: {0}''.format(error.Stacktrace) |
Generale |
Esegui query entità
Esegui una query di entità in Splunk.
Come utilizzare i parametri di azione?
Questa azione consente di recuperare facilmente 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
complesse query di creazione. 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-entity | 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 sull'entità" avrà il seguente aspetto.
| Query | index="main" |
|---|---|
| Chiave entità hash file | hash |
In questa situazione, "Operatore cross-entità" non ha alcun impatto, perché influisce solo sulla query quando vengono fornite più "Chiavi entità".
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Modalità di ricerca | DDL | Smart Valori possibili:
|
No | Specifica la modalità di esecuzione della ricerca. |
| Query | Stringa | Sì | Specifica la query da eseguire senza la clausola "Where". Esempio: index="_internal" | |
| Limite di conteggio dei 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 | -24 ore | No | Specifica l'ora di inizio della query. Valore predefinito: -24 ore |
| Risultati per | Stringa | ora | No | Specifica l'ora di fine della query. Valore predefinito: now. |
| Campi dei risultati | CSV | N/D | No | Specifica un elenco separato da virgole dei 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 dell'azione. |
| Chiave entità nome host | Stringa | N/D | No | Specifica quale chiave deve essere utilizzata con le entità Nome host durante la preparazione del file . Per informazioni dettagliate, consulta la documentazione dell'azione. |
| Chiave entità hash file | Stringa | N/D | No | Specifica quale chiave deve essere utilizzata con le entità Hash file. Per informazioni dettagliate, consulta la documentazione dell'azione. |
| Chiave entità utente | Stringa | N/D | No | Specifica quale chiave deve essere utilizzata con le entità Utente. Per informazioni dettagliate, consulta la documentazione dell'azione. |
| Chiave entità URL | Stringa | N/D | No | Specifica la chiave da utilizzare con le entità URL. Per informazioni dettagliate, consulta la documentazione dell'azione. |
| Chiave entità indirizzo email | Stringa | N/D | No | Specifica quale chiave deve essere utilizzata con le entità Indirizzo email. Per informazioni dettagliate, consulta la documentazione dell'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 vengono specificate "Chiave entità IP" e "Chiave entità hash file", ma nell'ambito non sono presenti hash file, se questo parametro è abilitato, l'azione non eseguirà la query. |
| Operatore cross-entity | DDL | OPPURE Valori possibili: OPPURE E |
Sì | Specifica l'operatore logico da utilizzare tra i diversi tipi di entità. |
Run On
Questa azione viene eseguita sulle seguenti entità:
- Indirizzo IP
- Host
- Utente
- Hash
- URL
Risultati dell'azione
Risultato script
| Nome risultato script | Opzioni di 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: "Nessun risultato trovato per la 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à" è attivata e non sono disponibili tipi di entità sufficienti per le "Chiavi entità" fornite (is_success=false): l'azione non è riuscita a creare la query perché non sono stati forniti tipi di entità sufficienti per le "Chiavi entità" specificate. Disattiva il parametro "Interrompi se non ci sono abbastanza entità" o fornisci almeno un'entità per ogni "Chiave entità" specificata. L'azione deve non riuscire e interrompere l'esecuzione di un playbook: if fatal error, like wrong credentials, no connection to server, other: "Error executing action "Execute Entity Query". Motivo: {0}''.format(error.Stacktrace) Se 400: "Errore durante l'esecuzione dell'azione "Esegui query entità". Motivo: {0}''.format(messages/text) |
Generale |
| Tabella della bacheca casi | Nome:risultati della query Splunk Colonne:in base ai risultati. |
Generale |
Connettori
Per scoprire di più sulla configurazione dei connettori in Google SecOps, consulta Importare i dati (connettori).
Connettore query Splunk
Il connettore invia query che fanno parte dell'elenco dinamico (whitelist),
recupera i risultati e crea una richiesta 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 di 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 di Il valore predefinito è |
Event Field Name |
Obbligatorio
Inserisci il nome del campo di origine per recuperare il nome di Il valore predefinito è |
API Root |
Obbligatorio
Radice dell'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à sugli altri metodi di autenticazione. |
Verify SSL |
Obbligatorio
Se selezionata, verifica che il certificato SSL per la connessione al server CrowdStrike sia valido. La casella di controllo è deselezionata 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 avviso. |
Events Count Limit Per Query |
Optional Quantità massima 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. Disabilitato 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 proxy per l'autenticazione. |
Proxy Password |
Optional
Password del proxy 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 environment utilizzando la logica delle espressioni regolari. Se il pattern dell'espressione regolare è nullo o vuoto oppure il valore dell'ambiente è nullo, l'ambiente finale è quello predefinito. |
Regole del connettore
Il connettore supporta il proxy.
Splunk Pull Connector
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 di Il valore predefinito è |
Event Field Name |
Obbligatorio
Inserisci il nome del campo di origine per recuperare il nome di 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 dei risultati è 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 environment utilizzando la logica delle espressioni regolari. Se il pattern dell'espressione regolare
è nullo o vuoto oppure il valore dell'ambiente è nullo, 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 fa. 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 da 1 giorno (24 ore) o 1 settimana fa, rispettivamente. |
Alerts Count Limit |
Optional
Numero di avvisi restituiti dal connettore per iterazione. Il valore predefinito è 100. |
Use SSL |
Optional
Seleziona questa casella per attivare la connessione SSL o TLS. La casella di controllo è deselezionata per impostazione predefinita. |
Proxy Server Address |
Optional
Indirizzo del server proxy da utilizzare. |
Proxy Username |
Optional
Nome utente proxy per l'autenticazione. |
Proxy Password |
Optional
Password del proxy 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 significativo.
Solo questo parametro viene preso in considerazione durante l'importazione
dell'evento importante 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 di Il valore predefinito è |
Event Field Name |
Obbligatorio
Inserisci il nome del campo di origine per recuperare il nome di 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 environment utilizzando la logica delle espressioni regolari. Se il pattern dell'espressione regolare è nullo o vuoto oppure il valore dell'ambiente è nullo, l'ambiente finale è quello 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à sugli 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 abilitato, il connettore tenta di recuperare gli eventi di visualizzazione in dettaglio senza
recuperare gli eventi di base. Questo parametro richiede l'abilitazione dell'opzione Disabilitato per impostazione predefinita. |
Padding Time |
Optional
Quantità 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 attivato, l'elenco dinamico viene utilizzato come lista bloccata. Disabilitato per impostazione predefinita. |
Verify SSL |
Obbligatorio
Se selezionata, verifica che il certificato SSL per la connessione al server CrowdStrike sia valido. La casella di controllo è deselezionata per impostazione predefinita. |
Proxy Server Address |
Optional
Indirizzo del server proxy da utilizzare. |
Proxy Username |
Optional
Nome utente proxy per l'autenticazione. |
Proxy Password |
Optional
Password del proxy 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 importante utilizzando le informazioni sul job. In caso contrario, il connettore crea un evento Google SecOps in base all'evento significativo. 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 significativo viene diviso in due eventi Google SecOps per mappare correttamente le entità. |
Notable Event Data Along Base Event |
Optional
Se abilitato, il connettore aggiunge eventi Google SecOps in base all'evento notevole, oltre agli eventi di base. Disabilitato 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 significativo stesso, 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 è |
Come utilizzare il parametro Query Filter
Se è necessario restringere gli eventi degni di nota 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 eventi
importanti.
L'esempio di query inviata è il seguente:
(`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 l'elenco dinamico e la lista bloccata (whitelist e
blacklist). Il connettore utilizza il campo search_name dell'evento per
confrontarlo con l'elenco dinamico.
Evento 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, vedi Configurare un nuovo job e Pianificazione avanzata.
Sincronizza eventi chiusi di Splunk ES
Sincronizza gli eventi notevoli chiusi di Splunk ES e gli avvisi di Google SecOps.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | 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à rispetto ad altri metodi di autenticazione quando questo campo non è vuoto. |
| Ore massime indietro | Numero intero | 24 | Sì | Specifica il numero di ore indietro per sincronizzare gli stati. Valore predefinito: 24 ore. |
| Verifica SSL | Casella di controllo | Selezionata | Sì | Se abilitato, 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 | È obbligatorio | 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à rispetto ad altri metodi di autenticazione quando questo campo non è vuoto. |
| Verifica SSL | Casella di controllo | Selezionata | Sì | Se abilitato, 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.