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, que incluye lo siguiente:

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

También puedes usar operadores estándar como parte de tu 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 campos que contienen 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 de estado de seguridad incluye un ID de fuente que es exclusivo de ellas. El ID de origen se usa en un filtro NotificationConfig para especificar los resultados del proveedor que deseas enviar al tema de 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 con Ver por, haz clic en Tipo de fuente. Los resultados muestran actualizaciones para mostrar 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 de los resultados, 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 organización y el ID de fuente para crear un filtro de notificaciones.

Paso 2: crea un filtro

Para crear un filtro de notificaciones, debes crear un NotificationConfig nuevo. Actualmente, no puedes actualizar los filtros en un NotificationConfig existente. En su lugar, debes borrar el NotificationConfig y, a continuación, crear uno nuevo.

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

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

      state = \"ACTIVE\" AND parent = \"organizations/$ORG_ID/sources/$SOURCE_ID\"
    
  • Filtra los resultados para enviar notificaciones de 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 búsqueda 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 estadísticas de 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 de estado de seguridad, consulta la página Resultados de las estadísticas del estado de seguridad.

El mensaje de Pub/Sub para la notificación de búsqueda de estadísticas de estado de seguridad filtrado tendrá el siguiente aspecto:

{
   "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 hallazgos que crea la detección de anomalías, consulta la página Ver vulnerabilidades y amenazas.

El mensaje de Pub/Sub para la notificación de resultado filtrado de detección de anomalías se verá 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 de resultado de detección de amenazas de eventos se verá de la siguiente manera:

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

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 de la notificación de búsqueda filtrada de Forseti se verá 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 verá 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"
   }
 }