Recolha registos do Synology

Compatível com:

Vista geral

Este analisador extrai campos de mensagens SYSLOG do Synology através de padrões grok, mapeando-os para o UDM. Processa vários formatos de registo, identifica inícios de sessão de utilizadores 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

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps.
  • Acesso privilegiado ao Synology DSM.

Configure feeds

Para configurar um feed, siga estes passos:

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na página seguinte, clique em Configurar um único feed.
  4. No campo Nome do feed, introduza um nome para o feed; por exemplo, Registos do Synology.
  5. Selecione Webhook como o Tipo de origem.
  6. Selecione Synology como o Tipo de registo.
  7. Clicar em Seguinte.
  8. Opcional: especifique valores para os seguintes parâmetros de entrada:
    • Delimitador de divisão: o delimitador usado para separar linhas de registo, como \n.
    • Espaço de nomes do recurso: o espaço de nomes do recurso.
    • Etiquetas de carregamento: a etiqueta aplicada aos eventos deste feed.
  9. Clicar em Seguinte.
  10. Reveja a configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.
  11. Clique em Gerar chave secreta para gerar uma chave secreta para autenticar este feed.
  12. Copie e armazene a chave secreta. Não pode ver esta chave secreta novamente. Se necessário, pode regenerar uma nova chave secreta, mas esta ação torna a chave secreta anterior obsoleta.
  13. No separador Detalhes, copie o URL do ponto final do feed do campo Informações do ponto final. Tem de especificar este URL do ponto final na sua aplicação cliente.
  14. Clique em Concluído.

Crie uma chave da API para o feed de webhook

  1. Aceda à Google Cloud consola > Credenciais.

    Aceder a Credenciais

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

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

Especifique o URL do ponto final

  1. Na aplicação cliente, especifique o URL do ponto final HTTPS fornecido no feed do webhook.
  2. Ative a autenticação especificando a chave da 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 da API como um cabeçalho em vez de a especificar no URL.

  3. Se o seu cliente de webhook não suportar cabeçalhos personalizados, pode especificar a chave da API e a chave secreta através de parâmetros de consulta no seguinte formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Substitua o seguinte:

    • ENDPOINT_URL: o URL do ponto final do feed.
    • API_KEY: a chave da API para autenticar no Google Security Operations.
    • SECRET: a chave secreta que gerou para autenticar o feed.

Criar um webhook no Synology para o Google SecOps

  1. Inicie sessão no DiskStation Manager (DSM) no seu Synology NAS.
  2. Aceda a Painel de controlo > Notificação > Webhook.
  3. Clique em Adicionar.
  4. Especifique valores para os seguintes parâmetros:

    • Fornecedor: selecione Personalizado.
    • Regra: selecione o tipo de mensagens que quer enviar no webhook.

    • Clicar em Seguinte.

    • Nome do fornecedor: atribua um nome exclusivo ao webhook (por exemplo, Google SecOps).

    • Assunto: é adicionado como prefixo da mensagem de notificação.

    • URL do webhook: introduza ENDPOINT_URL.

    • Selecione Enviar mensagens de notificação em inglês.

    • Clicar em Seguinte.

    • Método de 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 guardar o webhook.

Tabela de mapeamento da UDM

Campo de registo Mapeamento do 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 ficheiro entre parênteses é extraído e atribuído a target.file.names. Se o campo desc contiver "acedeu à pasta partilhada", o caminho da pasta entre parênteses é 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 for encontrado um endereço IP (ip1), é atribuído a principal.ip. Se for encontrado um segundo endereço IP (ip2), este também é adicionado a principal.ip.
intermediary_host intermediary.hostname O valor do campo intermediary_host extraído pelo filtro grok é atribuído a intermediary.hostname. É criado um objeto auth vazio em extensions se a mensagem contiver "com sessão iniciada" ou "iniciar sessão". É usada a data/hora do campo collection_time do registo não processado. Se a mensagem contiver "com sessão iniciada" ou "iniciar sessão", o valor é definido como USER_LOGIN. Se a mensagem contiver "acedeu à pasta partilhada", o valor é definido como USER_RESOURCE_ACCESS. Caso contrário, o fuso horário predefinido é 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" (falha ao assinar), o valor é definido como BLOCK. Se a mensagem contiver "success", o valor é definido como ALLOW. Se o campo severity (extraído por grok) for "INFO", o valor é 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", é mapeado para "INFORMATIONAL".
time metadata.event_timestamp O campo time, extraído pelo filtro grok, é analisado e convertido numa data/hora. Em seguida, esta data/hora é atribuída 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, é atribuído a target.administrative_domain.
user target.user.userid A parte do nome de utilizador do campo user (antes de "\", se presente) é extraída e atribuída a target.user.userid. É usada a data/hora do campo collection_time do registo não processado.

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