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 os módulos personalizados do Event Threat Detection, o Event Threat Detection precisa estar ativado. Para ativar o Event Threat Detection, consulte Ativar ou desativar um serviço integrado.

Papéis do IAM

Os papéis do IAM determinam as ações que você pode executar com os módulos personalizados do Event Threat Detection.

A tabela a seguir contém uma lista de permissões do módulo personalizado do 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. Após essa data, as permissões listadas na segunda tabela a seguir serão obrigató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 do módulo personalizado 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 seguintes páginas, 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 há suporte para registros de origens externas ao Google Cloud.

Níveis de módulo 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 serão criados no nível da organização.
Módulo herdado
O módulo foi criado em uma visualização ou um escopo pai. Por exemplo, um módulo criado no nível da organização é um módulo herdado em qualquer pasta ou nível do projeto.
Módulo descendente
O módulo foi criado em uma visualização ou um escopo filho. Por exemplo, um módulo criado no nível de uma pasta ou de um 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 seus registros.
  4. Salve o arquivo como JSON.
  5. Crie um módulo personalizado por meio da CLI gcloud 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 do Event Threat Detection 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 Próxima.
  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 e modelos personalizados como seu 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.

Seu módulo personalizado foi criado e inicia 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, nas consultas, você precisa incluir os sublinhados.

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 todos os outros serviços integrados do Security Command Center são descritas em latência da 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

Para ver as descobertas no console do Google Cloud, realize estas ações:

  1. Acesse a página Descobertas do Security Command Center no console do Google Cloud.

    Acesse Descobertas

  2. Selecione sua organização, pasta ou projeto.

  3. No painel Filtros rápidos, role a página para baixo até Nome de exibição da origem e selecione Módulos personalizados do Event Threat Detection.

    O painel Resultados da consulta de descobertas é preenchido com as descobertas do tipo de origem selecionado.

  4. Para ver detalhes sobre uma descoberta específica na tabela, clique no nome da descoberta em Categoria.

gcloud

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

  1. Abra uma janela de terminal.
  2. Recebe o ID da origem dos módulos personalizados do Event Threat Detection. O comando depende da ativação do 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 instância do Security Command Center (organizations ou projects).
    • RESOURCE_ID: o ID do recurso da organização ou do 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 de recurso em que você quer listar as descobertas. Um de 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 da 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 (conforme listado em Módulos e modelos personalizados) e o 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 de recurso em que você quer listar as descobertas. Um de 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 da fonte 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 o seguinte:

  • Todos os módulos personalizados do Event Threat Detection residenciais.
  • Todos os módulos personalizados do Event Threat Detection herdados. Por exemplo, se você estiver na visualização do projeto, os módulos personalizados criados nas pastas mãe e na organização do projeto vão ser incluídos nos resultados.
  • Todos os módulos personalizados descendentes do Event Threat Detection criados nos recursos filhos. Por exemplo, se você estiver na visualização da organização, os módulos personalizados criados em pastas e projetos nessa 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 (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 o seguinte:

  • Todos os módulos personalizados do Event Threat Detection residenciais.
  • 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 mãe e na organização desse projeto são incluídos nos resultados.

Cada item nos resultados inclui o nome, o status e as propriedades 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 alterações são aplicadas apenas ao seu 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 herdado da pasta mãe, o módulo personalizado será desativado apenas no nível do projeto.

Não é possível desativar um módulo personalizado descendente. Por exemplo, se você está na visualização da organização, não é possível desativar um módulo personalizado criado para envolvidos no 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. Você pode receber o ID numérico do 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 reside (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, suas alterações 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 mãe, o módulo personalizado será ativado apenas 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 reside (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 do Event Threat Detection 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 Salvar.

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 reside (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. Você pode receber o ID numérico do 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 reside (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. Você pode receber o ID numérico do 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 reside (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 personalizado resultante é criado como residente do recurso que você está visualizando. Por exemplo, se você clonar um módulo personalizado que o 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