Coletar registros de erros do Cloud Security Command Center
Este documento explica como exportar e processar registros de erros do Security Command Center nas operações de segurança do Google usando o Cloud Storage. O analisador transforma registros brutos formatados em JSON em um modelo de dados unificado (UDM, na sigla em inglês). Ele extrai campos relevantes do registro bruto, realiza a limpeza e a normalização de dados e estrutura a saída de acordo com o esquema do UDM para uma análise de segurança consistente.
Antes de começar
- Verifique se o Google Cloud Security Command Center está ativado e configurado no Google Cloud ambiente.
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você tem acesso privilegiado ao Security Command Center e ao Cloud Logging.
Criar um bucket do Cloud Storage
- Faça login no console do Google Cloud.
Acesse a página Buckets do Cloud Storage.
Clique em Criar.
Na página Criar um bucket, insira as informações do seu bucket. Após cada uma das etapas a seguir, clique em Continuar para prosseguir para a próxima:
Na seção Começar, faça o seguinte:
- Insira um nome exclusivo que atenda aos requisitos de nome de bucket. Por exemplo, gcp-scc-error-logs.
Para ativar o namespace hierárquico, clique na seta de expansão para abrir a seção Otimizar para cargas de trabalho orientadas a arquivos e com uso intensivo de dados e selecione Ativar namespace hierárquico neste bucket.
Para adicionar um rótulo de bucket, clique na seta de expansão para abrir a seção Rótulos.
Clique em Adicionar rótulo e especifique uma chave e um valor para o rótulo.
Na seção Escolha onde armazenar seus dados, faça o seguinte:
- Selecione um tipo de local.
Use o menu do tipo de local para selecionar um Local em que os dados de objetos no bucket serão armazenados permanentemente.
Para configurar a replicação entre buckets, abra a seção Configurar a replicação entre buckets.
Na seção Escolha uma classe de armazenamento para seus dados, selecione uma classe de armazenamento padrão para o bucket ou selecione Classe automática para gerenciamento automático da classe de armazenamento dos dados do bucket.
Na seçã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 controle de acesso para os objetos do bucket.
Na seção Escolha como proteger os dados do objeto, faça o seguinte:
- Selecione qualquer uma das opções em Proteção de dados que você quer definir para o bucket.
- Para escolher como os dados do objeto serão criptografados, clique na seta de expansão identificada como Criptografia de dados e selecione um método de criptografia de dados.
Clique em Criar.
Configurar o registro do Security Command Center
- Faça login no console do Google Cloud.
Acesse a página Security Command Center.
Selecione a organização.
Clique em Configurações.
Clique na guia Exportações contínuas.
Em Nome da exportação, clique em Exportação do Logging.
Em Coletores, ative a opção Registrar descobertas no Logging.
Em Projeto do Logging, insira ou pesquise o projeto em que você quer registrar as descobertas.
Clique em Salvar.
Configurar Google Cloud Exportação de registros de erros do Security Command Center
- Faça login no console do Google Cloud.
- Acesse Logging > Roteador de registros.
- Clique em Criar coletor.
Informe os seguintes parâmetros de configuração:
- Nome do coletor: insira um nome significativo. Por exemplo,
scc-error-logs-sink
. - Destino do sink: selecione Cloud Storage e insira o URI do bucket. Por exemplo,
gs://gcp-scc-error-logs
. Filtro de registro:
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 de registro.
- Nome do coletor: insira um nome significativo. Por exemplo,
Clique em Criar.
Configurar permissões do Cloud Storage
- Acesse IAM e administrador > IAM.
- Localize a conta de serviço do Cloud Logging.
- Conceda o papel roles/storage.admin no bucket.
Configure um feed no Google SecOps para ingerir Google Cloud registros de erros do Security Command Center
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- No campo Nome do feed, insira um nome para o feed. Por exemplo, Google Cloud Registros de erros do Security Command Center.
- Selecione Google Cloud Storage como o Tipo de origem.
- Selecione Erro do Security Command Center como o Tipo de registro.
- Clique em Pegar conta de serviço ao lado do campo Conta de serviço do Chronicle.
- Clique em Próxima.
Especifique valores para os seguintes parâmetros de entrada:
- URI do bucket do Storage: URL do bucket do Cloud Storage. Por exemplo,
gs://gcp-scc-error-logs
. - URI Is A: selecione Directory which includes subdirectories.
Opções de exclusão de origem: selecione a opção de exclusão de acordo com sua preferência.
Namespace do recurso: o namespace do recurso.
Rótulos de ingestão: o rótulo aplicado aos eventos desse feed.
- URI do bucket do Storage: URL do bucket do Cloud Storage. Por exemplo,
Clique em Próxima.
Revise a configuração do novo feed na tela Finalizar e clique em Enviar.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do 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 , dependendo do formato do registro. |
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 , dependendo do formato do registro. A chave está definida como createTime . |
description | security_result.description | Valor retirado do campo description ou findings.description , dependendo do formato do registro. |
eventTime | metadata.event_timestamp | Valor retirado do campo eventTime ou findings.eventTime , dependendo do formato do registro, e convertido em um carimbo de data/hora. |
externalUri | about.url | Valor retirado do campo externalUri ou findings.externalUri , dependendo do formato do registro. |
findingClass | security_result.category_details | Valor retirado do campo findingClass ou findings.findingClass , dependendo do formato do registro. |
findingProviderId | target.resource.attribute.labels.value | Valor retirado do campo findingProviderId ou findings.findingProviderId , dependendo do formato do registro. A chave está definida como finding_provider_id . |
mute | security_result.detection_fields.value | Valor retirado do campo mute ou findings.mute , dependendo do formato do registro. A chave está definida como mute . |
nextSteps | security_result.outcomes.value | Valor retirado do campo nextSteps ou findings.nextSteps , dependendo do formato do registro. A chave está definida como nextSteps . |
resourceName | target.resource.name | Valor retirado do campo resourceName , findings.resourceName , resource_name ou findings.resource_name , dependendo do formato do registro. |
securityMarks.name | security_result.detection_fields.value | Valor retirado do campo securityMarks.name ou findings.securityMarks.name , dependendo do formato do registro. A chave está definida como securityMarks_name . |
gravidade, | security_result.severity | Valor retirado do campo severity ou findings.severity , dependendo do formato do registro, e mapeado para o nível de gravidade do UDM correspondente. |
sourceDisplayName | target.resource.attribute.labels.value | Valor retirado do campo sourceDisplayName ou findings.sourceDisplayName , dependendo do formato do registro. A chave está definida como source_display_name . |
sourceProperties.ReactivationCount | target.resource.attribute.labels.value | Valor retirado do campo sourceProperties.ReactivationCount ou findings.sourceProperties.ReactivationCount , dependendo do formato do registro. A chave está definida como sourceProperties_ReactivationCount . |
estado | security_result.detection_fields.value | Valor retirado do campo state ou findings.state , dependendo do formato do registro. A chave está definida como state . |
is_alert | É definido como true se a lógica do analisador determinar que o evento representa um alerta ativo. |
|
is_significant | Definido como true se a lógica do analisador determinar que o evento é significativo. |
|
metadata.event_type | Defina como GENERIC_EVENT como valor padrão. |
|
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ídos do campo name ou findings.name , capturando a última parte após o último caractere / . |
|
target.resource.product_object_id | Extraídos do campo parent ou findings.parent , capturando o valor após o último caractere / . |
|
target.resource.ancestors.name | Valor retirado do campo parent ou findings.parent , dependendo do formato do registro. |
|
target.resource_ancestors.name | Extraídos 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 | Extrai do campo parent ou findings.parent , capturando o valor após o segundo caractere / . |
|
security_result.alert_state | Mapeado com base no campo state ou findings.state . Se o estado for ACTIVE , o alert_state será definido como ALERTING . Caso contrário, será NOT_ALERTING . |
|
about.user.email_addresses | Valor retirado do campo iamBindings.member . |
|
about.user.attribute.roles.name | Valor codificado Security . |
Alterações
2023-11-29
- Correção de uma inconsistência entre a forma como
principal/target.hostname
eprincipal/target.asset.hostname
eram processados.
2023-05-02
- O campo
security_result.url_back_to_product
agora contém um endereço da Web formatado corretamente.
2023-04-12
- O analisador
GCP_SECURITYCENTER_ERROR
se tornou a escolha padrão. Esse analisador processa as descobertas do Google Cloud Security Command Center. Para mais informações, consulte Coletar descobertas do Security Command Center: referência de mapeamento de campos.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.