Vectra
Versione integrazione: 8.0
Casi d'uso
- Importa i rilevamenti di Vectra per utilizzarli per creare avvisi di Google Security Operations. Successivamente, in Google SecOps, gli avvisi possono essere utilizzati per eseguire orchestrazioni con playbook o analisi manuali.
- Esegui azioni di arricchimento: ottieni dati da Vectra per arricchire i dati negli avvisi di Google SecOps.
Autorizzazione del prodotto
Per ottenere un token API, devi andare alla pagina Profilo e copiarlo.
Configura l'integrazione di Vectra in Google SecOps
Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps, vedi Configurare le integrazioni.
Parametri di integrazione
Utilizza i seguenti parametri per configurare l'integrazione:
Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
---|---|---|---|---|
Nome istanza | Stringa | N/D | No | Nome dell'istanza per cui intendi configurare l'integrazione. |
Descrizione | Stringa | N/D | No | Descrizione dell'istanza. |
Root API | Stringa | https://{address}:{port} | Sì | Root API del server Vectra. |
Token API | Password | N/D | Sì | Token API dell'account Vectra. |
Verifica SSL | Casella di controllo | Selezionata | Sì | Se abilitato, verifica che il certificato SSL per la connessione al server Vectra sia valido. |
Esegui da remoto | Casella di controllo | Deselezionata | No | Seleziona il campo per eseguire l'integrazione configurata da remoto. Una volta selezionata, viene visualizzata l'opzione per selezionare l'utente remoto (agente). |
Azioni
Dindin
Descrizione
Testa la connettività a Vectra con i parametri forniti nella pagina di configurazione dell'integrazione nella scheda Google Security Operations Marketplace.
Run On
L'azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
Nome del risultato dello 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: Stampa "Connessione al server Vectra riuscita con i parametri di connessione forniti". L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Stampa "Impossibile connettersi al server Vectra. Error is {0}".format(exception.stacktrace) |
Generale |
Endpoint Enrich
Descrizione
Recupera le informazioni di sistema dell'endpoint in base al nome host o all'indirizzo IP.
Run On
Questa azione viene eseguita sulle seguenti entità:
- Indirizzo IP
- Nome host
Risultati dell'azione
Arricchimento delle entità
Nome campo di arricchimento | Origine (chiave JSON) | Logica - Quando applicarla |
---|---|---|
Vectra_id | results/id | Quando disponibile in formato JSON |
Vectra_name | risultati/nome | Quando disponibile in formato JSON |
Vectra_state | risultati/stato | Quando disponibile in formato JSON |
Vectra_threat | risultati/minaccia | Quando disponibile in formato JSON |
Vectra_certainty | risultati/certezza | Quando disponibile in formato JSON |
Vectra_ip | results/last_source | Quando disponibile in formato JSON |
Vectra_tags | {results/tags} separati da spazi | Quando disponibile in formato JSON |
Vectra_note | risultati/nota | Quando disponibile in formato JSON |
Vectra_url | results/url | Quando disponibile in formato JSON |
Vectra_last_modified | results/last_modified | Quando disponibile in formato JSON |
Vectra_groups | {results/groups} separati da spazi | Quando disponibile in formato JSON |
Vectra_is_key_asset | results/is_key_asset | Quando disponibile in formato JSON |
Vectra_has_active_traffic | results/has_active_traffic | Quando disponibile in formato JSON |
Vectra_is_targeting_key_asset | results/is_targeting_key_asset | Quando disponibile in formato JSON |
Vectra_privilege_level | results/privilege_level | Quando disponibile in formato JSON |
Vectra_previous_ip | {results/previous_ips} separati da spazi | Quando disponibile in formato JSON |
Risultato script
Nome del risultato dello script | Opzioni di valore | Esempio |
---|---|---|
is_success | Vero/Falso | is_success:False |
Risultato JSON
{
"id": 131,
"name": "DESKTOP-DAIOS7J",
"active_traffic": false,
"has_active_traffic": false,
"t_score": 0,
"threat": 0,
"c_score": 0,
"certainty": 0,
"severity": null,
"last_source": "10.0.2.68",
"ip": "10.0.2.68",
"previous_ips": [],
"last_detection_timestamp": "2019-10-08T17:13:57Z",
"key_asset": false,
"is_key_asset": false,
"state": "inactive",
"targets_key_asset": false,
"is_targeting_key_asset": false,
"detection_set": [],
"host_artifact_set": [
{
"type": "netbios",
"value": "DESKTOP-DAIOS7J",
"source": null,
"siem": false
}
],
"sensor": "YLq09aHU",
"sensor_name": "Vectra X",
"tags": [],
"note": null,
"note_modified_by": null,
"note_modified_timestamp": null,
"url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
"host_url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
"last_modified": "2020-02-12T13:41:51Z",
"assigned_to": null,
"assigned_date": null,
"groups": [],
"has_custom_model": false,
"privilege_level": null,
"privilege_category": null,
"probable_owner": null,
"detection_profile": null,
"host_session_luids": [],
"host_luid": "e0M-jygN"
}
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 almeno una delle entità fornite è stata arricchita (is_success = true): Stampa "Successfully enriched the following endpoints from Vectra: \n {0}".format(entity.identifier list) Se l'azione ha trovato più corrispondenze in Vectra per alcune entità Google SecOps, è stata presa la prima corrispondenza per arricchire l'endpoint: Stampa "Sono state trovate più corrispondenze in Vectra. Viene utilizzata la prima corrispondenza per le seguenti entità:/n {0}".format(entity.identifiers list) Se non riesco ad arricchire entità specifiche(is_success = true): Stampa "Nessuna entità è stata arricchita". L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Stampa "Errore durante l'esecuzione dell'azione "Arricchisci endpoint". Motivo: {0}''.format(error.Stacktrace) |
Generale |
Aggiungi tag
Descrizione
Aggiungi tag all'endpoint o al rilevamento in Vectra.
Parametri
Nome visualizzato del parametro | Tipo | Valore predefinito | È Mandatory | Descrizione |
---|---|---|---|---|
Tipo di elemento | Elenco a discesa | Endpoint Valori possibili: Rilevamento |
Sì | Seleziona il tipo di elemento a cui vuoi aggiungere i tag. |
ID elemento | Stringa | N/D | Sì | Specifica l'ID del rilevamento/dell'endpoint. |
Tag | CSV | N/D | Sì | Specifica i tag che vuoi aggiungere al rilevamento/endpoint. I tag devono essere separati da una virgola, ad esempio: tag1, tag2. |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
Nome del risultato dello 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 viene rilevato un rilevamento/endpoint e i tag sono stati aggiornati correttamente (is_success = true): Stampa "Successfully added tags {0} to {1} with ID {2}.format(tags, Item Type, Item ID) Se è stata rilevata la rilevazione/l'endpoint, ma i tag non sono stati aggiunti (is_success=False): Stampa "L'azione non è riuscita ad aggiungere i tag {0} a {1} con ID {2}. Motivo: {3}. format(tags, Item Type, Item ID, tags parameter from response)". Se il rilevamento/l'endpoint non è stato trovato (is_success=False): Stampa "{0} con ID {1} non è stato trovato.format(Item Type, Item ID)." II is_success=false senza una situazione specifica e non è un errore critico: Stampa "Action non è riuscita ad aggiungere tag a {0} con ID {1}.format(Item Type, Item ID)": L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Stampa "Errore durante l'esecuzione dell'azione "Aggiungi tag". Motivo: {0}''.format(error.Stacktrace) |
Generale |
Rimuovere i tag
Descrizione
Rimuovi i tag dall'endpoint o dal rilevamento in Vectra.
Parametri
Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
---|---|---|---|---|
Tipo di elemento | Elenco a discesa | Endpoint Valori possibili: Rilevamento |
Sì | Seleziona il tipo di elemento da cui vuoi rimuovere i tag. |
ID elemento | Stringa | N/D | Sì | Specifica l'ID del rilevamento/dell'endpoint. |
Tag | CSV | N/D | Sì | Specifica i tag da rimuovere dal rilevamento/endpoint. I tag devono essere separati da una virgola, ad esempio: tag1, tag2. |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
Nome del risultato dello 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 viene rilevato un rilevamento/endpoint e i tag sono stati aggiornati correttamente (is_success = true): Stampa "Successfully removed tags {0} from {1} with ID {2}.format(tags, Item Type, Item ID) Se il rilevamento/l'endpoint non è stato trovato (is_success=False): Stampa "{0} con ID {1} non è stato trovato.".format(Tipo di elemento, ID elemento)." Se è stato trovato il rilevamento/l'endpoint, ma non il tag (is_success=False): Stampa "I tag {0} non esistono in {1} con ID {2}".format(elenco dei tag non trovati separati da virgola, Tipo di elemento, ID elemento)." Se is_success=false senza una situazione specifica e non si tratta di un errore critico: Stampa "Action wasn't able to remove tags from {0} with ID {1}.format(Item Type, Item ID)": L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Stampa "Errore durante l'esecuzione dell'azione "Rimuovi tag". Motivo: {0}''.format(error.Stacktrace) |
Generale |
Aggiorna nota
Descrizione
Aggiorna la nota per l'endpoint o il rilevamento.
Parametri
Nome visualizzato del parametro | Tipo | Valore predefinito | È Mandatory | Descrizione |
---|---|---|---|---|
Tipo di elemento | Elenco a discesa | Endpoint Valori possibili: Rilevamento |
Sì | Seleziona il tipo di elemento su cui vuoi aggiornare una nota. |
ID elemento | Stringa | N/D | Sì | Specifica l'ID del rilevamento/dell'endpoint. |
Nota | Stringa | N/D | Sì | Specifica la nota che vuoi visualizzare nel rilevamento/endpoint. |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
Nome del risultato dello 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 viene rilevato un rilevamento/endpoint e la nota è stata aggiornata correttamente (is_success = true): Stampa "Successfully updated note on {1} with ID {2}.format(Item Type, Item ID) Se il rilevamento/l'endpoint non è stato trovato (is_success=False): Stampa "{0} con ID {1} non è stato trovato.".format(Tipo di elemento, ID elemento)." Se is_success=false senza una situazione specifica e non si tratta di un errore critico: Stampa "Action wasn't able to update note on {0} with ID {1}.format(Item Type, Item ID)": L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Stampa "Errore durante l'esecuzione dell'azione "Aggiorna nota". Motivo: {0}''.format(error.Stacktrace) |
Generale |
Aggiorna stato rilevamento
Descrizione
Aggiorna lo stato del rilevamento.
Parametri
Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
---|---|---|---|---|
ID rilevamento | Numero intero | N/D | Sì | Specifica l'ID rilevamento di cui vuoi aggiornare lo stato. |
Stato | DDL | Fisso Valori possibili: Fisso Attivo |
Sì | Specifica lo stato da impostare sul rilevamento. |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
Nome del risultato dello 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 viene rilevato un problema e lo stato è stato aggiornato correttamente (is_success = true): Stampa "Successfully updated status to '{0}' on detection with ID {1}.format(Status, Detection ID)
Se il rilevamento non è stato trovato (is_success=False): Stampa "Rilevamento con ID {1} non trovato.".format(ID rilevamento)." Se is_success=false senza una situazione specifica e non si tratta di un errore critico: Stampa "Action wasn't able to update status on detection with ID {1}.format(detection ID)": L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Stampa "Error executing action "Update Detection Status". Motivo: {0}''.format(error.Stacktrace) |
Generale |
Ottieni dettagli regola di triage
Descrizione
Ottieni informazioni dettagliate sulle regole di triage.
Parametri
Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
---|---|---|---|---|
ID regole di triage | Numero intero | N/D | Sì | Specifica un elenco separato da virgole di ID regole di triage. Esempio: 28,29 |
Crea approfondimenti | Casella di controllo | Vero | Sì | Se attivata, l'azione creerà un approfondimento separato per ogni regola di triage elaborata. |
Run On
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Insight
Titolo dell'approfondimento | Descrizione dell'approfondimento |
---|---|
"Triage Rule {0}".format(triage_rule) | "Detection Category: {0}\n Triage Category: {1}\n Detection: {2} \n Description: {3}".format(detection_category, triage_category, detection, description) |
Risultato script
Nome del risultato dello script | Opzioni di valore | Esempio |
---|---|---|
is_success | Vero/Falso | is_success:False |
Risultato JSON
{
"id": 28,
"url": "https://api.demo.vectranetworks.com/api/v2.1/rules/28",
"description": "whatever",
"enabled": true,
"created_timestamp": "2020-10-01T17:21:19Z",
"last_timestamp": "2020-10-01T17:21:19Z",
"is_whitelist": false,
"priority": 1,
"active_detections": 1,
"total_detections": 1,
"template": false,
"additional_conditions": {
"OR": [
{
"AND": [
{
"ANY_OF": {
"field": "remote1_ip",
"values": [
{
"url": null,
"value": "35.166.75.118",
"label": "35.166.75.118"
}
],
"groups": [],
"label": "C&C Server IP"
}
}
]
}
]
},
"source_conditions": {
"OR": [
{
"AND": [
{
"ANY_OF": {
"field": "host",
"values": [
{
"url": "https://api.demo.vectranetworks.com/api/v2.1/hosts/142",
"value": 142,
"label": "IP-10.10.100.10"
}
],
"groups": [],
"label": "Host"
}
}
]
}
]
},
"detection_category": "COMMAND & CONTROL",
"triage_category": "triage rule 1",
"detection": "Hidden HTTPS Tunnel"
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 almeno uno degli ID regola forniti è stato arricchito (is_success = true): Stampa "Successfully retrieved information about the following triage rules from Vectra: \n {0}".format(processed rule ids) Se non riesci ad arricchire entità specifiche(is_success = true): Stampa "Action was not able to retrieve information about the following triage rules\n: {0}".format(not processed rule ids) Se l'arricchimento non va a buon fine per tutte le entità (is_success = false): Stampa "Non sono state recuperate informazioni sulle regole di triage". L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Stampa "Error executing action "Get Triage Rule Details". Motivo: {0}''.format(error.Stacktrace) |
Generale |
Tabella Bacheca casi | Nome tabella:Dettagli delle regole di triage Colonne della tabella: ID (mappato come id) Abilitato (mappato come abilitato) Categoria di rilevamento (mappata come detection_category) Categoria di valutazione (mappata come triage_category) Rilevamento (mappato come rilevamento) Whitelist (mappata come is_whitelist) Priorità (mappata come priorità) Data di creazione (mappata come created_timestamp) |
Generale |
Connettori
Vectra - Detections Connector
Configura Vectra - Detections 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 | eventType | 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 dell'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 | 180 | Sì | Limite di timeout per il processo Python che esegue lo script corrente. |
Root API | Stringa | https://x.x.x.x:x:x | Sì | Root API del server Vectra. |
Token API | Password | N/D | Sì | Token API dell'account Vectra. |
Punteggio di minaccia più basso da recuperare | Numero intero | 50 | Sì | Il punteggio di minaccia più basso che verrà utilizzato per recuperare i rilevamenti. Min: 0 Max: 100 |
Punteggio di certezza più basso da recuperare | Numero intero | 0 | No | Il punteggio di certezza più basso che verrà utilizzato per recuperare i rilevamenti. Min: 0 Max: 100 |
Filtro per categoria | Valori separati da virgola | Command and Control,Botnet ,Reconnaissance,Lateral Movement,Exfiltration,Info | Specifica le categorie di rilevamenti da importare in Google SecOps. Valori possibili: Comando e controllo Botnet Ricognizione Movimento laterale Esfiltrazione Informazioni |
|
Recupero ore massime a ritroso | Numero intero | 1 | No | Quantità di ore da cui recuperare le minacce. |
Numero massimo di rilevamenti da recuperare | Numero intero | 25 | No | Numero di rilevamenti da elaborare per un'iterazione del connettore. Il limite è 5000. Si tratta di una limitazione di Vectra. |
Utilizzare la lista consentita come lista nera | Casella di controllo | Deselezionata | Sì | Se questa opzione è abilitata, la lista consentita verrà utilizzata come lista bloccata. |
Verifica SSL | Casella di controllo | Selezionata | Sì | Se abilitato, verifica che il certificato SSL per la connessione al server Vectra 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 con cui eseguire l'autenticazione. |
Password proxy | Password | N/D | No | La password del proxy per l'autenticazione. |
Regole del connettore
Supporto del proxy
Il connettore supporta il proxy.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.