Monitoramento de host silencioso
Este documento explica como o monitoramento silencioso de hosts (SHM, na sigla em inglês) do Google Security Operations permite identificar hosts no seu ambiente que ficaram inativos.
Um host silencioso pode sinalizar possíveis interrupções do coletor.
Usar uma regra de detecção para SHM
Recomendamos que você configure uma regra de detecção para o SHM.
Esse método monitora campos da UDM (como hostname
, ip
ou mac
) e aciona um alerta quando os valores esperados não são recebidos em um período especificado.
Exemplos de regras de detecção para SHM
Esta seção contém exemplos de regras de detecção para SHM, que você pode usar ou adaptar às suas necessidades específicas. Por exemplo, é possível modificar o período, usar outros campos (como ip
) ou dividir a regra de outras maneiras.
Detectar hosts silenciosos por nome de host
O exemplo a seguir detecta hosts silenciosos usando hostname
:
- Verifica janelas de 20 minutos.
- Rastreia hosts usando
ip
,hostname
emac
. - Alerta se nenhum evento for recebido para um host nos últimos 10 minutos, mas não silencioso nos últimos 20 minutos.
rule shm_using_hostname {
meta:
events:
$event.metadata.event_timestamp.seconds > timestamp.current_seconds() - 1200
// $identifier_hash = hash.sha256(strings.concat($event.principal.ip[0], $event.principal.hostname, $event.principal.mac[0]))
$silent_hostname = $event.principal.hostname
match:
$silent_hostname over 10m
outcome:
$max_event_time = max($event.metadata.event_timestamp.seconds)
$max_diff = timestamp.current_seconds() - $max_event_time
condition:
$event and $max_diff > 600
}
Detectar coletores silenciosos usando rótulos de ingestão
Exemplo de regra de detecção para SHM:
- Verifica janelas de 20 minutos.
- Identifica o silêncio usando o rótulo de ingestão
ingestion_source
. - Identifica valores de um fuso horário especificado (neste exemplo, Ásia/Calcutá) que ficaram inativos nos últimos 10 minutos, mas não inativos nos últimos 20 minutos.
rule shm_using_ingestion_label {
meta:
events:
$event.metadata.event_timestamp.seconds > timestamp.current_seconds() - 1200
$event.metadata.ingestion_labels.key = "ingestion_source"
$silent_ingestion_source = $event.metadata.ingestion_labels.value
match:
$silent_ingestion_source over 20m
outcome:
$max_time_seconds = max($event.metadata.event_timestamp.seconds)
$max_diff_seconds = timestamp.current_seconds() - $max_time_seconds
$max_timestamp = timestamp.get_timestamp($max_time_seconds, "SECOND", "Asia/Calcutta")
$current_timestamp = timestamp.get_timestamp(timestamp.current_seconds(), "SECOND", "Asia/Calcutta")
condition:
$event and $max_diff_seconds > 600
}
Usar o Google Cloud Monitoring com rótulos de ingestão para SHM
Esse método usa o Google Cloud Monitoring para monitorar as taxas de ingestão de registros com base nos rótulos de ingestão do SHM.
Nesta seção, descrevemos como configurar esse método usando o Bindplane, que inclui as seguintes etapas:
- Configurar o Bindplane para SHM com o Google Cloud Monitoring
- Configurar o limite do Google Cloud Monitoring para SHM
Depois de configurar um pipeline de registros que aplica rótulos de ingestão para SHM, é possível configurar alertas do Google Cloud Monitoring por coletor para quando a taxa de ingestão ficar abaixo de um limite especificado. É possível configurar os alertas para serem enviados a vários lugares fora do Google SecOps e integrá-los a um fluxo de trabalho.
Benefícios desse método:
- Monitora o tempo de ingestão, não o tempo do evento.
- Usa os recursos avançados de alerta do Cloud Monitoring.
Desvantagens desse método:
- Requer uma configuração separada fora do Google SecOps.
- Limitado pelo número de rótulos de ingestão.
Configurar o Bindplane para SHM com o Google Cloud Monitoring
Confira abaixo os pré-requisitos para configurar o Bindplane para SHM com o Google Cloud Monitoring:
- Um servidor do BindPlane implantado e configurado com um processador de padronização do Google SecOps .
- O processador de padronização do Google SecOps está configurado para adicionar um
log_type
compatível e um rótulo de ingestão (por exemplo,ingestion_source
).
Para configurar o Bindplane para SHM com o Google Cloud Monitoring, conclua as etapas a seguir:
- Envie o nome do host do servidor coletor como um atributo em cada entrada de registro.
- Na guia Registro, selecione Processadores > Adicionar processadores > Copiar campo.
- Configure o processador Copiar campo:
- Insira uma breve descrição para o recurso.
- Escolha o tipo de telemetria
Logs
. - Defina o campo
Copy From
comoResources
- Defina o campo
Resource field
comohost.name
- Defina o campo
Copy To field
comoAttributes
- Defina o campo
Attributes Field
, por exemplo, comochronicle_ingestion_label["ingestion_source"]
.
Configurar o limite do Google Cloud Monitoring para SHM
Defina um limite com base na taxa de ingestão esperada. Limiares mais baixos detectam interrupções do coletor, e limiares mais altos detectam falhas de registro upstream.
Depois de configurar o limite do Google Cloud Monitoring para SHM, recomendamos monitorar a métrica Chronicle Collector > Ingestion > Total Ingestion Log Count. Para instruções detalhadas de configuração de amostra, acesse Configurar uma política de amostra para detectar agentes de coleta silenciosa do Google SecOps.
Usar um painel do Google SecOps para SHM
Use um painel do Google SecOps para conferir as contagens diárias de hosts de monitoramento que ficaram inativos.
Esse método é ótimo para visões gerais diárias de alto nível, mas não oferece suporte a alertas, e os resultados têm uma latência de até 6 horas.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.