Configurare un webhook SOAR
I webhook sono una soluzione leggera per l'importazione degli avvisi dalla tua organizzazione nella piattaforma SOAR di Google Security Operations.
Gli avvisi inseriti tramite webhook vengono visualizzati nella piattaforma con le stesse informazioni degli avvisi inseriti utilizzando i connettori.
Google consiglia di utilizzare un connettore o un webhook della stessa origine, ma non entrambi, per evitare di creare casi duplicati.
I webhook sono ideali per gli scenari che richiedono una logica di mappatura di base, mentre i connettori sono più adatti per la mappatura avanzata e flessibile.
Configura un webhook per importare gli avvisi
Per configurare un webhook per l'importazione degli avvisi, segui questi passaggi:
- Vai a Impostazioni SOAR > Inserimento > Webhook.
- Fai clic su Aggiungi Aggiungi webhook in entrata.
- Inserisci un nome per il nuovo webhook e scegli un ambiente.
- Fai clic su Salva. Dopo il salvataggio, il nuovo webhook viene visualizzato nella pagina principale.
- Copia l'URL webhook e annotalo per utilizzarlo in un secondo momento. Devi inserirlo nella piattaforma di origine come destinazione del webhook.
Dati mappa
Dopo aver caricato un campione JSON, puoi utilizzare la sezione Mappatura dei dati per mappare i campi del JSON di origine ai campi appropriati in Google Security Operations SOAR. Il sistema elabora il JSON non elaborato e tu utilizzi l'interfaccia utente (UI) per stabilire le mappature.
- Nella sezione Mappatura dei dati, fai clic su Carica esempio JSON. Fornisci un campione rappresentativo del payload JSON inviato dal webhook.
- Mappa i campi di Google Security Operations con i campi corrispondenti nell'esempio JSON. Ad esempio, per mappare il campo obbligatorio
StartTime, puoi selezionare un campo timestamp dal file JSON, ad esempioDetections.Last.Update. - Utilizza il generatore di espressioni per perfezionare i dati. Ad esempio, puoi utilizzare la funzione Formato data per convertire il timestamp nel formato millisecondi dell'epoca di Unix richiesto. Per saperne di più, consulta Utilizza Expression Builder.
- Fai clic su Esegui nel generatore di espressioni per testare la mappatura e visualizzare il risultato. Un segno di spunta verde indica che la mappatura è riuscita.
- Il payload JSON del webhook deve contenere i campi obbligatori per la creazione della richiesta e l'importazione degli avvisi. Per maggiori dettagli, consulta Informazioni sullo schema JSON del webhook.
- Dopo aver mappato tutti i campi necessari, fai clic su Salva e poi attiva il webhook.
Informazioni sulla mappatura dei campi di destinazione
Quando mappi i dati JSON, li mappi in campi standardizzati all'interno di Google Security Operations SOAR. Questi campi sono organizzati in categorie per aiutarti a normalizzare e strutturare i dati in entrata. I campi disponibili nella UI di mappatura dei dati si basano sull'ontologia del sistema interno. Le categorie principali includono:
- Campi entità:utilizza questi campi per i punti dati da cui il sistema può estrarre e modellare automaticamente le entità, come indirizzi IP, nomi di dominio, hash di file e nomi utente. La mappatura di questi campi arricchisce l'avviso e migliora la correlazione e la rotazione.
- Campi evento generici:utilizzali per i metadati generali degli eventi, come timestamp (
StartTime,EndTime), descrizioni o messaggi degli eventi e altri attributi comuni degli eventi. - Metadati tecnici e del dispositivo:utilizza questi campi per i dettagli tecnici sull'origine dell'evento, ad esempio il fornitore e il prodotto del dispositivo di reporting (
DeviceVendor,DeviceProduct), la gravità dell'evento e altri attributi tecnici simili.
Esplora i campi disponibili nello strumento di mappatura dei dati nell'interfaccia utente di Google Security Operations SOAR per trovare il campo di destinazione più appropriato per ogni dato nel payload JSON.
Informazioni sullo schema JSON del webhook
Per assicurarti che gli avvisi vengano inseriti ed elaborati correttamente da Google Security Operations SOAR, il payload JSON del webhook deve seguire una struttura specifica. Le tabelle seguenti descrivono in dettaglio i campi principali previsti nel payload JSON.
Campi principali di casi e avvisi
Questi campi rappresentano le proprietà di primo livello dell'avviso o del caso che viene creato.
| Campo | Tipo | Formato consigliato | Obbligatorio | Descrizione | Esempio |
|---|---|---|---|---|---|
TicketId |
Stringa | UUID | Sì |
|
"f7167971-f641-432f-a06f-ebca3caaa9dd" |
SourceSystemName |
Stringa | Testo | Sì | Il nome del sistema esterno (ad esempio SIEM o un sistema di rilevamento e risposta degli endpoint (EDR)) che ha inviato gli avvisi originali a SOAR. | "Splunk" |
Name |
Stringa | Testo | Sì | Il titolo o il nome del caso, spesso tratto dal tipo di avviso o dal riepilogo della fonte. | "Suspicious Login Attempt" |
DeviceVendor |
Stringa | Testo | Sì | Il fornitore del dispositivo o del prodotto che ha generato l'avviso. Questi dati possono essere mappati anche dai dati sugli eventi. | "Palo Alto Networks" |
RuleGenerator |
Stringa | Testo | Sì | Il nome della regola nel sistema di origine (ad esempio, una regola di correlazione SIEM) che ha generato l'avviso. | "Brute Force Attempt Detected" |
StartTime |
Stringa o numero intero | Millisecondi dell'epoca (UTC) o stringa ISO8601 (ad esempio, "2026-04-09T14:30:00Z") | Sì | L'ora di inizio dell'evento più recente nella richiesta. Se fornisci un numero intero, deve essere espresso in millisecondi dell'epoca di Unix. | 1670000000000 o "2026-04-09T14:30:00Z" |
Environment |
Stringa | Testo | No | Il nome dell'ambiente SOAR a cui appartiene questo avviso. Deve corrispondere a un ambiente definito nelle impostazioni SOAR. | "Default Environment" |
Description |
Stringa | Testo | No | Una breve descrizione della richiesta o dell'avviso. | "Failed login followed by success from new IP" |
DisplayId |
Stringa | UUID o stringa | No |
|
"f7167971-f641-432f-a06f-ebca3caaa9dd" |
Reason |
Stringa | Testo | No | Il motivo per cui è stato creato o attivato l'avviso. | "Unusual file access patterns detected." |
DeviceProduct |
Stringa | Testo | No | Il nome del prodotto del fornitore che ha generato l'avviso. Questi dati possono essere mappati anche dai dati sugli eventi. | "Cortex XDR" |
EndTime |
Stringa o numero intero | Millisecondi dell'epoca (UTC) o stringa ISO8601 (ad esempio, "2026-04-09T14:30:00Z") | No | L'ora di fine dell'ultimo evento della richiesta. Se fornisci un numero intero, deve essere espresso in millisecondi dell'epoca di Unix. | 1670000060000 o "2026-04-09T14:31:00Z" |
Priority |
Numero intero | 0-100 | No | Il livello di priorità della richiesta. Se non viene fornito, il valore predefinito è 40. (0-19: informativo, 20-39: basso, 40-59: medio, 60-79: alto, 80-100: critico) | 80 |
EventsList |
Array | Array di oggetti JSON | No | Un array contenente uno o più oggetti evento non elaborati ricevuti dall'origine. Consulta Invio dei dati sugli eventi non elaborati. | [ { ... }, { ... } ] |
EventProduct |
Stringa | Testo | No | Il prodotto che ha creato gli eventi. | "Cortex XDR" |
EventName |
Stringa | Testo | No | Il titolo o il nome dell'evento, spesso tratto dal tipo di avviso o dal riepilogo dell'origine. | "Suspicious Login Attempt" |
Invio di dati sugli eventi non elaborati: l'array EventsList
Devi inviare il payload JSON non elaborato che rappresenta gli eventi così come provengono dal sistema di origine all'interno dell'array EventsList. Questo oggetto è un elemento dell'array EventsList. Dopodiché, mappa i campi come source_ip e timestamp utilizzando l'interfaccia utente di mappatura dei dati.
Esempio di oggetto evento nell'array EventsList
{
"event_id": "9a8b7c-1234-5678",
"timestamp": "2026-07-01T07:29:50Z",
"signature": "UserLoginFailed",
"severity": "Medium",
"user_name": "administrator",
"source_ip": "192.168.1.50",
"destination_ip": "10.0.0.10",
"domain": "CORP",
"status": "Failure",
"Reason": "Wrong Password",
"EventProduct": "Acme Firewall",
"EventName": "Failed Login Attempt"
}
Considerazioni principali e best practice
- Timestamp:utilizza i millisecondi dell'epoca Unix per tutti i campi
StartTimeeEndTimedi primo livello (come numero intero). All'interno dei dati sugli eventi, fornisci i timestamp così come sono nell'origine. Li convertirai nella UI di mappatura dei dati. - Campi obbligatori:assicurati che tutti i campi contrassegnati con "Sì" nella colonna Obbligatorio siano presenti nel payload JSON.
- Array
EventsList: questo array è fondamentale. Anche se l'avviso rappresenta un singolo evento, deve essere racchiuso nell'arrayEventsList. - UI di mappatura dei dati:utilizza lo strumento di mappatura dei dati nella UI di configurazione webhook per mappare i campi del JSON non elaborato ai campi SOAR di Google Security Operations appropriati.
- Unicità:
DisplayIddeve essere univoco per ogni nuovo avviso per evitare la deduplicazione.TicketIddeve essere univoco seDisplayIdnon viene fornito. - Stato della risposta: una risposta
HTTP 200 OKdall'endpoint di importazione dei webhook conferma che il payload è stato ricevuto, ma non garantisce che verrà creato un avviso. La creazione di avvisi può non riuscire durante l'elaborazione downstream a causa della struttura del payload o delle regole di filtro. Puoi monitorare lo stato dell'elaborazione a valle utilizzando la funzionalità Raccogli log della piattaforma SOAR. - Test:utilizza le schede Carica esempio JSON e Test nella pagina Configurazione webhook in SOAR per convalidare la struttura e i mapping del payload.
Testare il webhook
Nella scheda Test, puoi testare la funzionalità end-to-end del webhook e visualizzare descrizioni dettagliate degli errori.
- Nella scheda Test, copia l'URL webhook.
- Carica un file JSON con i dati pertinenti.
- Fai clic su Esegui. I risultati vengono visualizzati insieme all'output.
Configurare la piattaforma CrowdStrike
Questo caso d'uso ti guida attraverso i passaggi in CrowdStrike per consentire al webhook di iniziare a importare gli avvisi nella piattaforma Google SecOps.
- Nella dashboard di CrowdStrike Falcon, vai allo store Falcon e installa il componente aggiuntivo Webhook.
- Configura il webhook con il nome e l'URL webhook che hai copiato dalla piattaforma Google SecOps, quindi fai clic su Salva.
- Vai alla sezione Flussi di lavoro.
- Fai clic su Crea un workflow.
- Seleziona un trigger, ad esempio Nuovo rilevamento, e fai clic su Avanti.
- Seleziona Aggiungi azione.
- Nella sezione Personalizza azione, seleziona Notifiche dal menu Tipo di azione e seleziona Chiama webhook dal menu Azione.
- Seleziona il nome che hai aggiunto nel passaggio iniziale e tutti i campi necessari, poi fai clic su Fine.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.