Recolha registos de erros do Security Command Center

Compatível com:

Este documento explica como exportar e carregar registos de erros do Security Command Center para o Google Security Operations através do Cloud Storage. O analisador transforma os registos formatados JSON não processados num modelo de dados unificado (UDM). Extrai campos relevantes do registo não processado, realiza a limpeza e a normalização de dados, e estrutura a saída de acordo com o esquema da GDU para uma análise de segurança consistente.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • O Security Command Center está ativado e configurado no seu ambiente Google Cloud .
  • Instância do Google SecOps.
  • Acesso privilegiado ao Security Command Center e ao Cloud Logging.

Crie um contentor do Cloud Storage

  1. Inicie sessão na Google Cloud consola.
  2. Aceda à página Contentores do Cloud Storage.

    Aceda aos contentores

  3. Clique em Criar.

  4. Na página Criar um depósito, introduza as informações do depósito. Após cada um dos passos seguintes, clique em Continuar para avançar para o passo seguinte:

    1. Na secção Começar, faça o seguinte:

      1. Introduza um nome exclusivo que cumpra os requisitos de nome do contentor; por exemplo, gcp-scc-error-logs.
      2. Para ativar o espaço de nomes hierárquico, clique na seta de expansão para expandir a secção Otimizar para cargas de trabalho orientadas para ficheiros e com grande volume de dados e, de seguida, selecione Ativar espaço de nomes hierárquico neste contentor.

      3. Para adicionar uma etiqueta de grupo, clique na seta de expansão para expandir a secção Etiquetas.

      4. Clique em Adicionar etiqueta e especifique uma chave e um valor para a etiqueta.

    2. Na secção Escolha onde quer armazenar os seus dados, faça o seguinte:

      1. Selecione um Tipo de localização.
      2. Use o menu de tipo de localização para selecionar uma Localização onde os dados de objetos no seu contentor vão ser armazenados permanentemente.

      3. Para configurar a replicação entre contentores, expanda a secção Configurar replicação entre contentores.

    3. Na secção Escolha uma classe de armazenamento para os seus dados, selecione uma classe de armazenamento predefinida para o contentor ou selecione Autoclass para a gestão automática da classe de armazenamento dos dados do seu contentor.

    4. Na secção Escolha como controlar o acesso a objetos, selecione não para aplicar a prevenção de acesso público e selecione um modelo de controlo de acesso para os objetos do seu contentor.

    5. Na secção Escolha como proteger os dados de objetos, faça o seguinte:

      1. Selecione qualquer uma das opções em Proteção de dados que quer definir para o seu contentor.
      2. Para escolher como os dados de objetos vão ser encriptados, clique na seta de expansão com a etiqueta Encriptação de dados e selecione um Método de encriptação de dados.
  5. Clique em Criar.

Configure o registo do Security Command Center

  1. Inicie sessão na Google Cloud consola.
  2. Aceda à página do Security Command Center.

    Aceder ao Security Command Center

  3. Selecione a sua organização.

  4. Clique em Definições.

  5. Clique no separador Exportações contínuas.

  6. Em Nome da exportação, clique em Exportação de registos.

  7. Em Sinks, ative a opção Registar resultados no registo.

  8. Em Projeto de registo, introduza ou pesquise o projeto onde quer registar as descobertas.

  9. Clique em Guardar.

Configure a exportação de registos de erros do Security Command Center

  1. Inicie sessão na Google Cloud consola.
  2. Aceda a Registo > Router de registos.
  3. Clique em Criar destino.
  4. Forneça os seguintes parâmetros de configuração:

    • Nome do destino: introduza um nome significativo; por exemplo, scc-error-logs-sink.
    • Destino da sincronização: selecione Armazenamento do Cloud Storage e introduza o URI do seu contentor; por exemplo, gs://gcp-scc-error-logs.
    • Filtro de registo:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ferror_logs"
       resource.type="security_command_center_error"
      
    • Definir opções de exportação: inclui todas as entradas do registo.

  5. Clique em Criar.

Configure autorizações para o Cloud Storage

  1. Aceda a IAM e administrador > IAM.
  2. Localize a conta de serviço do Cloud Logging.
  3. Conceda a função roles/storage.admin no contentor.

Configure feeds

Para configurar um feed, siga estes passos:

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na página seguinte, clique em Configurar um único feed.
  4. No campo Nome do feed, introduza um nome para o feed; por exemplo, Registos de erros do Security Command Center.
  5. Selecione Google Cloud Storage V2 como Tipo de origem.
  6. Selecione Erro do Security Command Center como o Tipo de registo.
  7. Clique em Obter conta de serviço junto ao campo Conta de serviço do Chronicle.
  8. Clicar em Seguinte.
  9. Especifique valores para os seguintes parâmetros de entrada:
    • URI do contentor de armazenamento: URL do contentor do Cloud Storage; por exemplo, gs://gcp-scc-error-logs.
    • Opções de eliminação da origem: selecione a opção de eliminação de acordo com a sua preferência. Nota: se selecionar a opção Delete transferred files ou Delete transferred files and empty directories, certifique-se de que concedeu as autorizações adequadas à conta de serviço.
    • Idade máxima do ficheiro: inclui ficheiros modificados no último número de dias. A predefinição é 180 dias.
  10. Clicar em Seguinte.
  11. Reveja a nova configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
access.principalEmail about.user.email_addresses Valor retirado do campo access.principalEmail.
categoria metadata.product_event_type Valor retirado do campo category ou findings.category, consoante o formato do registo.
contacts.security.contacts.email security_result.about.user.email_addresses Valor retirado do campo contacts.security.contacts.email. A função está definida como Security.
contacts.technical.contacts.email security_result.about.user.email_addresses Valor retirado do campo contacts.technical.contacts.email. A função está definida como Technical.
createTime security_result.detection_fields.value Valor retirado do campo createTime ou findings.createTime, consoante o formato do registo. A tecla está definida como createTime.
descrição security_result.description Valor retirado do campo description ou findings.description, consoante o formato do registo.
eventTime metadata.event_timestamp Valor retirado do campo eventTime ou findings.eventTime, consoante o formato do registo, e convertido numa data/hora.
externalUri about.url Valor retirado do campo externalUri ou findings.externalUri, consoante o formato do registo.
findingClass security_result.category_details Valor retirado do campo findingClass ou findings.findingClass, consoante o formato do registo.
findingProviderId target.resource.attribute.labels.value Valor retirado do campo findingProviderId ou findings.findingProviderId, consoante o formato do registo. A tecla está definida como finding_provider_id.
mudo/muda security_result.detection_fields.value Valor retirado do campo mute ou findings.mute, consoante o formato do registo. A tecla está definida como mute.
nextSteps security_result.outcomes.value Valor retirado do campo nextSteps ou findings.nextSteps, consoante o formato do registo. A tecla está definida como nextSteps.
resourceName target.resource.name Valor retirado do campo resourceName, findings.resourceName, resource_name ou findings.resource_name, consoante o formato do registo.
securityMarks.name security_result.detection_fields.value Valor retirado do campo securityMarks.name ou findings.securityMarks.name, consoante o formato do registo. A tecla está definida como securityMarks_name.
gravidade security_result.severity Valor retirado do campo severity ou findings.severity, consoante o formato do registo, e mapeado para o nível de gravidade da UDM correspondente.
sourceDisplayName target.resource.attribute.labels.value Valor retirado do campo sourceDisplayName ou findings.sourceDisplayName, consoante o formato do registo. A tecla está definida como source_display_name.
sourceProperties.ReactivationCount target.resource.attribute.labels.value Valor retirado do campo sourceProperties.ReactivationCount ou findings.sourceProperties.ReactivationCount, consoante o formato do registo. A tecla está definida como sourceProperties_ReactivationCount.
estado security_result.detection_fields.value Valor retirado do campo state ou findings.state, consoante o formato do registo. A tecla está definida como state.
metadata.event_type Definir como GENERIC_EVENT como valor predefinido.
metadata.log_type Valor codificado GCP_SECURITYCENTER_ERROR.
metadata.description Valor codificado Security Command Center.
metadata.product_name Valor codificado Security Command Center.
metadata.vendor_name Valor codificado Google.
target.resource.attribute.labels.key Valor codificado finding_id.
target.resource.attribute.labels.value Extraído do campo name ou findings.name, capturando a última parte após o último caráter /.
target.resource.product_object_id Extraído do campo parent ou findings.parent, capturando o valor após o último caráter /.
target.resource.ancestors.name Valor retirado do campo parent ou findings.parent, consoante o formato do registo.
target.resource_ancestors.name Extraído do campo resourceName ou findings.resourceName, capturando o valor após o prefixo //cloudresourcemanager.googleapis.com/projects/.
target.resource_ancestors.resource_type Valor codificado CLOUD_PROJECT.
target.resource.attribute.labels.key Valor codificado source_id.
target.resource.attribute.labels.value Extraído do campo parent ou findings.parent, capturando o valor após o segundo caráter /.
security_result.alert_state Mapeada com base no campo state ou findings.state. Se o estado for ACTIVE, o alert_state é definido como ALERTING, caso contrário, NOT_ALERTING.
about.user.email_addresses Valor retirado do campo iamBindings.member.
about.user.attribute.roles.name Valor codificado Security.

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