Benachrichtigungen filtern

>

Auf dieser Seite werden Beispielfilter für die Verwendung der Benachrichtigungsfunktion der Security Command Center API sowie die generierten Pub/Sub-Nachrichten dargestellt. Sie können Benachrichtigungen nach jedem Ergebnisfeld filtern, darunter:

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

Sie können auch Standardoperatoren als Teil des Filterstrings verwenden:

  • AND, um Felder einzuschließen, die alle Werte einer Gruppe von Werten enthalten
  • OR, um Felder einzuschließen, die einen der Werte enthalten
  • -, um Felder auszuschließen, die einen bestimmten Wert enthalten
  • Klammern zum Gruppieren einer Gruppe von Werten. Beispiel:

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

Einrichten eines Quellfilters

Jedes Ergebnis von Security Command Center enthält die Quell-ID des Sicherheitsquellen-Anbieters. Beispielsweise enthält ein Ergebnis von Security Health Analytics eine Quell-ID, die für Security Health Analytics eindeutig ist. Die Quell-ID wird in einem NotificationConfig-Filter verwendet, um die Anbieterergebnisse anzugeben, die Sie an das Benachrichtigungs-Pub/Sub-Thema senden möchten.

Schritt 1: Quell-ID abrufen

Verwenden Sie die Google Cloud Console, um die Quell-ID eines Anbieters abzurufen:

  1. Rufen Sie in der Cloud Console die Seite Ergebnisse des Security Command Centers auf.
    Zur Seite "Ergebnisse"
  2. Wählen Sie die Organisation aus, für die Sie einen Benachrichtigungsfilter erstellen möchten.
  3. Klicken Sie auf der Ansicht Ergebnisse neben Anzeigen nach auf Quelltyp. Die angezeigten Ergebnisse werden aktualisiert und zeigen den Namen jedes von Ihnen aktivierten Sicherheitsquellenanbieters an.
  4. Klicken Sie auf den Namen des Anbieters, mit dem Sie die Benachrichtigungsergebnisse filtern möchten.
  5. Klicken Sie auf eines der Ergebnisse, um die Ergebnisdetails aufzurufen.
  6. Kopieren Sie auf der Ergebnisdetailseite neben übergeordnetes Element die Organisations-ID und die Quell-ID des Anbieters. Die übergeordneten Informationen werden im folgenden Format angezeigt:

       organizations/organization-id/sources/source-id
    

Erstellen Sie als Nächstes mit der Organisations-ID und der Quell-ID einen Benachrichtigungsfilter.

Schritt 2: Filter erstellen

Zum Erstellen eines Benachrichtigungsfilters erstellen Sie einen neuen NotificationConfig. Derzeit können Sie Filter für eine vorhandene NotificationConfig nicht aktualisieren. Stattdessen müssen Sie den NotificationConfig löschen und dann einen neuen erstellen.

Sie können der Datei NotificationConfig einen Filter hinzufügen, um eine bestimmte Quelle ein- oder auszuschließen:

  • Filtern Sie die Ergebnisse, sodass nur Benachrichtigungen von der angegebenen Quelle gesendet werden:

      state = \"ACTIVE\" AND parent = \"organizations/$ORG_ID/sources/$SOURCE_ID\"
    
  • Ergebnisse filtern, um Benachrichtigungen aus allen Quellen mit Ausnahme der angegebenen Quelle zu senden:

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

Ergebnisse nach Kategorie und Status filtern

In den folgenden Abschnitten wird anhand von Beispielen gezeigt, wie Sie einen Filter für bestimmte Quellen und Ergebnistypen erstellen sowie die Benachrichtigung, die an Ihr Pub/Sub-Thema gesendet wird.

Security Health Analytics

In diesem Beispiel von Security Health Analytics werden die folgenden Filter verwendet:

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

Weitere Informationen zu den Arten von Ergebnissen, die Security Health Analytics erstellt, finden Sie auf der Seite Sicherheitsintegritäts-Analytics-Ergebnisse.

Die Pub/Sub-Nachricht für die gefilterte Sicherheitsbenachrichtigung von Security Health Analytics sieht so aus:

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

Anomalieerkennung

In diesem Benachrichtigungsbeispiel für die Anomalieerkennung werden die folgenden Filter verwendet:

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

Weitere Informationen zu den Ergebnistypen, die bei der Anomalieerkennung erstellt werden, finden Sie auf der Seite Sicherheitslücken und Bedrohungen anzeigen.

Die Pub/Sub-Nachricht für die Benachrichtigung zur Erkennung von Anomalien sieht so aus:

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

In diesem Beispiel für Event Threat Detection werden die folgenden Filter verwendet:

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

Weitere Informationen zu den Arten von Ergebnissen, die von Event Threat Detection erstellt werden, finden Sie auf der Seite Sicherheitslücken und Bedrohungen anzeigen.

Die Pub/Sub-Nachricht für die gefilterte Event Threat Detection-Ergebnisbenachrichtigung sieht so aus:

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

In diesem Forseti-Beispiel werden die folgenden Filter verwendet:

forseti-firewall-blacklist-active-findings

Weitere Informationen zu den Ergebnistypen, die Forseti erstellt, finden Sie auf der Forseti-Website)

Die Pub/Sub-Nachricht für die von Forseti gefilterte Ergebnisbenachrichtigung sieht so aus:

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

Dieses Cloud DLP-Beispiel verwendet die folgenden Filter:

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

Weitere Informationen zu den Arten von Ergebnissen, die von Event Threat Detection erstellt werden, finden Sie auf der Seite Sicherheitslücken und Bedrohungen anzeigen.

Die Pub/Sub-Nachricht für die mit Cloud DLP gefilterte Ergebnisbenachrichtigung sieht so aus:

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