알림 필터링

>

이 페이지에서는 Security Command Center API 알림 기능에 사용할 수 있는 필터의 예시와 필터가 생성하는 Pub/Sub 메시지를 보여줍니다. 다음을 포함한 발견 항목 필드로 알림을 필터링할 수 있습니다.

  • parent
  • state
  • resource_name
  • category
  • source_properties
  • security_marks

표준 연산자를 필터 문자열의 일부로 사용할 수도 있습니다.

  • 모든 값 집합을 포함한 필드를 포함하기 위한 AND
  • 값 집합 중 하나를 포함한 필드를 포함하기 위한 OR
  • 특정 값을 포함한 필드를 제외하기 위한 -
  • 값 집합을 그룹화하는 괄호로 예를 들면 다음과 같습니다.

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

소스 필터 설정

모든 Security Command Center 발견 항목에는 보안 소스 제공업체의 소스 ID가 포함됩니다. 예를 들어 Security Health Analytics의 발견 항목에는 Security Health Analytics의 고유한 소스 ID가 포함됩니다. 소스 ID는 NotificationConfig 필터에서 알림 Pub/Sub 주제로 보낼 제공업체 발견 항목을 지정하는 데 사용됩니다.

1단계: 소스 ID 가져오기

Google Cloud Console을 사용하여 제공업체의 소스 ID를 가져옵니다.

  1. Cloud Console의 Security Command Center 발견 항목 페이지로 이동합니다.
    발견 항목 페이지로 이동
  2. 알림 필터를 만들려는 조직을 선택합니다.
  3. 발견 항목 디스플레이에서 보기 기준 옆에 있는 소스 유형을 클릭합니다. 사용 설정한 각 보안 소스 제공업체의 이름을 볼 수 있는 발견 항목이 표시됩니다.
  4. 알림 발견 항목을 필터링하는 데 사용할 제공업체의 이름을 클릭합니다.
  5. 발견 항목 중 하나를 클릭하여 발견 항목 세부정보 페이지를 확인합니다.
  6. 발견 항목 세부정보 페이지의 상위 요소 옆에 있는 조직 ID와 제공업체 소스 ID를 복사합니다. 상위 정보는 다음 형식으로 표시됩니다.

       organizations/organization-id/sources/source-id
    

그런 다음 조직 ID와 소스 ID를 사용하여 알림 필터를 만듭니다.

2단계: 필터 만들기

알림 필터를 만들려면 새 NotificationConfig만듭니다. 현재 기존 NotificationConfig에서는 필터를 업데이트할 수 없습니다. 대신 NotificationConfig삭제한 다음 새로 만들어야 합니다.

NotificationConfig 파일에 필터를 추가하여 특정 소스를 포함하거나 제외할 수 있습니다.

  • 지정된 소스에서만 알림을 보내려면 발견 항목을 필터링합니다.

      state = \"ACTIVE\" AND parent = \"organizations/$ORG_ID/sources/$SOURCE_ID\"
    
  • 지정된 소스를 제외한 모든 소스의 알림을 보내기 위해 발견 항목을 필터링합니다.

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

카테고리 및 상태별로 발견 항목 필터링

다음 섹션에서는 특정 소스 및 발견 항목 유형에 대한 필터를 만드는 방법과 Pub/Sub 주제로 전송하는 알림 메시지를 예시로 보여줍니다.

Security Health Analytics

이 Security Health Analytics 예시에서는 다음 필터를 사용합니다.

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

Security Health Analytics가 생성하는 발견 항목 유형에 대한 자세한 내용은 Security Health Analytics 발견 항목 페이지를 참조하세요.

Security Health Analytics 필터링된 발견 항목 알림의 Pub/Sub 메시지는 다음과 같습니다.

{
   "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"
   }
 }

이상 감지

이 이상 감지 알림 예시에서는 다음 필터를 사용합니다.

category = \"resource_involved_in_coin_mining\" AND state = \"ACTIVE\"

이상 감지에서 생성되는 결과 유형에 대한 자세한 내용은 취약점 및 위협 보기 페이지를 참조하세요.

이상 감지 필터링 발견 항목 알림용 Pub/Sub 메시지는 다음과 비슷합니다.

{
   "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": {                                                                                                                                                                                             "traige": "required",
         "teste123": "true",
         "sccquery94c23b35ea0b4f8388268415a0dc6c1b": "true"
       }
     },
     "eventTime": "2019-09-20T18:59:00Z",
     "createTime": "2019-05-16T14:16:35.674Z"
   }
 }

이벤트 위협 감지

Event Threat Detection 예시에서는 다음 필터를 사용합니다.

category = \"Persistence: Iam Anomalous Grant\" AND state = \"ACTIVE\"

Event Threat Detection에서 생성되는 발견 항목 유형에 대한 자세한 내용은 취약점 및 위협 보기 페이지를 참조하세요.

Event Threat Detection 필터링 발견 항목 알림의 Pub/Sub 메시지는 다음과 같이 표시됩니다.

{
   "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": {
       "properties_principalEmail": "user-email@google.com",
       "properties_bindingDeltas_0_action": "ADD",
       "detectionCategory_ruleName": "iam_anomalous_grant",
       "properties_bindingDeltas_0_role": "roles/owner",
       "eventTime": "2019-08-29T19:37:01.889Z",
       "properties_bindingDeltas_0_member": "user:user-email@gmail.com",
       "properties_organization_id": "organization-id",
       "detectionCategory_subRuleName": "external_member_added_to_policy",
       "properties_externalMembers_0": "user:user-email@gmail.com",
       "evidence_0_sourceLogId_timestamp": "2019-08-29T19:37:00.619Z",
       "detectionPriority": "HIGH",
       "detectionCategory_technique": "persistence",
       "sourceId_customerOrganizationNumber": "organization-id",
       "evidence_0_sourceLogId_insertId": "2s1323c96g",
       "sourceId_organizationNumber": "organization-id",
       "detectionCategory_indicator": "audit_log"
     },
     "securityMarks": {
       "name": "organizations/organization-id/sources/source-id/findings/finding-id/securityMarks",
       "marks": {
         "priority": "p1"
       }
     },
     "eventTime": "2019-09-22T22:42:11.299Z",
     "createTime": "2019-08-29T19:37:02.974Z"
   }
 }

Forseti 보안

이 Forseti 예시에서는 다음 필터를 사용합니다.

forseti-firewall-blacklist-active-findings

Forseti가 만드는 발견 항목의 유형에 대한 자세한 내용은 Forseti 웹사이트를 참조하세요.)

Forseti 필터링 발견 항목 알림에 대한 Pub/Sub 메시지는 다음과 같습니다.

{
  "notificationConfigName": "organizations/organization-id/notificationConfigs/forseti-firewall-blacklist-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"
  }
}

Cloud Data Loss Prevention

이 Cloud DLP 예시에서는 다음 필터를 사용합니다.

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

Event Threat Detection에서 생성되는 발견 항목 유형에 대한 자세한 내용은 취약점 및 위협 보기 페이지를 참조하세요.

Cloud DLP 필터링 발견 항목 알림에 대한 Pub/Sub 메시지는 다음과 같습니다.

{
   "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"
   }
 }