Filtra notificaciones

>

En esta página, se muestran filtros de ejemplo que puedes usar con la función de notificaciones de la API de Security Command Center y los mensajes de Pub/Sub que genera. Puedes filtrar las notificaciones por cualquier campo de resultado, incluido lo siguiente:

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

También puedes usar operadores estándar como parte de la string de filtro:

  • AND para incluir campos que contengan todo un conjunto de valores
  • OR para incluir campos que contengan un conjunto de valores
  • - para excluir los campos que contengan un valor específico
  • Paréntesis para agrupar un conjunto de valores, por ejemplo:

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

Configura un filtro fuente

Cada resultado de Security Command Center incluye el ID de origen del proveedor de fuentes de seguridad. Por ejemplo, un resultado de las estadísticas del estado de la seguridad incluye un ID de origen que es único para ellas. El ID de origen se usa en un filtro NotificationConfig para especificar los resultados del proveedor que deseas enviar al tema notificaciones de Pub/Sub.

Paso 1: Obtén el ID de la fuente

Usa Google Cloud Console para obtener el ID de origen de un proveedor:

  1. Ve a la página Resultados de Security Command Center en Cloud Console.
    Ir a la página Resultados
  2. Selecciona la organización para la que deseas crear un filtro de notificaciones.
  3. En la pantalla Resultados, junto a Ver por, haz clic en Tipo de fuente. En la pantalla resultados, se muestran las actualizaciones muestra el nombre de cada proveedor de fuentes de seguridad que habilitaste.
  4. Haz clic en el nombre del proveedor que deseas usar para filtrar los resultados de las notificaciones.
  5. Haz clic en uno de los resultados para ver la página de detalles del resultado.
  6. En la página de detalles del resultado, junto a superior, copia el ID de la organización y el ID de la fuente del proveedor. La información superior se muestra en el siguiente formato:

       organizations/organization-id/sources/source-id
    

A continuación, usa el ID de la organización y el ID de fuente para crear un filtro de notificaciones.

Paso 2: Crea un filtro

Para crear un filtro de notificaciones, crea un NotificationConfig nuevo. Por el momento, no puedes actualizar filtros en un NotificationConfig existente. En su lugar, debes borrar la NotificationConfig y, luego, crear una nueva.

Puedes agregar un filtro al archivo NotificationConfig para incluir o excluir una fuente específica:

  • Filtra los resultados para enviar notificaciones solo desde la fuente especificada:

      state = \"ACTIVE\" AND parent = \"organizations/$ORG_ID/sources/$SOURCE_ID\"
    
  • Filtra los resultados para enviar notificaciones desde todas las fuentes, excepto la fuente especificada:

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

Filtra los resultados por categoría y estado

En las siguientes secciones, se proporcionan ejemplos de cómo crear un filtro para fuentes y tipos de resultados específicos, y el mensaje de notificación que envía a tu tema de Pub/Sub.

Estadísticas del estado de la seguridad

En este ejemplo de las estadísticas del estado de seguridad, se usan los siguientes filtros:

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

Para obtener más información sobre los tipos de resultados que crea las estadísticas del estado de la seguridad, consulta la página Resultados de las estadísticas del estado de la seguridad.

El mensaje de Pub/Sub para las notificaciones de resultados de las estadísticas del estado de seguridad se ve de la siguiente manera:

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

Detección de anomalías

En este ejemplo de notificación de detección de anomalías, se usan los siguientes filtros:

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

Para obtener más información sobre los tipos de resultados que crea la detección de anomalías, consulta la página Visualiza vulnerabilidades y amenazas.

El mensaje de Pub/Sub para la notificación de resultado filtrado de detección de anomalías se ve de la siguiente manera:

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

En este ejemplo de Event Threat Detection, se usan los siguientes filtros:

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

Para obtener más información sobre los tipos de hallazgos que crea la Detección de eventos de amenazas, consulta la página Cómo ver vulnerabilidades y amenazas.

El mensaje de Pub/Sub para la notificación del resultado filtrado de Event Threat Detection tiene el siguiente aspecto:

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

Seguridad de Foresti

Este ejemplo de Forseti usa los siguientes filtros:

forseti-firewall-blacklist-active-findings

Para obtener más información sobre los tipos de resultados que crea Forseti, visita el sitio web de Forseti).

El mensaje de Pub/Sub para la notificación de resultado filtrado de Forseti se ve de la siguiente manera:

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

En este ejemplo de Cloud DLP, se usan los siguientes filtros:

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

Para obtener más información sobre los tipos de hallazgos que crea la Detección de eventos de amenazas, consulta la página Cómo ver vulnerabilidades y amenazas.

El mensaje de Pub/Sub para la notificación de resultado filtrado de Cloud DLP se ve de la siguiente manera:

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