Humio
Questo documento fornisce indicazioni su come integrare Humio con Google SecOps.
Configurare l'integrazione di Humio in Google Security Operations
Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.
Parametri di integrazione
Utilizza i seguenti parametri per configurare l'integrazione:
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Root API | Stringa | https://cloud.us.humio.com | Sì | La radice dell'API dell'istanza Humio. |
| Token API | Password | N/D | Sì | Token API dell'istanza Humio. |
| Verifica SSL | Casella di controllo | Selezionata | Sì | Se abilitato, verifica che il certificato SSL per la connessione al server Humio sia valido. |
Casi d'uso
- Esegui l'importazione degli eventi dai repository
- Eseguire la ricerca
Azioni
Dindin
Descrizione
Testa la connettività a Humio 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: Se l'operazione va a buon fine: "Connessione al server Humio riuscita con i parametri di connessione forniti." L'azione deve non riuscire e interrompere l'esecuzione di un playbook: In caso contrario: "Impossibile connettersi al server Humio. Error is {0}".format(exception.stacktrace) |
Generale |
Esegui la ricerca semplice
Descrizione
Cerca eventi in base ai parametri in Humio.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Nome repository | Stringa | N/D | Sì | Specifica il nome del repository in cui eseguire la ricerca. |
| Filtro query | Stringa | N/D | No | Specifica la query da eseguire durante la ricerca. Nota: le funzioni "head()" e "select()" non devono essere fornite. |
| Intervallo di tempo | DDL | Ultima ora Valori possibili:
|
No | Specifica un periodo di tempo per i risultati. Se è selezionata l'opzione "Personalizzato", devi fornire anche il parametro "Ora di inizio". |
| Ora di inizio | Stringa | N/D | No | Specifica l'ora di inizio per i risultati. Questo parametro è obbligatorio se è selezionato "Personalizzato" per il parametro "Intervallo di tempo". Formato: ISO 8601 |
| Ora di fine | Stringa | N/D | No | Specifica l'ora di fine per i risultati. Formato: ISO 8601. Se non viene fornito nulla e per il parametro "Intervallo di tempo" è selezionato "Personalizzato", questo parametro utilizza l'ora corrente. |
| Campi da restituire | CSV | N/D | No | Specifica i campi da restituire. Se non viene fornito nulla, l'azione restituisce tutti i campi. |
| Campo di ordinamento | Stringa | N/D | No | Specifica quale parametro deve essere utilizzato per l'ordinamento. Per impostazione predefinita, la query ordina i dati in base al timestamp in ordine crescente. |
| Tipo di campo di ordinamento | DDL | Stringa Valori possibili:
|
No | Specifica il tipo di campo utilizzato per l'ordinamento. Questo parametro è necessario per garantire che vengano restituiti i risultati corretti. |
| Ordinamento | DDL | CRESC Valori possibili:
|
No | Specifica l'ordine di ordinamento. |
| Numero massimo di risultati da restituire | Numero intero | 50 | No | Specifica il numero di risultati da restituire. |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome risultato script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato JSON
[
{
"@timestamp": 1636028056292,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"method": "google",
"sensitive": false,
"timestamp": "2021-11-04T12:14:16.292Z",
"type": "user.signin"
},
"@id": "gZPMhXMMcScGXHwxZ7bRH6Ns_88_264_1636028056"
},
{
"@timestamp": 1636028057934,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"sensitive": false,
"timestamp": "2021-11-04T12:14:17.934Z",
"type": "notifications.user.create"
},
"@id": "lSLLg2gMDW8GwHtpZTGD8GU1_65_108_1636028057"
}
]
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Tipo di risultato | Valore/Descrizione | Tipo |
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se è stato trovato almeno un risultato (is_success=true): "Restituiti correttamente i risultati per la query "{query}" in Humio." Se non vengono trovati risultati (is_succees=true): "Nessun risultato trovato per la query "{query}" in Humio." 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 "Esegui ricerca semplice". Motivo: {0}''.format(error.Stacktrace) Se viene segnalato il codice di stato 400: "Errore durante l'esecuzione dell'azione "Esegui ricerca semplice". Motivo: {0}''.format(response) Se viene segnalato il codice di stato 404: "Errore durante l'esecuzione dell'azione "Esegui ricerca personalizzata". Motivo: {0}''.format(response) |
Generale |
| Bacheca casi | Nome: risultati | Generale |
Esegui ricerca personalizzata
Descrizione
Cerca eventi utilizzando una query personalizzata in Humio.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Nome repository | Stringa | N/D | Sì | Specifica il nome del repository in cui eseguire la ricerca. |
| Query | Stringa | N/D | Sì | Specifica la query da eseguire in Humio. Nota:la funzione "head()" non deve far parte di questa stringa. |
| Numero massimo di risultati da restituire | Numero intero | 50 | No | Specifica il numero di risultati da restituire. |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome risultato script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato JSON
[
{
"@timestamp": 1636028056292,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"method": "google",
"sensitive": false,
"timestamp": "2021-11-04T12:14:16.292Z",
"type": "user.signin"
},
"@id": "gZPMhXMMcScGXHwxZ7bRH6Ns_88_264_1636028056"
},
{
"@timestamp": 1636028057934,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"sensitive": false,
"timestamp": "2021-11-04T12:14:17.934Z",
"type": "notifications.user.create"
},
"@id": "lSLLg2gMDW8GwHtpZTGD8GU1_65_108_1636028057"
}
]
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 è stato trovato almeno un risultato (is_success=true): "Restituiti correttamente i risultati per la query "{query}" in Humio." Se non vengono trovati risultati (is_succees=true): "Nessun risultato trovato per la query "{query}" in Humio" L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Errore durante l'esecuzione dell'azione "Esegui ricerca personalizzata". Motivo: {0}''.format(error.Stacktrace) Se viene segnalato il codice di stato 400: "Errore durante l'esecuzione dell'azione "Esegui ricerca personalizzata". Motivo: {0}''.format(response) Se viene segnalato il codice di stato 404: "Errore durante l'esecuzione dell'azione "Esegui ricerca personalizzata". Motivo: {0}''.format(response) |
Generale |
| Bacheca casi | Nome: risultati | Generale |
Connettori
Humio - Events Connector
Descrizione
Estrai da Humio le informazioni sugli eventi nel repository.
Configurare Humio - Events Connector in Google SecOps
Per istruzioni dettagliate su come configurare un connettore in Google SecOps, vedi Configurazione del connettore.
Parametri del connettore
Utilizza i seguenti parametri per configurare il connettore:
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Nome campo prodotto | Stringa | Nome prodotto | Sì | Inserisci il nome del campo di origine per recuperare il nome del campo Prodotto. |
| Nome campo evento | Stringa | event_field | Sì | Inserisci il nome del campo di origine per recuperare il nome del campo evento. |
| Nome campo ambiente | Stringa | "" | No | Descrive il nome del campo in cui è memorizzato il nome dell'ambiente. Se il campo dell'ambiente non viene trovato, l'ambiente è quello predefinito. |
| Pattern regex ambiente | Stringa | .* | No | Un pattern regex da eseguire sul valore trovato nel campo "Nome campo ambiente". Il valore predefinito è .* per acquisire tutto e restituire il valore invariato. Utilizzato per consentire all'utente di manipolare il campo dell'ambiente tramite la logica delle espressioni regolari. Se il pattern regex è null o vuoto oppure il valore dell'ambiente è null, il risultato finale dell'ambiente è l'ambiente predefinito. |
| Timeout dello script (secondi) | Numero intero | 360 | Sì | Limite di timeout per il processo Python che esegue lo script corrente. |
| Root API | Stringa | https://cloud.us.humio.com | Sì | La radice dell'API dell'istanza Humio. |
| Token API | Password | N/D | No | Token API dell'istanza Humio. |
| Nome repository | Stringa | N/D | Sì | Verrà recuperato il nome del repository dai risultati. |
| Query | Stringa | N/D | No | Esegui una query per gli eventi. Nota: le funzioni select() e head() non devono essere aggiunte qui. |
| Nome campo avviso | Stringa | N/D | No | Nome della chiave da utilizzare per il nome avviso. Se non viene fornito alcun valore o un valore non valido, il connettore utilizzerà "Avviso Humio" come fallback. |
| Nome campo gravità | CSV | N/D | Sì | Un elenco separato da virgole di chiavi da utilizzare per la mappatura della gravità. Nota: se la chiave contiene valori "string", devono essere mappati con "Severity Mapping JSON". Se viene fornita una chiave non valida, verrà utilizzato il valore "Default" del parametro "Severity Mapping JSON". |
| JSON di mappatura della gravità | JSON | { "fieldName": { "value_1": 100, "value_2": 75, "value_3": -1 }, "Default": 50 } |
Sì | Oggetto JSON contenente tutte le chiavi con valori stringa mappati. Nota: la chiave "Default" è obbligatoria. |
| Ore massime indietro | Numero intero | 1 | No | Numero di ore da cui recuperare gli eventi. |
| Numero massimo di eventi da recuperare | Numero intero | 20 | No | Numero di eventi da elaborare per un'iterazione del connettore. |
| Utilizzare la lista consentita come lista nera | Casella di controllo | Selezionata | Sì | Se questa opzione è abilitata, la lista consentita verrà utilizzata come lista bloccata. |
| Verifica SSL | Casella di controllo | Selezionata | Sì | Se abilitata, verifica che il certificato SSL per la connessione a Humio sia valido. |
| Indirizzo del server proxy | Stringa | N/D | No | L'indirizzo del server proxy da utilizzare. |
| Nome utente proxy | Stringa | N/D | No | Il nome utente del proxy per l'autenticazione. |
| Password proxy | Password | N/D | No | La password del proxy per l'autenticazione. |
Regole del connettore
Supporto proxy
Il connettore supporta il proxy.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.