Halaman ini menampilkan contoh filter yang dapat Anda gunakan dengan fitur notifikasi Security Command Center API, dan pesan yang diekspor ke Pub/Sub atau BigQuery. Anda dapat memfilter notifikasi menurut kolom temuan, termasuk:
parentstateresource_namecategorysource_properties(khusus API v1)security_marks
Anda juga dapat menggunakan operator standar sebagai bagian dari string filter:
ANDuntuk menyertakan kolom yang berisi semua kumpulan nilaiORuntuk menyertakan kolom yang berisi salah satu dari sekumpulan nilai-untuk mengecualikan kolom yang berisi nilai tertentuTanda kurung untuk mengelompokkan sekumpulan nilai, misalnya:
(category = \"BUCKET_LOGGING_DISABLED\" OR category = \"CLUSTER_LOGGING_DISABLED\") AND state = \"ACTIVE\"
Menyiapkan filter sumber
Setiap temuan Security Command Center mencakup ID sumber penyedia sumber keamanan. Misalnya, temuan dari Security Health Analytics mencakup ID sumber yang
unik untuk Security Health Analytics. ID sumber digunakan dalam filter NotificationConfig
untuk menentukan temuan penyedia yang ingin Anda kirim ke topik Pub/Sub notifikasi
atau set data BigQuery.
Langkah 1: Mendapatkan ID sumber
Gunakan konsol Google Cloud atau Google Cloud CLI untuk mendapatkan ID sumber penyedia.
Konsol
- Buka halaman Temuan Security Command Center di konsol Google Cloud .
Buka halaman Temuan - Pilih organisasi yang ingin Anda buatkan filter notifikasinya. Halaman Findings akan terbuka.
- Di panel Quick filters, buka bagian Nama tampilan sumber, lalu pilih nama penyedia yang ingin Anda gunakan untuk memfilter hasil notifikasi.
- Di kolom Category pada panel Findings query results, tampilkan panel detail temuan dengan mengklik nama salah satu temuan.
- Di panel detail temuan, klik tab JSON. JSON lengkap untuk temuan ditampilkan.
Di JSON, salin nilai atribut
parent. Contoh:"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID"
ID diwakili oleh hal berikut:
ORGANIZATION_ID: ID organisasi penyedia sumber induk.SOURCE_ID: ID penyedia sumber induk.
gcloud
Untuk mengambil ID sumber, jalankan perintah berikut:
gcloud scc sources describe ORGANIZATION_ID --source-display-name="SOURCE_NAME"
Ganti kode berikut:
ORGANIZATION_ID: ID organisasi Anda.SOURCE_NAME: nama layanan yang ID sumbernya Anda inginkan. Gunakan nama penyedia temuan apa pun, termasuk layanan bawaan Security Command Center, Security Health Analytics, Web Security Scanner, Event Threat Detection, dan Container Threat Detection.
Output untuk perintah gcloud CLI akan terlihat seperti berikut dan mencakup ID sumber:
{
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"displayName": "example-source",
"description": "A source that creates findings."
}
Selanjutnya, gunakan ID organisasi dan ID sumber untuk membuat filter notifikasi.
Langkah 2: Membuat filter
Untuk membuat filter notifikasi, Anda
membuat
NotificationConfig baru.
Anda dapat menambahkan filter ke file NotificationConfig untuk menyertakan atau mengecualikan
sumber tertentu:
Memfilter temuan untuk mengirim notifikasi hanya dari sumber yang ditentukan:
state = \"ACTIVE\" AND parent = \"organizations/$ORGANIZATION_ID/sources/$SOURCE_ID\"Memfilter temuan untuk mengirim notifikasi dari semua sumber kecuali sumber yang ditentukan:
state = \"ACTIVE\" AND -parent = \"organizations/$ORGANIZATION_ID/sources/$SOURCE_ID\"
Untuk contoh filter lainnya yang dapat Anda gunakan, lihat Mencantumkan temuan keamanan menggunakan Security Command Center API.
Memfilter temuan menurut kategori dan status saat menggunakan topik Pub/Sub
Bagian berikut memberikan contoh cara membuat filter untuk jenis sumber dan temuan tertentu, serta pesan notifikasi yang dikirim ke topik Pub/Sub Anda.
Jika Anda menggunakan set data BigQuery, bukan topik Pub/Sub, temuan dan kolom terkait dijelaskan dalam Mengekspor temuan ke BigQuery untuk analisis.
Security Health Analytics
Contoh Security Health Analytics ini menggunakan filter berikut:
category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"
Untuk mengetahui informasi selengkapnya tentang jenis temuan yang dibuat Security Health Analytics, lihat halaman Temuan Security Health Analytics.
Pesan Pub/Sub untuk notifikasi temuan yang difilter Security Health Analytics akan terlihat seperti berikut:
{
"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"
}
}
Anomaly Detection
Contoh notifikasi Deteksi Anomali ini menggunakan filter berikut:
category = \"resource_involved_in_coin_mining\" AND state = \"ACTIVE\"
Untuk mengetahui informasi selengkapnya tentang jenis temuan yang dibuat oleh Deteksi Anomali, lihat halaman Melihat kerentanan dan ancaman.
Pesan Pub/Sub untuk notifikasi temuan yang difilter Deteksi Anomali akan terlihat seperti berikut:
{
"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
Contoh Event Threat Detection ini menggunakan filter berikut:
category = \"Persistence: Iam Anomalous Grant\" AND state = \"ACTIVE\"
Untuk mengetahui informasi selengkapnya tentang jenis temuan yang dibuat oleh Event Threat Detection, lihat halaman Melihat kerentanan dan ancaman.
Pesan Pub/Sub untuk notifikasi temuan yang difilter Event Threat Detection terlihat seperti berikut:
{
"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
Contoh Sensitive Data Protection ini menggunakan filter berikut:
category = \"CREDIT_CARD_NUMBER\" AND state = \"ACTIVE\"
Untuk mengetahui informasi selengkapnya tentang jenis temuan yang dibuat oleh Sensitive Data Protection, lihat halaman Melihat kerentanan dan ancaman.
Pesan Pub/Sub untuk notifikasi temuan yang difilter oleh Sensitive Data Protection akan terlihat seperti berikut:
{
"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"
}
}
Menemukan notifikasi dan filter penghapusan
Jika notifikasi penghapusan diaktifkan pada konfigurasi ekspor,
ekspresi filter (seperti state = "ACTIVE") dievaluasi terhadap atribut temuan
pada saat penghapusan.
Jika atribut pra-penghapusan temuan cocok dengan filter, notifikasi penghapusan akan diekspor ke topik Pub/Sub atau set data BigQuery dengan "deletedFinding": true (dalam payload JSON Pub/Sub) atau deleted_finding = true (di BigQuery).
Waktu peristiwa dalam notifikasi adalah waktu temuan dihapus di Security Command Center.
Jika notifikasi penghapusan dinonaktifkan, temuan yang dihapus dari Security Command Center tidak akan menghasilkan notifikasi.
Langkah berikutnya
- Pelajari lebih lanjut cara mengakses Security Command Center menggunakan library klien.
- Pelajari cara mencantumkan temuan keamanan menggunakan Security Command Center API.