Coletar registros da Synology
Visão geral
Esse analisador extrai campos de mensagens SYSLOG do Synology usando padrões grok e os mapeia para o UDM. Ele processa vários formatos de registros, identifica logins de usuários e acesso a recursos e categoriza eventos com base em palavras-chave, enriquecendo os dados com informações de fornecedores e produtos.
Antes de começar
Verifique se você atende aos seguintes pré-requisitos:
- Instância do Google SecOps.
- Acesso privilegiado ao Synology DSM.
Configurar feeds
Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:
- Configurações do SIEM > Feeds
- Central de conteúdo > Pacotes de conteúdo
Configure feeds em "Configurações do SIEM" > "Feeds".
Para configurar um feed, siga estas etapas:
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na próxima página, clique em Configurar um único feed.
- No campo Nome do feed, insira um nome para o feed, por exemplo, Registros do Synology.
- Selecione Webhook como o Tipo de origem.
- Selecione Synology como o Tipo de registro.
- Clique em Próxima.
- Opcional: especifique valores para os seguintes parâmetros de entrada:
- Delimitador de divisão: o delimitador usado para separar linhas de registro, como
\n
. - Namespace do recurso: o namespace do recurso.
- Rótulos de ingestão: o rótulo aplicado aos eventos deste feed.
- Delimitador de divisão: o delimitador usado para separar linhas de registro, como
- Clique em Próxima.
- Revise a configuração do feed na tela Finalizar e clique em Enviar.
- Clique em Gerar chave secreta para autenticar o feed.
- Copie e armazene a chave secreta. Não é possível ver essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas isso torna a anterior obsoleta.
- Na guia Detalhes, copie o URL do endpoint do feed no campo Informações do endpoint. É necessário especificar esse URL de endpoint no aplicativo cliente.
- Clique em Concluído.
Configurar feeds na Central de conteúdo
Especifique valores para os seguintes campos:
- Delimitador de divisão: o delimitador usado para separar linhas de registro, como
\n
.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Tipo de origem: método usado para coletar registros no Google SecOps.
- Namespace do recurso: namespace associado ao feed.
Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
Clique em Gerar chave secreta para autenticar o feed.
Copie e armazene a chave secreta. Não é possível ver essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas isso torna a anterior obsoleta.
Na guia Detalhes, copie o URL do endpoint do feed no campo Informações do endpoint. É necessário especificar esse URL de endpoint no aplicativo cliente.
Criar uma chave de API para o feed de webhook
Acesse console doGoogle Cloud > Credenciais.
Clique em Criar credenciais e, em seguida, selecione Chave de API.
Restrinja o acesso da chave de API à API Google Security Operations.
Especifique o URL do endpoint
- No aplicativo cliente, especifique o URL do endpoint HTTPS fornecido no feed do webhook.
Ative a autenticação especificando a chave de API e a chave secreta como parte do cabeçalho personalizado no seguinte formato:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Recomendação: especifique a chave de API como um cabeçalho em vez de no URL.
Se o cliente de webhook não aceitar cabeçalhos personalizados, especifique a chave de API e a chave secreta usando parâmetros de consulta no seguinte formato:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Substitua:
ENDPOINT_URL
: o URL do endpoint do feed.API_KEY
: a chave de API para autenticar no Google Security Operations.SECRET
: a chave secreta gerada para autenticar o feed.
Como criar um webhook no Synology para o Google SecOps
- Faça login no DiskStation Manager (DSM) no seu Synology NAS.
- Acesse Painel de controle > Notificação > Webhook.
- Clique em Adicionar.
Especifique valores para os seguintes parâmetros:
- Provedor: selecione Personalizado.
Regra: selecione o tipo de mensagens que você quer enviar no webhook.
Clique em Próxima.
Nome do provedor: dê um nome distinto ao webhook (por exemplo, Google SecOps).
Assunto: será adicionado como um prefixo da mensagem de notificação.
URL do webhook: digite ENDPOINT_URL.
Selecione Enviar mensagens de notificação em inglês.
Clique em Próxima.
Método HTTP: selecione POST.
Adicione o cabeçalho X-Webhook-Access-Key com o valor SECRET.
Adicione o cabeçalho X-goog-api-key com o valor API_KEY.
Clique em Aplicar.
Clique em Aplicar para salvar o webhook.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento da UDM | Lógica |
---|---|---|
app |
target.application |
O valor do campo app extraído pelo filtro grok é atribuído a target.application . |
desc |
metadata.description |
O valor do campo desc extraído pelo filtro grok é atribuído a metadata.description . |
desc |
target.file.names |
Se o campo desc contiver "Closed)", o caminho do arquivo entre parênteses será extraído e atribuído a target.file.names . Se o campo desc contiver "accessed shared folder", o caminho da pasta entre colchetes será extraído e atribuído a target.file.names . |
host |
principal.hostname |
O valor do campo host extraído pelo filtro grok do campo host_and_ip é atribuído a principal.hostname . |
host_and_ip |
principal.ip |
O campo host_and_ip é analisado. Se um endereço IP (ip1 ) for encontrado, ele será atribuído a principal.ip . Se um segundo endereço IP (ip2 ) for encontrado, ele também será adicionado a principal.ip . |
intermediary_host |
intermediary.hostname |
O valor do campo intermediary_host extraído pelo filtro grok é atribuído a intermediary.hostname . Um objeto auth vazio é criado em extensions se a mensagem contiver "conectado" ou "fazer login". O carimbo de data/hora do campo collection_time do registro bruto é usado. Se a mensagem contiver "conectado" ou "fazer login", o valor será definido como USER_LOGIN . Se a mensagem contiver "acessou a pasta compartilhada", o valor será definido como USER_RESOURCE_ACCESS . Caso contrário, o padrão é GENERIC_EVENT . O valor do campo type extraído pelo filtro grok é atribuído a metadata.product_event_type . O valor é definido estaticamente como "SYNOLOGY". O valor é definido estaticamente como "SYNOLOGY". Se a mensagem contiver "failed to sign", o valor será definido como BLOCK . Se a mensagem contiver "success", o valor será definido como ALLOW . Se o campo severity (extraído pelo grok) for "INFO", o valor será definido como INFORMATIONAL . |
severity |
security_result.severity |
O valor do campo severity extraído pelo filtro grok é usado para determinar o security_result.severity . Se o valor for "INFO", ele será mapeado para "INFORMATIONAL". |
time |
metadata.event_timestamp |
O campo time , extraído pelo filtro grok, é analisado e convertido em um carimbo de data/hora. Esse carimbo de data e hora é atribuído a metadata.event_timestamp . |
type |
metadata.product_event_type |
O valor do campo type extraído pelo filtro grok é atribuído a metadata.product_event_type . |
user |
target.administrative_domain |
Se um domínio for extraído do campo user , ele será atribuído a target.administrative_domain . |
user |
target.user.userid |
A parte do nome de usuário do campo user (antes de "\", se presente) é extraída e atribuída a target.user.userid . O carimbo de data/hora do campo collection_time do registro bruto é usado. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.