Coletar registros da Synology

Compatível com:

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 registro, 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ê tem uma instância do Google SecOps.
  • Verifique se você tem acesso privilegiado ao DSM do Synology.

Configurar um feed no Google SecOps para processar os registros do Synology

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, Logs do Synology).
  4. Selecione Webhook como o Tipo de origem.
  5. Selecione Synology como o Tipo de registro.
  6. Clique em Próxima.
  7. 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 de recursos: o namespace de recursos.
    • Rótulos de ingestão: o rótulo aplicado aos eventos desse feed.
  8. Clique em Próxima.
  9. Revise a configuração do feed na tela Finalizar e clique em Enviar.
  10. Clique em Gerar chave secreta para gerar uma chave secreta para autenticar esse feed.
  11. Copie e armazene a chave secreta. Não é possível acessar essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas essa ação torna a chave secreta anterior obsoleta.
  12. 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.
  13. Clique em Concluído.

Criar uma chave de API para o feed de webhook

  1. Acesse o console do Google Cloud > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais e, em seguida, selecione Chave de API.

  3. Restrinja o acesso da chave de API à API Google Security Operations.

Especificar o URL do endpoint

  1. No aplicativo cliente, especifique o URL do endpoint HTTPS fornecido no feed de webhook.
  2. 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 especificar no URL.

  3. Se o cliente do webhook não tiver suporte a 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 autenticação no Google Security Operations.
    • SECRET: a chave secreta gerada para autenticar o feed.

Como criar um webhook no Synology para o Google SecOps

  1. Faça login no DiskStation Manager (DSM) no seu NAS da Synology.
  2. Acesse Painel de Controle > Notificação > Webhook.
  3. Clique em Adicionar.
  4. Especifique valores para os seguintes parâmetros:

    • Provedor: selecione Personalizado.
    • Regra: selecione o tipo de mensagem 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.

  5. Clique em Aplicar para salvar o webhook.

Tabela de mapeamento do UDM

Campo de registro Mapeamento de 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 "pasta compartilhada acessada", 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 contém "signed in" ou "sign in". O carimbo de data/hora do campo collection_time do registro bruto é usado. Se a mensagem contiver "conectado" ou "entrar", o valor será definido como USER_LOGIN. Se a mensagem contiver "acesso à pasta compartilhada", o valor será definido como USER_RESOURCE_ACCESS. Caso contrário, o padrão será GENERIC_EVENT. O valor do campo type extraído pelo filtro grok é atribuído a metadata.product_event_type. O valor é definido de forma estática como "SYNOLOGY". O valor é definido de forma estática como "SYNOLOGY". Se a mensagem contiver "falha ao assinar", o valor será definido como BLOCK. Se a mensagem contiver "success", o valor será definido como ALLOW. Se o campo severity (extraído por 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/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 do "\", se presente) é extraída e atribuída a target.user.userid. O carimbo de data/hora do campo collection_time do registro bruto é usado.

Alterações

2024-01-16

  • Parser recém-criado.

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