Criar e gerenciar módulos personalizados do Event Threat Detection

Nesta página, explicamos como criar e gerenciar módulos personalizados do Event Threat Detection.

Antes de começar

Esta seção descreve os requisitos para o uso de módulos personalizados do Event Threat Detection.

Security Command Center Premium e Event Threat Detection

Para usar módulos personalizados do Event Threat Detection, ele precisa estar ativado. Para ativar a detecção de ameaças a eventos, consulte Ativar ou desativar um serviço integrado.

Papéis IAM

Os papéis do IAM determinam as ações que podem ser realizadas com os módulos personalizados do Event Threat Detection.

A tabela a seguir contém uma lista de permissões personalizadas do módulo Event Threat Detection e os papéis predefinidos do IAM que as incluem. Essas permissões são válidas até pelo menos 22 de janeiro de 2024. Depois dessa data, as permissões listadas na segunda tabela a seguir serão necessárias.

É possível usar o console do Google Cloud ou a API Security Command Center para aplicar esses papéis no nível da organização, da pasta ou do projeto.

Permissões necessárias antes de 22 de janeiro de 2024 Papel
securitycenter.eventthreatdetectioncustommodules.create
securitycenter.eventthreatdetectioncustommodules.update
securitycenter.eventthreatdetectioncustommodules.delete
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycenter.eventthreatdetectioncustommodules.get
securitycenter.eventthreatdetectioncustommodules.list
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin

A tabela a seguir contém uma lista de permissões personalizadas do módulo do Event Threat Detection que serão necessárias a partir de 22 de janeiro de 2024, bem como os papéis predefinidos do IAM que as incluem.

É possível usar o console do Google Cloud ou a API Security Command Center para aplicar esses papéis no nível da organização, da pasta ou do projeto.

Permissões necessárias após 22 de janeiro de 2024 Papel
securitycentermanagement.eventThreatDetectionCustomModules.create
securitycentermanagement.eventThreatDetectionCustomModules.update
securitycentermanagement.eventThreatDetectionCustomModules.delete
roles/securitycentermanagement.etdCustomModulesEditor
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycentermanagement.eventThreatDetectionCustomModules.list
securitycentermanagement.eventThreatDetectionCustomModules.get
securitycentermanagement.effectiveEventThreatDetectionCustomModules.list
securitycentermanagement.effectiveEventThreatDetectionCustomModules.get
securitycentermanagement.eventThreatDetectionCustomModules.validate
roles/securitycentermanagement.etdCustomModulesViewer
roles/securitycentermanagement.etdCustomModulesEditor
roles/securitycenter.adminViewer
roles/securitycenter.admin

Se você encontrar erros de acesso no Security Command Center, peça ajuda ao administrador. Consulte uma das páginas abaixo, dependendo do nível em que você ativou o Security Command Center:

Registros obrigatórios

Verifique se os registros relevantes estão ativados para sua organização, pastas e projetos. Para mais informações sobre quais registros são obrigatórios a cada tipo de módulo personalizado, consulte a tabela em Módulos personalizados e modelos.

Não é possível usar registros de fontes fora do Google Cloud.

Níveis de módulos personalizados

Este documento usa os seguintes termos para descrever o nível em que um módulo personalizado foi criado:

Módulo residencial
O módulo foi criado na visualização ou no escopo atual. Por exemplo, se você estiver na visualização de organização do console do Google Cloud, os módulos residenciais são os que foram criados no nível da organização.
Módulo herdado
O módulo foi criado em uma visualização ou escopo pai. Por exemplo, um módulo criado no nível da organização é um módulo herdado em qualquer pasta ou projeto.
Módulo descendente
O módulo foi criado em uma visualização ou escopo filho. Por exemplo, um módulo criado no nível de uma pasta ou projeto é um módulo descendente no nível da organização.

Criar módulos personalizados

É possível criar módulos personalizados do Event Threat Detection pelo console do Google Cloud ou modificando um modelo JSON e enviando-o via gcloud CLI. Você só precisa de modelos JSON quando planeja usar a gcloud CLI para criar módulos personalizados.

Para ver uma lista de modelos de módulo compatíveis, consulte Módulos personalizados e modelos.

Estrutura do modelo

Os modelos definem os parâmetros que os módulos personalizados usam para identificar ameaças nos seus registros. Os modelos são escritos em JSON e têm estrutura semelhante às descobertas geradas pelo Security Command Center. Você precisa configurar um modelo JSON apenas quando planeja usar a gcloud CLI para criar um módulo personalizado.

Cada modelo contém campos personalizáveis:

  • severity: a gravidade ou o nível de risco que você quer atribuir às descobertas desse tipo, LOW, MEDIUM, HIGH ou CRITICAL.
  • description: a descrição do módulo personalizado.
  • recommendation: ações recomendadas para abordar descobertas geradas pelo módulo personalizado.
  • Parâmetros de detecção: as variáveis usadas para avaliar os registros e acionar as descobertas. Os parâmetros de detecção são diferentes para cada módulo, mas incluem um ou mais de um dos campos a seguir:
    • domains: domínios da Web que serão monitorados
    • ips: endereços IP que serão monitorados
    • permissions: permissões que serão monitoradas
    • regions: regiões em que novas instâncias do Compute Engine serão permitidas
    • roles: papéis que serão monitorados
    • accounts: contas que serão monitoradas
    • Parâmetros que definem os tipos de instância permitidos do Compute Engine, por exemplo, series, cpus e ram_mb.
    • Expressões regulares para verificar propriedades, por exemplo, caller_pattern e resource_pattern.

O exemplo de código a seguir é um modelo de exemplo para Configurable Bad IP.

{
  "metadata": {
    "severity": "LOW",
    "description": "Flagged by Cymbal as malicious",
    "recommendation": "Contact the owner of the relevant project."
  },
  "ips": [
    "192.0.2.1",
    "192.0.2.0/24"
  ]
}

No exemplo anterior, o módulo personalizado gera uma descoberta de baixa gravidade quando os registros indicam um recurso conectado ao endereço IP 192.0.2.1 ou 192.0.2.0/24.

Modificar um modelo de módulo

Para criar módulos, escolha e modifique um modelo de módulo.

Se você planeja usar a Google Cloud CLI para criar o módulo personalizado, é necessário executar esta tarefa.

Se você planeja usar o console do Google Cloud para criar o módulo personalizado, pule esta tarefa. Você usará as opções apresentadas na tela para modificar os parâmetros do modelo.

  1. Escolha um modelo em Módulos personalizados e modelos.
  2. Copie o código para um arquivo local.
  3. Atualize os parâmetros que você quer usar para avaliar os registros.
  4. Salve o arquivo como JSON.
  5. Crie um módulo personalizado pela gcloud CLI usando o arquivo JSON.

Criar um módulo personalizado

Nesta seção, descrevemos como criar um módulo personalizado usando o console do Google Cloud e a CLI gcloud. Cada módulo personalizado de detecção de ameaças a eventos tem um limite de tamanho de 6 MB.

Para criar um módulo personalizado, siga estas etapas:

Console

  1. Veja os módulos do serviço Event Threat Detection. Os módulos personalizados e predefinidos aparecem em uma lista.
  2. Clique em Criar módulo.
  3. Clique no modelo do módulo que você quer usar.
  4. Clique em Selecionar.
  5. Em Nome do módulo, insira um nome de exibição para o novo modelo. O nome não pode ter mais de 128 caracteres e precisa conter apenas caracteres alfanuméricos e sublinhados, por exemplo, example_custom_module.
  6. Selecione ou adicione os valores de parâmetro solicitados. Os parâmetros são diferentes para cada módulo. Por exemplo, se você selecionou o modelo de módulo Configurable allowed Compute Engine region, selecione uma ou mais regiões. Se preferir, forneça a lista no formato JSON.
  7. Clique em Next.
  8. Em Gravidade, insira o nível de gravidade que você quer atribuir às descobertas geradas pelo novo módulo personalizado.
  9. Em Descrição, insira uma descrição para o novo módulo personalizado.
  10. Em Próximas etapas, insira as ações recomendadas em formato de texto simples. Todas as quebras de parágrafo que você adicionar serão ignoradas.
  11. Clique em Criar.

gcloud

  1. Crie um arquivo JSON com a definição do módulo personalizado. Use os modelos em Módulos personalizados e modelos como guia.

  2. Crie o módulo personalizado enviando o arquivo JSON em um comando gcloud:

 gcloud alpha scc custom-modules etd create \
     --RESOURCE_FLAG=RESOURCE_ID \
     --display-name="DISPLAY_NAME" \
     --module-type="MODULE_TYPE" \
     --enablement-state="ENABLED" \
     --custom-config-from-file=PATH_TO_JSON_FILE

Substitua:

  • RESOURCE_FLAG: o escopo do recurso pai em que o módulo personalizado será criado, organization, folder ou project.
  • RESOURCE_ID: o ID do recurso pai, ou seja, o ID da organização, da pasta ou do ID do projeto.
  • DISPLAY_NAME: um nome de exibição para o novo modelo. O nome não pode ter mais de 128 caracteres e precisa conter apenas caracteres alfanuméricos e sublinhados.
  • MODULE_TYPE: o tipo de módulo personalizado que você quer criar, por exemplo, CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_REGION.
  • PATH_TO_JSON_FILE: o arquivo JSON que contém a definição em JSON do módulo personalizado com base no modelo de módulo.

O módulo personalizado é criado e começa a fazer a verificação. Para excluir um módulo, consulte Excluir um módulo personalizado.

O nome da categoria do módulo personalizado contém a categoria de descoberta do tipo de módulo e o nome de exibição do módulo que você definiu. Por exemplo, o nome da categoria de um módulo personalizado pode ser Unexpected Compute Engine Region: example_custom_module. No console do Google Cloud, os sublinhados são exibidos como espaços. No entanto, você precisa incluir os sublinhados nas suas consultas.

As cotas regem o uso de módulos personalizados do Event Threat Detection.

Detecção de latência

A latência de detecção do Event Threat Detection e de todos os outros serviços integrados do Security Command Center está descrita em Latência de verificação.

Analisar resultados

As descobertas geradas por módulos personalizados podem ser visualizadas no console do Google Cloud ou usando a gcloud CLI.

Console

  1. No console do Google Cloud, acesse a página Descobertas do Security Command Center.

    Acesse Descobertas

  2. Selecione a organização ou o projeto do Google Cloud.
  3. Na seção Filtros rápidos, na subseção Nome de exibição da origem, selecione Módulos personalizados do Event Threat Detection. Os resultados da consulta de descobertas são atualizados para mostrar apenas as descobertas dessa fonte.
  4. Para conferir os detalhes de uma descoberta específica, clique no nome dela na coluna Categoria. O painel de detalhes da descoberta é aberto e mostra a guia Resumo.
  5. Na guia Resumo, revise os detalhes da descoberta, incluindo informações sobre o que foi detectado, o recurso afetado e, se disponível, as etapas que podem ser realizadas para corrigir a descoberta.
  6. Opcional: para conferir a definição JSON completa da descoberta, clique na guia JSON.

gcloud

Para ver as descobertas usando a gcloud CLI, realize estas ações:

  1. Abra uma janela de terminal.
  2. Encontre o ID de origem dos módulos personalizados do Event Threat Detection. O comando depende se você ativou o Security Command Center no nível da organização ou do projeto:

    gcloud scc sources describe RESOURCE_LEVEL/RESOURCE_ID \
        --source-display-name='Event Threat Detection Custom Modules'
    

    Substitua:

    • RESOURCE_LEVEL: o nível de ativação da sua instância do Security Command Center. Pode ser organizations ou projects.
    • RESOURCE_ID: o ID do recurso da sua organização ou projeto.

    A saída será assim: SOURCE_ID é um ID atribuído pelo servidor para fontes de segurança.

    canonicalName: RESOURCE_LEVEL/RESOURCE_ID/sources/SOURCE_ID
    description: Provider used by Event Threat Detection Custom Modules
    displayName: Event Threat Detection Custom Modules
    name: RESOURCE_LEVEL/RESOURCE_ID/sources/SOURCE_ID
  3. Para listar todas as descobertas de módulos personalizados do Event Threat Detection, execute o seguinte comando com o ID de origem da etapa anterior:

    gcloud scc findings list RESOURCE_LEVEL/RESOURCE_ID --source=SOURCE_ID
    

    Substitua:

    • RESOURCE_LEVEL: o nível do recurso em que você quer listar as descobertas. Pode ser organizations, folders ou projects.
    • RESOURCE_ID: o ID do recurso, ou seja, o ID da organização, da pasta ou do ID do projeto.
    • SOURCE_ID: o ID de origem dos módulos personalizados do Event Threat Detection.
  4. Para listar as descobertas de um módulo personalizado específico, execute o seguinte comando:

    MODULE="CUSTOM_MODULE_CATEGORY_NAME"
    FILTER="category=\"$MODULE\""
    gcloud scc findings list RESOURCE_LEVEL/RESOURCE_ID --source=SOURCE_ID --filter="$FILTER"
    

    Substitua:

    • CUSTOM_MODULE_CATEGORY_NAME: o nome da categoria do módulo personalizado. Esse nome é composto pela categoria de descoberta do tipo de módulo (listada em Módulos e modelos personalizados) e pelo nome de exibição do módulo com sublinhados em vez de espaços. Por exemplo, o nome da categoria de um módulo personalizado pode ser Unexpected Compute Engine region: example_custom_module.
    • RESOURCE_LEVEL: o nível do recurso em que você quer listar as descobertas, organizations, folders ou projects.
    • RESOURCE_ID: o ID do recurso, ou seja, o ID da organização, da pasta ou do ID do projeto.
    • SOURCE_ID: o ID de origem dos módulos personalizados do Event Threat Detection.

Para saber mais sobre como filtrar descobertas, consulte Como listar descobertas de segurança.

As descobertas geradas por módulos personalizados podem ser gerenciadas como todas as descobertas no Security Command Center. Para ver mais informações, consulte os seguintes tópicos:

Gerenciar módulos personalizados do Event Threat Detection

Nesta seção, descrevemos como ver, listar, atualizar e excluir módulos personalizados do Event Threat Detection.

Ver ou listar módulos personalizados

Console

  1. Veja os módulos do serviço Event Threat Detection. Os módulos personalizados e predefinidos aparecem em uma lista.
  2. Opcional: para ver apenas os módulos personalizados, no campo Filtro, insira Type:Custom.

Os resultados incluem:

  • Todos os módulos personalizados do Event Threat Detection residencial.
  • Todos os módulos personalizados do Event Threat Detection herdados. Por exemplo, se você estiver na visualização de projeto, os módulos personalizados criados nas pastas e na organização mãe desse projeto serão incluídos nos resultados.
  • Todos os módulos personalizados do Event Threat Detection criados em recursos filhos. Por exemplo, se você estiver na visualização da organização, os módulos personalizados que foram criados em pastas e projetos dessa organização serão incluídos nos resultados.

gcloud

gcloud alpha scc custom-modules etd list \
    --RESOURCE_FLAG=RESOURCE_ID

Substitua:

  • RESOURCE_FLAG: o escopo em que você quer listar módulos personalizados, um de organization, folder ou project.
  • RESOURCE_ID: o ID do recurso, ou seja, o ID da organização, da pasta ou do ID do projeto.

Os resultados incluem:

  • Todos os módulos personalizados do Event Threat Detection residencial.
  • Todos os módulos personalizados do Event Threat Detection herdados. Por exemplo, quando você lista módulos personalizados no nível do projeto, os módulos personalizados criados nas pastas e na organização pai desse projeto são incluídos nos resultados.

Cada item nos resultados inclui o nome, o status e as properties do módulo. As properties são diferentes para cada módulo.

O nome de cada módulo contém o respectivo ID do módulo personalizado. Muitas operações gcloud nesta página requerem o ID do módulo personalizado.

name: RESOURCE_LEVEL/RESOURCE_ID/eventThreatDetectionSettings/customModules/CUSTOM_MODULE_ID

Desativar um módulo personalizado

Console

Consulte Ativar ou desativar um módulo.

Quando você desativa um módulo personalizado herdado, as mudanças são aplicadas apenas ao nível de recurso atual. O módulo personalizado original que reside no nível pai não é afetado. Por exemplo, se você estiver no nível do projeto e desativar um módulo personalizado que foi herdado da pasta pai, o módulo personalizado só será desativado no nível do projeto.

Não é possível desativar um módulo personalizado descendente. Por exemplo, se você estiver na visualização da organização, não será possível desativar um módulo personalizado criado no nível do projeto.

gcloud

gcloud alpha scc custom-modules etd update CUSTOM_MODULE_ID \
    --RESOURCE_FLAG=RESOURCE_ID \
    --enablement-state="DISABLED"

Substitua:

  • CUSTOM_MODULE_ID: o ID numérico do módulo personalizado do Event Threat Detection (por exemplo, 1234567890). É possível encontrar o ID numérico no campo name do módulo personalizado relevante ao acessar a lista de módulos personalizados.
  • RESOURCE_FLAG: o escopo do recurso pai em que o módulo personalizado está armazenado, um dos seguintes: organization, folder ou project.
  • RESOURCE_ID: o ID do recurso pai, ou seja, o ID da organização, da pasta ou do ID do projeto.

Ativar um módulo personalizado

Console

Consulte Ativar ou desativar um módulo.

Quando você ativa um módulo personalizado herdado, as mudanças são aplicadas apenas ao nível de recurso atual. O módulo personalizado original que reside no nível pai não é afetado. Por exemplo, se você estiver no nível do projeto e ativar um módulo personalizado que foi herdado da pasta pai, o módulo personalizado só será ativado no nível do projeto.

Não é possível ativar um módulo personalizado descendente. Por exemplo, se você estiver na visualização da organização, não será possível ativar um módulo personalizado criado no nível do projeto.

gcloud

gcloud alpha scc custom-modules etd update CUSTOM_MODULE_ID \
    --RESOURCE_FLAG=RESOURCE_ID \
    --enablement-state="ENABLED"

Substitua:

  • CUSTOM_MODULE_ID: o ID numérico do módulo personalizado do Event Threat Detection (por exemplo, 1234567890). É possível encontrar o ID numérico no campo name do módulo personalizado relevante ao visualizar a lista de módulos personalizados.
  • RESOURCE_FLAG: o escopo do recurso pai em que o módulo personalizado está armazenado, um dos seguintes: organization, folder ou project.
  • RESOURCE_ID: o ID do recurso pai, ou seja, o ID da organização, da pasta ou do ID do projeto.

Atualizar a definição de um módulo personalizado

Nesta seção, descrevemos como atualizar um módulo personalizado usando o console do Google Cloud e a CLI gcloud. Cada módulo personalizado de detecção de ameaças a eventos tem um limite de tamanho de 6 MB.

Não é possível atualizar o tipo de um módulo personalizado.

Para atualizar um módulo personalizado, siga estas etapas:

Console

Só é possível editar módulos personalizados residenciais. Por exemplo, se você estiver na visualização da organização, só poderá editar os módulos personalizados criados no nível da organização.

  1. Veja os módulos do serviço Event Threat Detection. Os módulos personalizados e predefinidos aparecem em uma lista.
  2. Localize o módulo personalizado que você quer editar.
  3. Para esse módulo personalizado, clique em Ações > Editar.
  4. Edite o módulo personalizado conforme necessário.
  5. Clique em Save.

gcloud

Para atualizar um módulo, execute o seguinte comando e inclua o JSON atualizado do modelo de módulo:

 gcloud alpha scc custom-modules etd update CUSTOM_MODULE_ID \
     --RESOURCE_FLAG=RESOURCE_ID \
     --enablement-state="ENABLED" \
     --custom-config-from-file=PATH_TO_JSON_FILE

Substitua:

  • CUSTOM_MODULE_ID: o ID numérico do módulo personalizado do Event Threat Detection (por exemplo, 1234567890). É possível encontrar o ID numérico no campo name do módulo personalizado relevante ao visualizar a lista de módulos personalizados.
  • RESOURCE_FLAG: o escopo do recurso pai em que o módulo personalizado está armazenado, um dos seguintes: organization, folder ou project.
  • RESOURCE_ID: o ID do recurso pai, ou seja, o ID da organização, da pasta ou do ID do projeto.
  • PATH_TO_JSON_FILE: o arquivo JSON que contém a definição em JSON do módulo personalizado.

Verificar o status de um único módulo personalizado

Console

  1. Veja os módulos do serviço Event Threat Detection. Os módulos personalizados e predefinidos aparecem em uma lista.
  2. Encontre o módulo personalizado na lista.

O status do módulo personalizado é mostrado na coluna Status.

gcloud

 gcloud alpha scc custom-modules etd get CUSTOM_MODULE_ID \
     --RESOURCE_FLAG=RESOURCE_ID

Substitua:

  • CUSTOM_MODULE_ID: o ID numérico do módulo personalizado do Event Threat Detection (por exemplo, 1234567890). É possível encontrar o ID numérico no campo name do módulo personalizado relevante ao acessar a lista de módulos personalizados.
  • RESOURCE_FLAG: o escopo do recurso pai em que o módulo personalizado está localizado, um dos seguintes: organization, folder ou project.
  • RESOURCE_ID: o ID do recurso pai, ou seja, o ID da organização, da pasta ou do ID do projeto.

A saída é semelhante a esta e contém o status e as properties do módulo. As properties são diferentes para cada módulo.

config:
metadata:
  description: DESCRIPTION
  recommendation: RECOMMENDATION
  severity: SEVERITY
regions:
- region: REGION
displayName: USER_SPECIFIED_DISPLAY_NAME
enablementState: STATUS
lastEditor: LAST_EDITOR
name: RESOURCE_LEVEL/RESOURCE_ID/eventThreatDetectionSettings/customModules/CUSTOM_MODULE_ID
type: MODULE_TYPE
updateTime: 'UPDATE_TIME'

Excluir um módulo personalizado

Quando você exclui um módulo personalizado do Event Threat Detection, as descobertas que ele gerou não são modificadas e continuam disponíveis no Security Command Center. Em contrapartida, quando você exclui um módulo personalizado da Análise de integridade da segurança, as descobertas geradas são marcadas como inativas.

Não é possível recuperar um módulo personalizado excluído.

Console

Não é possível excluir módulos personalizados herdados. Por exemplo, se você estiver na visualização do projeto, não será possível excluir módulos personalizados criados no nível da pasta ou da organização.

Para excluir um módulo personalizado pelo console do Google Cloud, faça o seguinte:

  1. Veja os módulos do serviço Event Threat Detection. Os módulos personalizados e predefinidos aparecem em uma lista.
  2. Localize o módulo personalizado que você quer excluir.
  3. Para esse módulo personalizado, clique em Ações > Excluir. Uma mensagem será exibida solicitando para confirmar a exclusão.
  4. Clique em Excluir.

gcloud

 gcloud alpha scc custom-modules etd delete CUSTOM_MODULE_ID \
     --RESOURCE_FLAG=RESOURCE_ID

Substitua:

  • CUSTOM_MODULE_ID: o ID numérico do módulo personalizado do Event Threat Detection (por exemplo, 1234567890). É possível encontrar o ID numérico no campo name do módulo personalizado relevante ao acessar a lista de módulos personalizados.
  • RESOURCE_FLAG: o escopo do recurso pai em que o módulo personalizado está armazenado, um dos seguintes: organization, folder ou project.
  • RESOURCE_ID: o ID do recurso pai, ou seja, o ID da organização, da pasta ou do ID do projeto.

Clonar um módulo personalizado

Quando você clona um módulo personalizado, o módulo resultante é criado como um residente do recurso que você está visualizando. Por exemplo, se você clonar um módulo personalizado que seu projeto herdou da organização, o novo módulo personalizado será um módulo residencial no projeto.

Não é possível clonar um módulo personalizado descendente.

Para clonar um módulo personalizado pelo console do Google Cloud, faça o seguinte:

  1. Confira os módulos do serviço Event Threat Detection. Os módulos personalizados e predefinidos aparecem em uma lista.
  2. Encontre o módulo personalizado que você quer clonar.
  3. Para esse módulo personalizado, clique em Ações > Clonar.
  4. Edite o módulo personalizado conforme necessário.
  5. Clique em Criar.

A seguir