Fechar alertas em massa

Compatível com:

Este documento descreve como fechar programaticamente um grande número de alertas usando a API REST do Google Security Operations. O Google recomenda o uso desse método em situações em que o fechamento de alertas na plataforma seria muito demorado.

Pré-requisitos

Antes de começar, verifique se você tem o seguinte:

  • Ambiente Python:é necessário ter o Python instalado para executar os scripts de amostra.
  • Amostras de API:acesso ao api-samples-python repositório do GitHub.
  • Credenciais:um arquivo de credenciais válido (por exemplo, .chronicle_credentials.json).
  • jq:um processador JSON de linha de comando usado para analisar a saída da API.

Pesquisar detecções

Primeiro, identifique os alertas (detecções de alerta) que você quer fechar. Use o script list_detections.py para encontrar detecções associadas a um ID de regra específico.

  1. Localize o ID da regra e os detalhes do projeto.
  2. Execute o script para gerar as detecções em um arquivo JSON. O nome do arquivo JSON pode ser detections.json ou temp.json.

Comando:

python -m detect.v1alpha.list_detections \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --rule_id=$RULE_ID \
  > ip_in_abuseipdb_out.json

Extrair IDs de detecção

O script de atualização em massa exige um arquivo de texto simples que contenha um ID de detecção por linha. A etapa anterior criou um arquivo JSON, que agora precisa ser convertido em um arquivo de texto.

  1. Use jq para extrair os IDs de detecção (que começam com de_) da matriz JSON.
  2. Salve a saída em um arquivo de texto.

Comando:

cat ip_in_abuseipdb_out.json | jq -r '.detections[].id' \
  > ip_in_abuseipdb_out.txt

Isso cria um arquivo com IDs, por exemplo, de_ad9d2771-a567....

Configurar feedback (ação "fechar")

Quando você fecha um alerta, o status de "feedback" é definido como CLOSED.

  • Comportamento padrão:o script bulk_update_alerts.py usa um payload de feedback padrão codificado:
    • Status:CLOSED
    • Motivo:REASON_MAINTENANCE
    • Comentário:automated cleanup.
  • Personalização:se você precisar mudar o veredito (por exemplo, para FALSE_POSITIVE) ou o comentário, faça o seguinte:
    • Edite diretamente o dicionário DEFAULT_FEEDBACK no arquivo Python.
    • Transmita parâmetros da CLI (por exemplo, --verdict="FALSE_POSITIVE") para substituir valores específicos.

Executar fechamento em massa

Execute o script de atualização em massa usando o arquivo de texto criado anteriormente (consulte Extrair IDs de detecção). Esse script chama o método UpdateAlert para cada ID na sua lista.

Comando:

python -m detect.v1alpha.bulk_update_alerts \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --alert_ids_file="$(pwd)/ip_in_abuseipdb_out.txt"

Verificar o fechamento (opcional)

Para verificar se os alertas foram fechados, confira os detalhes de um único alerta usando o módulo get_alert.py.

Comando:

python -m detect.v1alpha.get_alert \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --alert_id=$ALERT_ID

Resultado esperado: a saída JSON contém um objeto feedbackSummary que mostra "status": "CLOSED" e o comentário especificado (por exemplo, "limpeza automatizada").

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.