Questa pagina mostra esempi di filtri che puoi utilizzare con la funzionalità di notifiche dell'API Security Command Center e i messaggi che vengono esportati in Pub/Sub o BigQuery. Puoi filtrare le notifiche in base a qualsiasi campo di risultati, inclusi:
parent
state
resource_name
category
source_properties
(solo API v1)security_marks
Puoi anche utilizzare operatori standard all'interno della stringa del filtro:
AND
per includere i campi che contengono tutti i valori di un insiemeOR
per includere i campi che contengono uno di un insieme di valori-
per escludere i campi che contengono un valore specificoParentesi per raggruppare un insieme di valori, ad esempio:
(category = \"BUCKET_LOGGING_DISABLED\" OR category = \"CLUSTER_LOGGING_DISABLED\") AND state = \"ACTIVE\"
Configurazione di un filtro delle origini
Ogni risultato di Security Command Center include l'ID origine del fornitore di origini di sicurezza. Ad esempio, un risultato di Security Health Analytics include un ID origine specifico di Security Health Analytics. L'ID origine viene utilizzato in un filtro NotificationConfig
per specificare i risultati del provider che vuoi inviare all'argomento Pub/Sub delle notifiche o al set di dati BigQuery.
Passaggio 1: ottieni l'ID origine
Utilizza la console Google Cloud o Google Cloud CLI per ottenere l'ID di origine di un fornitore.
Console
- Vai alla pagina Risultati di Security Command Center nella console Google Cloud.
Vai alla pagina Risultati - Seleziona l'organizzazione per cui vuoi creare un filtro per le notifiche. Viene visualizzata la pagina Risultati.
- Nel riquadro Filtri rapidi, scorri verso il basso fino alla sezione Nome visualizzato dell'origine e seleziona il nome del fornitore che vuoi utilizzare per filtrare i risultati delle notifiche.
- Nella colonna Categoria del riquadro Risultati della query sui risultati, fai clic sul nome di uno dei risultati per visualizzare il riquadro dei dettagli del risultato.
- Nel riquadro dei dettagli dei risultati, fai clic sulla scheda JSON. Viene visualizzato il JSON completo per il rilevamento.
Nel codice JSON, copia il valore dell'attributo
parent
. Ad esempio:"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID"
Gli ID sono rappresentati da quanto segue:
ORGANIZATION_ID
: l'ID dell'organizzazione del provider di origine principale.SOURCE_ID
: l'ID del provider dell'origine principale.
gcloud
Per recuperare un ID origine, esegui il seguente comando:
gcloud scc sources describe ORGANIZATION_ID --source-display-name="SOURCE_NAME"
Sostituisci quanto segue:
ORGANIZATION_ID
: l'ID della tua organizzazione.SOURCE_NAME
: il nome del servizio per cui vuoi l'ID origine. Utilizza il nome di qualsiasi fornitore di risultati, inclusi i servizi integrati di Security Command Center, Security Health Analytics, Web Security Scanner, Event Threat Detection e Container Threat Detection.
L'output del comando gcloud CLI è simile al seguente e include l'ID origine:
{
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"displayName": "example-source",
"description": "A source that creates findings."
}
Successivamente, utilizza l'ID organizzazione e l'ID origine per creare un filtro per le notifiche.
Passaggio 2: crea un filtro
Per creare un filtro delle notifiche, crea un nuovo
NotificationConfig
.
Puoi aggiungere un filtro al file NotificationConfig
per includere o escludere
una sorgente specifica:
Filtra i risultati per inviare notifiche solo dall'origine specificata:
state = \"ACTIVE\" AND parent = \"organizations/$ORGANIZATION_ID/sources/$SOURCE_ID\"
Filtra i risultati per inviare notifiche da tutte le origini tranne da quella specificata:
state = \"ACTIVE\" AND -parent = \"organizations/$ORGANIZATION_ID/sources/$SOURCE_ID\"
Per altri esempi di filtri che puoi utilizzare, consulta Elenco dei risultati di sicurezza utilizzando l'API Security Command Center.
Filtrare i risultati per categoria e stato quando si utilizzano gli argomenti Pub/Sub
Le sezioni seguenti forniscono esempi di come creare un filtro per origini e tipi di risultati specifici, nonché il messaggio di notifica inviato all'argomento Pub/Sub.
Se utilizzi set di dati BigQuery anziché argomenti Pub/Sub, i risultati e i campi correlati sono descritti in Esportare i risultati in BigQuery per l'analisi.
Security Health Analytics
Questo esempio di Security Health Analytics utilizza i seguenti filtri:
category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"
Per saperne di più sui tipi di risultati creati da Security Health Analytics, consulta la pagina Risultati di Security Health Analytics.
Il messaggio Pub/Sub per la notifica del risultato filtrato di Security Health Analytics è simile al seguente:
{
"notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/security-health-analytics-active-findings",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"resourceName": "//compute.googleapis.com/projects/PROJECT_ID/global/firewalls/,
"state": "ACTIVE",
"category": "OPEN_FIREWALL",
"externalUri": "https://console.cloud.google.com/networking/firewalls/details/default-allow-icmp?project\u003PROJECT_ID",
"sourceProperties": {
"ReactivationCount": 0.0,
"Allowed": "[{\"ipProtocol\":\"icmp\"}]",
"WhitelistInstructions": "Add the security mark \"allow_open_firewall_rule\" to the asset with a value of \"true\" to prevent this finding from being activated again.",
"Recommendation": "Restrict the firewall rules at: https://console.cloud.google.com/networking/firewalls/details/default-allow-icmp?project\u003PROJECT_ID",
"AllowedIpRange": "All",
"ActivationTrigger": "Allows all IP addresses",
"SourceRange": "[\"0.0.0.0/0\"]",
"ScanRunId": "2019-04-06T08:50:58.832-07:00",
"SeverityLevel": "High",
"ProjectId": "PROJECT_ID",
"AssetCreationTime": "2019-03-28t17:58:54.409-07:00",
"ScannerName": "FIREWALL_SCANNER",
"Explanation": "Firewall rules that allow connections from all IP addresses or on all ports may expose resources to attackers."
},
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks",
"marks": {
"sccquery152cd5aa66ea4bc8a672d8186a125580": "true",
"sccquerya3cf2270123f4e91b84a3e613d2cac67": "true"
}
},
"eventTime": "2019-09-22T21:26:57.189Z",
"createTime": "2019-03-29T15:51:26.435Z"
}
}
Rilevamento di anomalie
Questo esempio di notifica di rilevamento delle anomalie utilizza i seguenti filtri:
category = \"resource_involved_in_coin_mining\" AND state = \"ACTIVE\"
Per ulteriori informazioni sui tipi di risultati creati dal Rilevamento di anomalie, consulta la pagina Visualizzare vulnerabilità e minacce.
Il messaggio Pub/Sub per la notifica relativa al risultato filtrato del Rilevamento di anomalie è simile al seguente:
{
"notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/cloud-anomaly-detection-active-findings",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"state": "ACTIVE",
"category": "resource_involved_in_coin_mining",
"sourceProperties": {
"vm_ips": "35.231.191.191",
"end_time_usec": "1569003180000000",
"abuse_target_ips": "54.38.176.231",
"end_datetime_UTC": "2019-09-20 18:13:00 UTC",
"urls": "swap2.luckypool.io, bitcash.luckypool.io",
"vm_host_and_zone_names": "ubuntu-1804-tp100-gminer:us-east1-b",
"finding_type": "Abuse originating from a resource in your organization.",
"start_time_usec": "1569002700000000",
"action_taken": "Notification sent",
"summary_message": "We have recently detected activity on your Google Cloud Platform/APIs project that violates our Terms of Service or Acceptable Use Policy.",
"start_datetime_UTC": "2019-09-20 18:05:00 UTC"
},
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks",
"marks": {
"teste123": "true",
"sccquery94c23b35ea0b4f8388268415a0dc6c1b": "true"
}
},
"eventTime": "2019-09-20T18:59:00Z",
"createTime": "2019-05-16T14:16:35.674Z"
}
}
Event Threat Detection
Questo esempio di Event Threat Detection utilizza i seguenti filtri:
category = \"Persistence: Iam Anomalous Grant\" AND state = \"ACTIVE\"
Per ulteriori informazioni sui tipi di risultati creati da Event Threat Detection, consulta la pagina Visualizzare vulnerabilità e minacce.
Il messaggio Pub/Sub per la notifica della ricerca filtrata di Event Threat Detection è simile al seguente:
{
"notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/event-threat-detection-active-findings",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"resourceName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
"state": "ACTIVE",
"category": "Persistence: IAM Anomalous Grant",
"sourceProperties": {
"sourceId": {
"organizationNumber": "ORGANIZATION_ID",
"customerOrganizationNumber": "ORGANIZATION_ID"
},
"detectionCategory": {
"technique": "persistence",
"indicator": "audit_log",
"ruleName": "iam_anomalous_grant",
"subRuleName": "external_member_added_to_policy"
},
"detectionPriority": "HIGH",
"evidence": [{
"sourceLogId": {
"timestamp": {
"seconds": "1601066317",
"nanos": 4.63E8
},
"insertId": "INSERT_ID"
}
}],
"properties": {
"sensitiveRoleGrant": {
"principalEmail": "PRINCIPAL_EMAIL@gmail.com",
"bindingDeltas": [{
"action": "ADD",
"role": "roles/owner",
"member": "user:USER_EMAIL@gmail.com"
}, {
"action": "REMOVE",
"role": "roles/viewer",
"member": "user:USER_EMAIL@gmail.com"
}],
"members": ["USER_EMAIL@gmail.com"]
}
},
"findingId": "FINDING_ID"
},
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2020-09-25T20:38:39.441Z",
"createTime": "2020-09-25T20:38:40.667Z"
}
}
Sensitive Data Protection
Questo esempio di Sensitive Data Protection utilizza i seguenti filtri:
category = \"CREDIT_CARD_NUMBER\" AND state = \"ACTIVE\"
Per ulteriori informazioni sui tipi di risultati creati da Event Threat Detection, consulta la pagina Visualizzare vulnerabilità e minacce.
Il messaggio Pub/Sub per la notifica del risultato filtrato della protezione dei dati sensibili è simile al seguente:
{
"notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/dlp-data-discovery-active-findings",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"state": "ACTIVE",
"category": "CREDIT_CARD_NUMBER",
"externalUri": "https://console.cloud.google.com/dlp/projects/PROJECT_ID/dlpJobs/i-7536622736814356939;source\u003d5",
"sourceProperties": {
"COUNT": 2.0,
"JOB_NAME": "projects/PROJECT_ID/dlpJobs/i-7536622736814356939",
"FULL_SCAN": false
},
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks",
"marks": {
"priority": "p1",
"sccquerya3cf2270123f4e91b84a3e613d2cac67": "true"
}
},
"eventTime": "2019-09-16T23:21:19.650Z",
"createTime": "2019-04-22T23:18:17.731Z"
}
}
Passaggi successivi
- Scopri di più su come accedere a Security Command Center utilizzando una libreria client.
- Scopri come elencare i risultati di sicurezza utilizzando l'API Security Command Center.