Memfilter notifikasi

Halaman ini menunjukkan 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 penemuan, termasuk:

  • parent
  • state
  • resource_name
  • category
  • source_properties (khusus API v1)
  • security_marks

Anda juga dapat menggunakan operator standar sebagai bagian dari string filter:

  • AND untuk menyertakan kolom yang berisi semua kumpulan nilai
  • OR untuk menyertakan kolom yang berisi salah satu kumpulan nilai
  • - untuk mengecualikan kolom yang berisi nilai tertentu
  • Tanda kurung untuk mengelompokkan kumpulan nilai, misalnya:

    (category = \"BUCKET_LOGGING_DISABLED\" OR category = \"CLUSTER_LOGGING_DISABLED\") AND state = \"ACTIVE\"

Menyiapkan filter sumber

Setiap temuan Security Command Center menyertakan ID sumber penyedia sumber keamanan. Misalnya, temuan dari Security Health Analytics menyertakan ID sumber yang unik untuk Security Health Analytics. ID sumber digunakan dalam filter NotificationConfig untuk menentukan temuan penyedia yang ingin Anda kirim ke topik pemberitahuan Pub/Sub atau set data BigQuery.

Langkah 1: Mendapatkan ID sumber

Gunakan konsol Google Cloud atau Google Cloud CLI untuk mendapatkan ID sumber penyedia.

Konsol

  1. Buka halaman Temuan Security Command Center di konsol Google Cloud.
    Buka halaman Temuan
  2. Pilih organisasi yang ingin Anda buat filter notifikasinya. Halaman Temuan akan terbuka.
  3. Di panel Filter cepat, scroll ke bawah ke bagian Nama tampilan sumber dan pilih nama penyedia yang ingin Anda gunakan untuk memfilter hasil notifikasi.
  4. Di kolom Kategori pada panel Hasil kueri temuan, tampilkan panel detail temuan dengan mengklik nama salah satu temuan.
  5. Di panel detail temuan, klik tab JSON. JSON lengkap untuk penemuan akan ditampilkan.
  6. 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, termasuk layanan bawaan Security Command Center, Security Health Analytics, Web Security Scanner, Event Threat Detection, dan Container Threat Detection.

Output untuk perintah gcloud CLI menyerupai berikut dan menyertakan 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 create NotificationConfig baru.

Anda dapat menambahkan filter ke file NotificationConfig untuk menyertakan atau mengecualikan sumber tertentu:

  • Filter 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 berdasarkan kategori dan status saat menggunakan topik Pub/Sub

Bagian berikut memberikan contoh cara membuat filter untuk sumber dan jenis pencarian 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 artikel Mengekspor temuan ke BigQuery untuk analisis.

Security Health Analytics

Contoh Security Health Analytics ini menggunakan filter berikut:

category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"

Untuk 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 informasi selengkapnya tentang jenis temuan yang dibuat Anomaly Detection, lihat halaman Melihat kerentanan dan ancaman.

Pesan Pub/Sub untuk notifikasi temuan yang difilter oleh 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 informasi selengkapnya tentang jenis temuan yang dibuat Event Threat Detection, lihat halaman Melihat kerentanan dan ancaman.

Pesan Pub/Sub untuk notifikasi temuan yang difilter Event Threat Detection akan 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 Perlindungan Data Sensitif ini menggunakan filter berikut:

category = \"CREDIT_CARD_NUMBER\" AND state = \"ACTIVE\"

Untuk informasi selengkapnya tentang jenis temuan yang dibuat Event Threat Detection, 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"
   }
 }

Langkah selanjutnya