Coletar registros de combinação tóxica do Security Command Center
Este documento explica como exportar e ingerir registros de combinação tóxica do Security Command Center no Google Security Operations usando o Cloud Storage. O analisador extrai e estrutura dados de descobertas de segurança de registros JSON. Ele normaliza os dados em um modelo unificado (UDM), processando diferentes formatos e enriquecendo-os com contexto adicional, como informações de rede e detalhes do user agent.
Antes de começar
Verifique se você atende aos 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.
Criar um bucket do Cloud Storage
- Faça login no console doGoogle 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 etapa:
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-toxic-combination-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 em registros do Security Command Center
- Faça login no console doGoogle 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 a exportação de registros de combinação tóxica do Security Command Center
- Faça login no console doGoogle Cloud .
- Acesse Logging > Roteador de registros.
- Clique em Criar coletor.
Forneça os seguintes parâmetros de configuração:
- Nome do coletor: insira um nome significativo, por exemplo,
scc-toxic-combination-logs-sink
. - Destino do gravador: selecione Cloud Storage e insira o URI do bucket. Por exemplo,
gs://gcp-scc-toxic-combination-logs
. Filtro de registros:
logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ftoxic_combinations" resource.type="security_command_center_toxic_combination"
Definir opções de exportação: inclua todas as entradas de registro.
- Nome do coletor: insira um nome significativo, por exemplo,
Clique em Criar.
Configurar permissões para o Cloud Storage
- Acesse IAM e administrador > IAM.
- Localize a conta de serviço do Cloud Logging.
- Conceda o papel roles/storage.admin no bucket.
Configurar feeds
Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:
- Configurações do SIEM > Feeds
- Central de conteúdo > Pacotes de conteúdo
Configure feeds em "Configurações do SIEM" > "Feeds".
Para configurar um feed, siga estas etapas:
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na próxima página, clique em Configurar um único feed.
- No campo Nome do feed, insira um nome para o feed, por exemplo, Registros de combinação tóxica do Security Command Center.
- Selecione Google Cloud Storage como o Tipo de origem.
- Selecione Combinação tóxica do Security Command Center como o Tipo de registro.
- Clique em Receber 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 de armazenamento: URL do bucket do Cloud Storage. Por exemplo,
gs://gcp-scc-toxic-combination-logs
. - URI é um: selecione Diretório que inclui subdiretórios.
Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
- URI do bucket de armazenamento: URL do bucket do Cloud Storage. Por exemplo,
Clique em Próxima.
Revise a nova configuração do feed na tela Finalizar e clique em Enviar.
Configurar feeds na Central de conteúdo
Especifique valores para os seguintes campos:
- URI do bucket de armazenamento: URL do bucket do Cloud Storage. Por exemplo,
gs://gcp-scc-toxic-combination-logs
. - URI é um: selecione Diretório que inclui subdiretórios.
- Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Tipo de origem: método usado para coletar registros no Google SecOps.
- Namespace do recurso: namespace associado ao feed.
- Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
categoria | read_only_udm.metadata.product_event_type | Mapeado diretamente do campo category no registro bruto. |
createTime | read_only_udm.security_result.detection_fields.value | Mapeado diretamente do campo createTime no registro bruto, em que a chave é "createTime". |
mute | read_only_udm.security_result.detection_fields.value | Mapeado diretamente do campo mute no registro bruto, em que a chave é "mute". |
nome | read_only_udm.metadata.product_log_id | Mapeado diretamente do campo name no registro bruto. |
primária | read_only_udm.target.resource_ancestors.name | Mapeado diretamente do campo parent no registro bruto. |
parentDisplayName | read_only_udm.metadata.description | Mapeado diretamente do campo parentDisplayName no registro bruto. |
resource.displayName | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente do campo resource.displayName no registro bruto, em que a chave é "resource_displayName". |
resource.folders | read_only_udm.target.resource_ancestors | O analisador extrai informações da pasta de recursos da matriz folders no objeto resource . Ele itera por cada pasta e mapeia resourceFolder para name e resourceFolderDisplayName para attribute.labels.value , em que a chave é "folder_resourceFolderDisplayName". |
resource.name | read_only_udm.target.resource.name | Mapeado diretamente do campo resource.name no registro bruto. |
resource.parent | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente do campo resource.parent no registro bruto, em que a chave é "resource_parent". |
resource.parentDisplayName | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente do campo resource.parentDisplayName no registro bruto, em que a chave é "resource_parentDisplayName". |
resource.project | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente do campo resource.project no registro bruto, em que a chave é "resource_project". |
resource.projectDisplayName | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente do campo resource.projectDisplayName no registro bruto, em que a chave é "resource_projectDisplayName". |
resource.service | read_only_udm.target.application | Mapeado diretamente do campo resource.service no registro bruto. |
resource.type | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente do campo resource.type no registro bruto, em que a chave é "resource_type". |
resourceName | read_only_udm.target.resource.name | Mapeado diretamente do campo resourceName no registro bruto. |
securityMarks.name | read_only_udm.security_result.detection_fields.value | Mapeado diretamente do campo securityMarks.name no registro bruto, em que a chave é "securityMarks_name". |
gravidade, | read_only_udm.security_result.severity | Mapeado diretamente do campo severity no registro bruto. |
estado | read_only_udm.security_result.detection_fields.value | Mapeado diretamente do campo state no registro bruto, em que a chave é "state". |
eventTime | read_only_udm.metadata.event_timestamp.seconds | O analisador extrai o carimbo de data/hora do campo eventTime e o converte em segundos da época Unix. |
read_only_udm.metadata.product_name | O analisador define o product_name como Security Command Center com base na origem do registro. |
|
read_only_udm.metadata.vendor_name | O analisador define o vendor_name como Google com base na origem do registro. |
|
read_only_udm.security_result.alert_state | O analisador define o alert_state como ALERTING porque esse registro representa um alerta ativo. |
|
read_only_udm.security_result.category_details | O analisador define o category_details como POSTURE_VIOLATION com base na origem do registro. |
|
read_only_udm.security_result.url_back_to_product | O analisador cria dinamicamente o url_back_to_product usando os IDs da organização, da origem e da descoberta extraídos do registro. |
|
primária | read_only_udm.target.resource.product_object_id | O analisador extrai o ID da origem do campo parent e o define como product_object_id . |
resourceName | read_only_udm.target.resource_ancestors.name | O analisador extrai o ID do projeto do campo resourceName e o define como uma entrada resource_ancestors com resource_type como CLOUD_PROJECT . |
read_only_udm.target.resource_ancestors.resource_subtype | O analisador define o resource_subtype como google.cloud.resourcemanager.Project para ancestrais de pastas com base na origem do registro. |
|
read_only_udm.target.resource.attribute.labels.key | O analisador define várias chaves para o campo labels no objeto attribute do recurso de destino. Essas chaves incluem "resource_parentDisplayName", "resource_type", "resource_projectDisplayName", "resource_displayName", "finding_id", "source_id", "resource_parent" e "resource_project". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.