Recolha registos de combinação tóxica do Security Command Center
Este documento explica como exportar e carregar registos de combinação tóxica do Security Command Center para o Google Security Operations através do Cloud Storage. O analisador extrai e estrutura os dados de resultados de segurança dos registos JSON. Normaliza os dados num modelo de dados unificado (UDM), processando diferentes formatos de dados e enriquecendo-os com contexto adicional, como informações da rede e detalhes do agente do utilizador.
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
- Inicie sessão na Google Cloud consola.
Aceda à página Contentores do Cloud Storage.
Clique em Criar.
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:
Na secção Começar, faça o seguinte:
- Introduza um nome exclusivo que cumpra os requisitos de nome do contentor; por exemplo, gcp-scc-toxic-combination-logs.
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.
Para adicionar uma etiqueta de grupo, clique na seta de expansão para expandir a secção Etiquetas.
Clique em Adicionar etiqueta e especifique uma chave e um valor para a etiqueta.
Na secção Escolha onde quer armazenar os seus dados, faça o seguinte:
- Selecione um Tipo de localização.
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.
Para configurar a replicação entre contentores, expanda a secção Configurar replicação entre contentores.
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.
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.
Na secção Escolha como proteger os dados de objetos, faça o seguinte:
- Selecione qualquer uma das opções em Proteção de dados que quer definir para o seu contentor.
- 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.
Clique em Criar.
Configure o registo do Security Command Center
- Inicie sessão na Google Cloud consola.
Aceda à página do Security Command Center.
Selecione a sua organização.
Clique em Definições.
Clique no separador Exportações contínuas.
Em Nome da exportação, clique em Exportação de registos.
Em Sinks, ative a opção Registar resultados no registo.
Em Projeto de registo, introduza ou pesquise o projeto onde quer registar as descobertas.
Clique em Guardar.
Configure a exportação de registos de combinação tóxica do Security Command Center
- Inicie sessão na Google Cloud consola.
- Aceda a Registo > Router de registos.
- Clique em Criar destino.
Forneça os seguintes parâmetros de configuração:
- Nome do destino: introduza um nome significativo; por exemplo,
scc-toxic-combination-logs-sink
. - Destino da sincronização: selecione Armazenamento do Cloud Storage e introduza o URI do seu contentor; por exemplo,
gs://gcp-scc-toxic-combination-logs
. Filtro de registo:
logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ftoxic_combinations" resource.type="security_command_center_toxic_combination"
Definir opções de exportação: inclui todas as entradas do registo.
- Nome do destino: introduza um nome significativo; por exemplo,
Clique em Criar.
Configure autorizações para o Cloud Storage
- Aceda a IAM e administrador > IAM.
- Localize a conta de serviço do Cloud Logging.
- Conceda a função roles/storage.admin no contentor.
Configure feeds
Para configurar um feed, siga estes passos:
- Aceda a Definições do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na página seguinte, clique em Configurar um único feed.
- No campo Nome do feed, introduza um nome para o feed; por exemplo, Registos de combinação tóxica do Security Command Center.
- Selecione Google Cloud Storage V2 como Tipo de origem.
- Selecione Security Command Center Toxic Combination como o Tipo de registo.
- Clique em Obter conta de serviço junto ao campo Conta de serviço do Chronicle.
- Clicar em Seguinte.
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-toxic-combination-logs
. Opções de eliminação da origem: selecione a opção de eliminação de acordo com a sua preferência.
Idade máxima do ficheiro: inclui ficheiros modificados no último número de dias. A predefinição é 180 dias.
- URI do contentor de armazenamento: URL do contentor do Cloud Storage; por exemplo,
Clicar em Seguinte.
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 |
---|---|---|
categoria | read_only_udm.metadata.product_event_type | Mapeado diretamente a partir do campo category no registo não processado. |
createTime | read_only_udm.security_result.detection_fields.value | Mapeado diretamente a partir do campo createTime no registo não processado, em que a chave é "createTime". |
mudo/muda | read_only_udm.security_result.detection_fields.value | Mapeado diretamente a partir do campo mute no registo não processado, onde a chave é "mute". |
nome | read_only_udm.metadata.product_log_id | Mapeado diretamente a partir do campo name no registo não processado. |
pai ou mãe | read_only_udm.target.resource_ancestors.name | Mapeado diretamente a partir do campo parent no registo não processado. |
parentDisplayName | read_only_udm.metadata.description | Mapeado diretamente a partir do campo parentDisplayName no registo não processado. |
resource.displayName | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente a partir do campo resource.displayName no registo não processado, onde 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 . Itera cada pasta e mapeia resourceFolder para name e resourceFolderDisplayName para attribute.labels.value , onde a chave é "folder_resourceFolderDisplayName". |
resource.name | read_only_udm.target.resource.name | Mapeado diretamente a partir do campo resource.name no registo não processado. |
resource.parent | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente a partir do campo resource.parent no registo não processado, onde a chave é "resource_parent". |
resource.parentDisplayName | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente a partir do campo resource.parentDisplayName no registo não processado, onde a chave é "resource_parentDisplayName". |
resource.project | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente a partir do campo resource.project no registo não processado, onde a chave é "resource_project". |
resource.projectDisplayName | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente a partir do campo resource.projectDisplayName no registo não processado, onde a chave é "resource_projectDisplayName". |
resource.service | read_only_udm.target.application | Mapeado diretamente a partir do campo resource.service no registo não processado. |
resource.type | read_only_udm.target.resource.attribute.labels.value | Mapeado diretamente a partir do campo resource.type no registo não processado, onde a chave é "resource_type". |
resourceName | read_only_udm.target.resource.name | Mapeado diretamente a partir do campo resourceName no registo não processado. |
securityMarks.name | read_only_udm.security_result.detection_fields.value | Mapeado diretamente a partir do campo securityMarks.name no registo não processado, onde a chave é "securityMarks_name". |
gravidade | read_only_udm.security_result.severity | Mapeado diretamente a partir do campo severity no registo não processado. |
estado | read_only_udm.security_result.detection_fields.value | Mapeado diretamente a partir do campo state no registo não processado, onde a chave é "state". |
eventTime | read_only_udm.metadata.event_timestamp.seconds | O analisador extrai a data/hora do campo eventTime e converte-a em segundos desde o início da época Unix. |
read_only_udm.metadata.product_name | O analisador sintático define o valor de product_name como Security Command Center com base na origem do registo. |
|
read_only_udm.metadata.vendor_name | O analisador sintático define o valor de vendor_name como Google com base na origem do registo. |
|
read_only_udm.security_result.alert_state | O analisador sintático define o valor de alert_state como ALERTING , uma vez que este registo representa um alerta ativo. |
|
read_only_udm.security_result.category_details | O analisador sintático define o valor de category_details como POSTURE_VIOLATION com base na origem do registo. |
|
read_only_udm.security_result.url_back_to_product | O analisador sintático cria dinamicamente o url_back_to_product através dos IDs da organização, da origem e da deteção extraídos do registo. |
|
pai ou mãe | read_only_udm.target.resource.product_object_id | O analisador extrai o ID da origem do campo parent e define-o como product_object_id . |
resourceName | read_only_udm.target.resource_ancestors.name | O analisador extrai o ID do projeto do campo resourceName e define-o como uma entrada resource_ancestors com resource_type como CLOUD_PROJECT . |
read_only_udm.target.resource_ancestors.resource_subtype | O analisador define o valor resource_subtype como google.cloud.resourcemanager.Project para os antepassados da pasta com base na origem do registo. |
|
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. Estas 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 da Google SecOps.