Memfilter notifikasi

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:

  • parent
  • state
  • resource_name
  • category
  • source_properties
  • 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 dari 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 akan menyertakan ID sumber penyedia sumber keamanan. Misalnya, temuan dari Security Health Analytics menyertakan ID sumber yang unik bagi 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 Google Cloud Console atau Google Cloud CLI untuk mendapatkan ID sumber dari penyedia.

Konsol

  1. Buka halaman Findings Security Command Center di Konsol Google Cloud.
    Buka halaman Temuan
  2. Pilih organisasi yang ingin Anda buatkan filter notifikasi. Halaman Temuan akan terbuka.
  3. Di panel Quick filters, scroll ke bawah ke bagian Source display name, lalu pilih nama penyedia yang ingin Anda gunakan untuk memfilter hasil notifikasi.
  4. Di kolom Kategori pada panel Menemukan hasil kueri, tampilkan panel detail temuan dengan mengklik nama salah satu temuan.
  5. Di panel detail temuan, klik tab JSON. JSON lengkap untuk temuan akan ditampilkan.
  6. Di JSON, salin nilai atribut parent. Contoh:

    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID"

    ID tersebut direpresentasikan 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 Anda inginkan ID sumbernya. 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 CLI gcloud akan mirip dengan yang berikut ini 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 membuat 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\"
    
  • Filter temuan untuk mengirim notifikasi dari semua sumber kecuali sumber yang ditentukan:

      state = \"ACTIVE\" AND -parent = \"organizations/$ORGANIZATION_ID/sources/$SOURCE_ID\"
    

Untuk mengetahui contoh filter lain yang dapat digunakan, 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 sumber dan jenis temuan tertentu, serta pesan notifikasi yang dikirimkan 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 dianalisis.

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 Analisis Kondisi Keamanan.

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 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": {                                                                                                                                                                                             "triage": "required",
         "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 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"
  }
}

Forseti Security

Contoh Forseti ini menggunakan filter berikut:

category = \"FIREWALL_BLACKLIST_VIOLATION\" AND state = \"ACTIVE\"

Untuk mengetahui informasi selengkapnya tentang jenis temuan yang dibuat Forseti, kunjungi situs Forseti)

Pesan Pub/Sub untuk notifikasi penemuan yang difilter Forseti terlihat seperti berikut:

{
  "notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/forseti-firewall-denylist-active-findings",
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "resourceName": "organization/ORGANIZATION_ID/project/PROJECT_ID/firewall/firewall-id/",
    "state": "ACTIVE",
    "category": "FIREWALL_BLACKLIST_VIOLATION",
    "sourceProperties": {
      "scanner_index_id": 6554388765422,
      "resource_id": "PROJECT_ID",
      "db_source": "table:violations/id:10127",
      "inventory_index_id": 1569189610158079,
      "resource_type": "firewall",
      "rule_index": 1,
      "source": "FORSETI",
      "resource_data": "{\"allowed\": [{\"IPProtocol\": \"ah\"}, {\"IPProtocol\": \"esp\"}, {\"IPProtocol\": \"icmp\"}, {\"IPProtocol\": \"sctp\"}, {\"IPProtocol\": \"tcp\"}, {\"IPProtocol\": \"udp\"}], \"direction\": \"INGRESS\", \"name\": \"gke-range-cluster-890sad\", \"network\": \"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default\", \"priority\": 1000, \"sourceRanges\": [\"10.48.0.0/14\"], \"targetTags\": [\"gke-firing-range-cluster-73d1fcce-node\"]}",
      "rule_name": "disallow_all_ports",
      "violation_data": "{\"policy_names\": [\"gke-range-cluster-890sad\"], \"recommended_actions\": {\"DELETE_FIREWALL_RULES\": [\"gke-range-cluster-890sad\"]}}"
    },
    "securityMarks": {
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks",
      "marks": {
        "priority": "p1"
      }
    },
    "eventTime": "2019-09-22T22:03:58Z",
    "createTime": "2019-08-14T02:19:58.218Z"
  }
}

Perlindungan Data Sensitif

Contoh Perlindungan Data Sensitif ini menggunakan filter berikut:

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

Untuk mengetahui informasi selengkapnya tentang jenis temuan yang dibuat Event Threat Detection, lihat halaman Melihat kerentanan dan ancaman.

Pesan Pub/Sub untuk notifikasi penemuan yang difilter Perlindungan Data Sensitif 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