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 tramite 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 l'importazione degli avvisi
Per configurare un webhook per l'importazione degli avvisi:
- 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 codice JSON non elaborato e tu utilizzi l'interfaccia utente 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 Unix epoch in millisecondi richiesto. Per ulteriori informazioni, consulta Utilizzare il generatore di espressioni.
- Fai clic su Esegui nel generatore di espressioni per testare la mappatura e visualizzare il risultato. Un segno di spunta verde indica una mappatura riuscita.
- Il payload JSON del webhook deve contenere i campi obbligatori per la creazione di richieste e l'importazione di 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 sui campi di destinazione della mappatura
Quando mappi i dati JSON, li mappi a 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 delle 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 SOAR di Google Security Operations 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 della richiesta, spesso tratto dal tipo o dal riepilogo dell'avviso di origine. | "Suspicious Login Attempt" |
DeviceVendor |
Stringa | Testo | Sì | Il fornitore del dispositivo o del prodotto che ha generato l'avviso. Può anche essere mappato 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 del primo evento 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 String | 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. Può anche essere mappato 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 nel caso. 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 dalla sorgente. Consulta Invio di 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 o dal riepilogo dell'avviso della fonte. | "Suspicious Login Attempt" |
Invio di dati evento 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. Poi mappi 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 chiave 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 dall'origine; li converti nella UI di mappatura dei dati. - Campi obbligatori:assicurati che tutti i campi contrassegnati con "Sì" nella colonna Obbligatorio siano presenti nel payload JSON.
EventsListarray: 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 è fornito. - Test:utilizza le schede Carica esempio JSON e Test nella pagina Configurazione webhook in SOAR per convalidare la struttura e i mapping del payload.
Testa 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 del 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 inserire 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 flusso di lavoro.
- 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 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.