Benachrichtigungen filtern

>

Auf dieser Seite sind Beispielfilter für die Benachrichtigungsfunktion der Security Command Center API sowie für die generierten Pub/Sub-Nachrichten enthalten. 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 Wert einer Gruppe von Werten enthalten
  • - zum Ausschließen von Feldern, die einen bestimmten Wert enthalten
  • Klammern zum Gruppieren einer Gruppe von Werten, z. B.:

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

Quellfilter einrichten

Jedes Ergebnis von Security Command Center enthält die Quell-ID des Anbieters der Sicherheitsquelle. 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 Center auf.
    Zur Seite "Ergebnisse"
  2. Wählen Sie die Organisation aus, für die Sie einen Benachrichtigungsfilter erstellen möchten.
  3. Klicken Sie in der Ansicht Ergebnisse neben Anzeigen nach auf Quelltyp. Die Ergebnisse zeigen Aktualisierungen an, um den Namen jedes Anbieters von Sicherheitsquellen anzuzeigen, den Sie aktiviert haben.
  4. Klicken Sie auf den Namen des Anbieters, den Sie zum Filtern der Benachrichtigungsergebnisse verwenden möchten.
  5. Rufen Sie die Detailseite mit den Ergebnissen auf, indem Sie auf eines der Ergebnisse klicken.
  6. Kopieren Sie auf der Detailseite der Ergebnisse neben parent die Organisations-ID und die Anbieterquellen-ID. Die übergeordneten Informationen werden im folgenden Format angezeigt:

       organizations/organization-id/sources/source-id
    

Erstellen Sie als Nächstes mithilfe 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 einen vorhandenen NotificationConfig nicht aktualisieren. Stattdessen müssen Sie 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\"
    
  • Filtern Sie die Ergebnisse, um Benachrichtigungen aus allen Quellen außer der angegebenen Quelle zu senden:

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

Ergebnisse nach Kategorie und Zustand 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 Ergebnistypen, die von Security Health Analytics erstellt werden, finden Sie auf der Seite Ergebnisse von Security Health Analytics.

Die Pub/Sub-Nachricht für die gefilterte Ergebnisbenachrichtigung 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 nach Anomalieerkennung gefilterte Ergebnisbenachrichtigung 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 die 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 nach Event Threat Detection gefilterte 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": {
      "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

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