Integre o Security Command Center com o SecOps da Google

Versão da integração: 14.0

Este documento explica como integrar o Security Command Center com o Google Security Operations.

Antes de começar

Para integrar o Security Command Center, tem de concluir os seguintes passos:

  1. Crie uma função de gestão de identidade e de acesso (IAM) personalizada com as autorizações necessárias.

  2. Configure a autenticação através de uma das seguintes opções:

Crie e configure uma função de IAM

Para criar e configurar uma função do IAM personalizada para a integração, conclua os seguintes passos:

  1. Na Google Cloud consola, aceda à página Funções do IAM.

    Aceda a Funções

  2. Clique em Criar função para criar uma função personalizada com as autorizações necessárias para a integração.

  3. Introduza um título, uma descrição e um ID exclusivo.

  4. Defina a Fase de lançamento da função como General Availability.

  5. Adicione as seguintes autorizações à função criada:

    • securitycenter.assets.list

    • securitycenter.findings.list

    • securitycenter.findings.setMute

    • securitycenter.findings.setState

  6. Clique em Criar.

Configure a autenticação

Para autenticar a integração, use uma conta de serviço com uma chave JSON ou com uma identidade da carga de trabalho.

Autenticação com uma chave JSON

Este método usa um ficheiro de chave JSON estático para autenticar a conta de serviço.

Criar uma conta de serviço

Para fazer a autenticação através de uma chave JSON, primeiro, tem de criar uma conta de serviço:

  1. Na Google Cloud consola, navegue para IAM e administrador > Contas de serviço.

  2. Selecione o projeto onde quer criar a conta de serviço.

  3. Clique em Criar conta de serviço.

    Se preferir usar uma conta de serviço existente, selecione a conta de serviço que quer usar e gere uma chave JSON.

  4. Indique um nome e uma descrição, e clique em Criar e continuar.

  5. No passo Conceda a esta conta de serviço acesso ao projeto, adicione a função personalizada que criou.

  6. Clique em Concluído para terminar a criação da conta.

Gere uma chave JSON

Conclua os passos seguintes para gerar o ficheiro de chave JSON necessário:

  1. Na lista de contas de serviço, selecione o endereço de email da conta de serviço que criou (ou selecionou) para abrir os respetivos detalhes.

  2. Clique no separador Chaves.

  3. Clique em Adicionar chave > Criar nova chave.

  4. Selecione JSON como o tipo de chave e clique em Criar.

  5. O ficheiro de chave JSON é transferido para o seu computador. Armazene este ficheiro em segurança e cole todo o conteúdo deste ficheiro em User's Service Account quando configurar os parâmetros de integração.

Autenticação com uma Workload Identity (recomendada)

Este método permite que a integração se faça passar por uma conta de serviço sem a necessidade de processar segredos de longa duração.

Para configurar uma identidade de carga de trabalho, conclua os seguintes passos:

  1. Na Google Cloud consola, aceda a IAM e administrador > Contas de serviço.

  2. Selecione uma conta de serviço existente ou crie uma nova.

  3. Conceda a função personalizada que criou à conta de serviço.

  4. Conceda a função Utilizador do serviço de utilização à conta de serviço. Esta autorização é necessária para associar a utilização da API ao projeto definido no Quota Project ID.

  5. Conceda a função criador de tokens da conta de serviço à conta de serviço.

    Esta autorização permite que a integração gere as credenciais de curta duração necessárias para a autenticação.

  6. Tome nota do Email do cliente da conta de serviço e use este valor em Email da identidade da carga de trabalho ao configurar os parâmetros de integração.

Parâmetros de integração

A integração do Security Command Center requer os seguintes parâmetros:

Parâmetro Descrição
API Root

Obrigatório.

A raiz da API da instância do Security Command Center.

Organization ID

Opcional.

O ID da organização a usar para restringir as consultas de integração do Security Command Center. Google Cloud

Project ID

Opcional.

O Google Cloud ID do projeto usado para restringir as consultas da instância do Security Command Center.

Quota Project ID

Opcional.

O Google Cloud ID do projeto usado para fins de faturação e utilização da API.

User's Service Account

Opcional.

O conteúdo completo do ficheiro JSON da chave da conta de serviço.

Use este parâmetro apenas se estiver a fazer a autenticação através de uma chave JSON.

Workload Identity Email

Opcional.

O endereço de email do cliente da sua conta de serviço.

Use este parâmetro apenas se estiver a fazer a autenticação com uma identidade de carga de trabalho.

Se configurar este parâmetro, também tem de configurar Quota Project ID.

Verify SSL

Obrigatório.

Se selecionada, a integração valida o certificado SSL quando se liga ao servidor do Security Command Center.

Ativada por predefinição.

Para ver instruções sobre como configurar uma integração no Google SecOps, consulte o artigo Configurar integrações.

Se necessário, pode fazer alterações numa fase posterior. Depois de configurar uma instância de integração, pode usá-la em manuais de procedimentos. Para mais informações sobre como configurar e suportar várias instâncias, consulte o artigo Suporte de várias instâncias.

Ações

Para mais informações sobre ações, consulte os artigos Responda a ações pendentes da sua mesa de trabalho e Realize uma ação manual.

Receba detalhes da descoberta

Use a ação Get Finding Details para obter detalhes sobre uma descoberta no Security Command Center.

Esta ação não é executada em entidades do Google SecOps.

Dados de ações

A ação Get Finding Details requer os seguintes parâmetros:

Parâmetro Descrição
Finding Name

Obrigatório.

Os nomes completos dos recursos das descobertas para devolver detalhes, no formato organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID.

Este parâmetro aceita vários valores como uma lista separada por vírgulas.

Resultados da ação

A ação Get Finding Details (Obter detalhes da deteção) fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Tabela de parede para capas Disponível
Tabela de enriquecimento Não disponível
Resultado JSON Disponível
Mensagens de saída Disponível
Resultado do script Disponível
Tabela de parede para capas

A ação Get Finding Details pode devolver a seguinte tabela:

Título da tabela: Detalhes da descoberta

Colunas da tabela:

  • Categoria
  • Estado
  • Gravidade
  • Tipo
Resultado JSON

O exemplo seguinte mostra o resultado JSON recebido quando usa a ação Get Finding Details:

{
   {
      "finding_name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
      "finding": {
        "name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
        "parent": "organizations/ORGANIZATION_ID/sources/2678067631293752869",
        "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "state": "ACTIVE",
        "category": "Discovery: Service Account Self-Investigation",
        "sourceProperties": {
          "sourceId": {
            "projectNumber": "PROJECT_ID",
            "customerOrganizationNumber": "ORGANIZATION_ID"
          },
          "detectionCategory": {
            "technique": "discovery",
            "indicator": "audit_log",
            "ruleName": "iam_anomalous_behavior",
            "subRuleName": "service_account_gets_own_iam_policy"
          },
          "detectionPriority": "LOW",
          "affectedResources": [
            {
              "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID"
            }
          ],
          "evidence": [
            {
              "sourceLogId": {
                "projectId": "PROJECT_ID",
                "resourceContainer": "projects/PROJECT_ID",
                "timestamp": {
                  "seconds": "1622678907",
                  "nanos": 448368000
                },
                "insertId": "ID"
              }
            }
          ],
          "properties": {
            "serviceAccountGetsOwnIamPolicy": {
              "principalEmail": "prisma-cloud-serv@PROJECT_ID.iam.gserviceaccount.com",
              "projectId": "PROJECT_ID",
              "callerIp": "192.0.2.41",
              "callerUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)",
              "rawUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)"
            }
          },
          "contextUris": {
            "mitreUri": {
              "displayName": "Permission Groups Discovery: Cloud Groups",
              "url": "https://attack.mitre.org/techniques/ID/003/"
            },
            "cloudLoggingQueryUri": [
              {
                "displayName": "Cloud Logging Query Link",
                "url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%222021-06-03T00:08:27.448368Z%22%0AinsertId%3D%22ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project=PROJECT_ID"
              }
            ]
          }
        },
        "securityMarks": {
          "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
        },
        "eventTime": "2021-06-03T00:08:27.448Z",
        "createTime": "2021-06-03T00:08:31.074Z",
        "severity": "LOW",
        "canonicalName": "projects/PROJECT_ID/sources/SOURCE_ID/findings/FINDING_ID",
        "mute": "UNDEFINED",
        "findingClass": "THREAT",
        "mitreAttack": {
          "primaryTactic": "DISCOVERY",
          "primaryTechniques": [
            "PERMISSION_GROUPS_DISCOVERY",
            "CLOUD_GROUPS"
          ]
        }
      },
      "resource": {
        "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "projectDisplayName": "PROJECT_ID",
        "parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
        "parentDisplayName": "example.net",
        "type": "google.cloud.resourcemanager.Project",
        "displayName": "PROJECT_ID"
      }
    }
}
Mensagens de saída

A ação Get Finding Details pode devolver as seguintes mensagens de saída:

Mensagem de saída Descrição da mensagem

Successfully returned details about the following findings in Security Command Center: FINDING_NAMES.

Action wasn't able to find the following findings in Security Command Center: FINDING_NAMES.

None of the provided findings were found in Security Command Center.

A ação foi bem-sucedida.
Error executing action "Get Finding Details". Reason: ERROR_REASON

A ação falhou.

Verifique a ligação ao servidor, os parâmetros de entrada ou as credenciais.

Resultado do script

A tabela seguinte apresenta o valor do resultado do script quando usa a ação Get Finding Details:

Nome do resultado do script Valor
is_success true ou false

Apresentar vulnerabilidades de recursos

Use a ação List Asset Vulnerabilities para listar as vulnerabilidades relacionadas com entidades no Security Command Center.

Esta ação não é executada em entidades do Google SecOps.

Dados de ações

A ação List Asset Vulnerabilities requer os seguintes parâmetros:

Parâmetro Descrição
Asset Resource Names

Obrigatório.

Uma lista separada por vírgulas dos identificadores únicos (nomes de recursos completos) dos recursos sobre os quais pretende obter dados.

Timeframe

Opcional.

O período para pesquisar as vulnerabilidades ou as configurações incorretas.

Os valores possíveis são os seguintes:

  • Last Week
  • Last Month
  • Last Year
  • All Time

O valor predefinido é All Time.

Record Types

Opcional.

O tipo de registo a devolver.

Os valores possíveis são os seguintes:

  • Vulnerabilities + Misconfigurations
  • Vulnerabilities
  • Misconfigurations

O valor predefinido é Vulnerabilities + Misconfigurations.

Output Type

Opcional.

O tipo de saída a devolver no resultado JSON para cada recurso.

Os valores possíveis são os seguintes:

  • Statistics
  • Data
  • Statistics + Data

O valor predefinido é Statistics.

Max Records To Return

Opcional.

O número máximo de registos a devolver para cada tipo de registo.

O valor predefinido é 100.

Resultados da ação

A ação List Asset Vulnerabilities fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Tabela de parede para capas Disponível
Tabela de enriquecimento Não disponível
Resultado JSON Disponível
Mensagens de saída Disponível
Resultado do script Disponível
Tabela de parede para capas

A ação List Asset Vulnerabilities pode devolver as seguintes tabelas:

Título da tabela: ASSET_ID Vulnerabilidades

Colunas da tabela:

  • Categoria
  • Descrição
  • Gravidade
  • Hora do evento
  • CVE

Título da tabela: ASSET_ID Configurações incorretas

Colunas da tabela:

  • Categoria
  • Descrição
  • Gravidade
  • Hora do evento
  • Recomendação
Resultado JSON

O exemplo seguinte mostra o resultado JSON recebido quando usa a ação List Asset Vulnerabilities:

{
   ."siemplify_asset_display_name":[1] [2]  ""
"vulnerabilities": {
        "statistics": {
            "critical": 1,
            "high": 1,
            "medium": 1,
            "low": 1,
            "undefined": 1
        },
        "data": [
            {
                "category": "CATEGORY"
                "description": "DESCRIPTION"
                "cve_id": "CVE_ID"
                "event_time": "EVENT_TIME"
                "related_references": "RELATED_REFERENCES"
                "severity": "SEVERITY"
            }
        ]
    },
    "misconfigurations": {
        "statistics": {
            "critical": 1,
            "high": 1,
            "medium": 1,
            "low": 1,
            "undefined": 1
        },
        "data": [
            {
                "category": "CATEGORY"
                "description": "DESCRIPTION"
                "recommendation": "RECOMMENDATION"
                "event_time": "EVENT_TIME"
                "severity": "SEVERITY"
            }
        ]
    },
}
Mensagens de saída

A ação List Asset Vulnerabilities pode devolver as seguintes mensagens de saída:

Mensagem de saída Descrição da mensagem

Successfully returned related vulnerabilities and misconfigurations to the following entities in Security Command Center: ASSET_IDS.

No vulnerabilities and misconfigurations were found to the following entities in Security Command Center: ASSET_IDS.

No vulnerabilities and misconfigurations were found for the provided assets in Security Command Center.

A ação foi bem-sucedida.
Error executing action "List Asset Vulnerabilities". Reason: ERROR_REASON

A ação falhou.

Verifique a ligação ao servidor, os parâmetros de entrada ou as credenciais.

Resultado do script

A tabela seguinte lista o valor do resultado do script quando usa a ação List Asset Vulnerabilities:

Nome do resultado do script Valor
is_success true ou false

Tchim-tchim

Use a ação Ping para testar a conetividade ao Security Command Center.

Esta ação não é executada em entidades do Google SecOps.

Dados de ações

Nenhum.

Resultados da ação

A ação Ping fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Tabela de parede para capas Não disponível
Tabela de enriquecimento Não disponível
Resultado JSON Não disponível
Mensagens de saída Disponível
Resultado do script Disponível
Mensagens de saída

A ação Ping pode devolver as seguintes mensagens de saída:

Mensagem de saída Descrição da mensagem
Successfully connected to the Security Command Center server with the provided connection parameters! A ação foi bem-sucedida.
Failed to connect to the Security Command Center server! Error is ERROR_REASON

A ação falhou.

Verifique a ligação ao servidor, os parâmetros de entrada ou as credenciais.

Resultado do script

A tabela seguinte lista o valor do resultado do script quando usa a ação Ping:

Nome do resultado do script Valor
is_success true ou false

Atualizar descoberta

Use a ação Update Finding para atualizar uma deteção existente no Security Command Center.

Esta ação não é executada em entidades do Google SecOps.

Dados de ações

A ação Update Finding requer os seguintes parâmetros:

Parâmetro Descrição
Finding Name

Obrigatório.

Os nomes completos dos recursos das descobertas para devolver detalhes, no formato organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID.

Este parâmetro aceita vários valores como uma lista separada por vírgulas.

Mute Status

Opcional.

O estado de som desativado da descoberta.

Os valores possíveis são os seguintes:

  • Mute
  • Unmute
State Status

Opcional.

O estado da descoberta.

Os valores possíveis são os seguintes:

  • Active
  • Inactive

Resultados da ação

A ação Update Finding fornece os seguintes resultados:

Tipo de saída da ação Disponibilidade
Fixação à parede da caixa Não disponível
Link da parede da caixa Não disponível
Tabela de parede para capas Não disponível
Tabela de enriquecimento Não disponível
Resultado JSON Não disponível
Mensagens de saída Disponível
Resultado do script Disponível
Mensagens de saída

A ação Update Finding pode devolver as seguintes mensagens de saída:

Mensagem de saída Descrição da mensagem

Successfully updated the following findings in Security Command Center: FINDING_NAMES

Action wasn't able to find the following findings in Security Command Center: FINDING_NAMES

None of the provided findings were found in Security Command Center.

A ação foi bem-sucedida.
Error executing action "Update Finding". Reason: ERROR_REASON

A ação falhou.

Verifique a ligação ao servidor, os parâmetros de entrada ou as credenciais.

Resultado do script

A tabela seguinte lista o valor do resultado do script quando usa a ação Update Finding:

Nome do resultado do script Valor
is_success true ou false

Conetores

Para mais informações sobre como configurar conetores no Google SecOps, consulte o artigo Carregue os seus dados (conetores).

Security Command Center – Conetor de resultados

Use o Conetor de resultados do Security Command Center para obter informações sobre os resultados do Security Command Center.

Este conector suporta a filtragem de resultados por categoria através da lista dinâmica.

Entradas do conetor

O Security Command Center - Findings Connector requer os seguintes parâmetros:

Parâmetro Descrição
Product Field Name

Obrigatório.

O nome do campo onde o nome do produto está armazenado.

O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor predefinido é resolvido para um valor alternativo referenciado a partir do código. Qualquer entrada inválida para este parâmetro é resolvida para um valor alternativo por predefinição.

O valor predefinido é Product Name.

Event Field Name

Obrigatório.

O nome do campo que determina o nome do evento (subtipo).

Environment Field Name

Opcional.

O nome do campo onde o nome do ambiente está armazenado.

Se o campo de ambiente estiver em falta, o conector usa o valor predefinido.

O valor predefinido é "".

Environment Regex Pattern

Opcional.

Um padrão de expressão regular a executar no valor encontrado no campo Environment Field Name. Este parâmetro permite-lhe manipular o campo de ambiente através da lógica de expressão regular.

Use o valor predefinido .* para obter o valor bruto Environment Field Name necessário.

Se o padrão de expressão regular for nulo ou estiver vazio, ou o valor do ambiente for nulo, o resultado do ambiente final é o ambiente predefinido.

PythonProcessTime

Obrigatório.

O limite de tempo limite, em segundos, para o processo Python que executa o script atual.

O valor predefinido é 180.

API Root

Obrigatório.

A raiz da API da instância do Security Command Center.

Organization ID

Opcional.

O ID da Google Cloud organização a usar

Project ID

Opcional.

O Google Cloud ID do projeto a usar.

Quota Project ID

Opcional.

O Google Cloud ID do projeto a usar.

User's Service Account

Obrigatório.

O conteúdo completo do ficheiro JSON da chave da conta de serviço.

Use este parâmetro apenas se estiver a fazer a autenticação através de uma chave JSON.

Workload Identity Email

Opcional.

O endereço de email do cliente da sua conta de serviço.

Use este parâmetro apenas se estiver a fazer a autenticação com uma identidade de carga de trabalho.

Se configurar este parâmetro, também tem de configurar Quota Project ID.

Finding Class Filter

Opcional.

Uma lista separada por vírgulas dos tipos de resultados de segurança a incluir quando carrega dados da origem.

Os valores possíveis são os seguintes:

  • Threat
  • Vulnerability
  • Misconfiguration
  • SCC_Error
  • Observation
  • Toxic Combination
  • Chokepoint

Se não for fornecido nenhum valor, são carregadas as conclusões de todas as classes.

Lowest Severity To Fetch

Opcional.

A gravidade mais baixa dos alertas a obter.

Se não configurar este parâmetro, o conector carrega alertas com todos os níveis de gravidade.

Os valores possíveis são os seguintes:

  • Low
  • Medium
  • High
  • Critical

Se for atribuído o nível Fallback Severity a uma descoberta com uma gravidade indefinida, essa descoberta fica isenta da filtragem por este parâmetro.

Se não for indicado nenhum valor, todos os tipos de gravidade são carregados.

Fallback Severity

Opcional.

O nível de gravidade a atribuir a qualquer resultado de segurança carregado sem uma classificação de gravidade definida ou reconhecível da origem.

Os valores possíveis são os seguintes:

  • Low
  • Medium
  • High
  • Critical

O valor predefinido é Medium.

Max Hours Backwards

Opcional.

O número de horas anteriores ao momento atual para obter resultados.

Este parâmetro pode aplicar-se à iteração inicial do conector depois de ativar o conector pela primeira vez ou ao valor alternativo para uma data/hora do conector expirada.

O valor máximo é 24.

O valor predefinido é 1.

Max Findings To Fetch

Opcional.

O número de resultados a processar em cada iteração do conector.

O valor máximo é 1000.

O valor predefinido é 100.

Use dynamic list as a blacklist

Obrigatório.

Se estiver selecionada, o conetor usa a lista dinâmica como uma lista de bloqueios.

Desativada por predefinição.

Verify SSL

Obrigatório.

Se selecionada, a integração valida o certificado SSL quando se liga ao servidor do Security Command Center.

Desativada por predefinição.

Proxy Server Address

Opcional.

O endereço do servidor proxy a usar.

Proxy Username

Opcional.

O nome de utilizador do proxy para autenticação.

Proxy Password

Opcional.

A palavra-passe do proxy para autenticação.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.