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.
Rótulos de ingestão: o rótulo aplicado aos eventos deste feed.
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.
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.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-21 UTC."],[[["\u003cp\u003eThis document provides instructions on how to collect and parse Synology SYSLOG messages within Google SecOps (Security Operations), enriching the data and mapping it to the Unified Data Model (UDM).\u003c/p\u003e\n"],["\u003cp\u003eSetting up a webhook feed in Google SecOps involves configuring a new feed, specifying "Webhook" as the source type and "Synology" as the log type, and obtaining a unique secret key and endpoint URL for authentication.\u003c/p\u003e\n"],["\u003cp\u003eCreating an API key through Google Cloud Console and restricting it to the Google Security Operations API is necessary to authenticate the webhook feed for secure data transfer.\u003c/p\u003e\n"],["\u003cp\u003eConfiguring Synology DSM to send logs via webhook requires defining a custom provider with the Google SecOps endpoint URL and including specific header values containing the API key and secret key for authentication.\u003c/p\u003e\n"],["\u003cp\u003eThe UDM mapping table details how fields from Synology logs, such as \u003ccode\u003eapp\u003c/code\u003e, \u003ccode\u003edesc\u003c/code\u003e, \u003ccode\u003ehost\u003c/code\u003e, and \u003ccode\u003euser\u003c/code\u003e, are translated and assigned to corresponding UDM fields to categorize and structure event data.\u003c/p\u003e\n"]]],[],null,["# Collect Synology logs\n=====================\n\nSupported in: \nGoogle secops [SIEM](/chronicle/docs/secops/google-secops-siem-toc)\n| **Note:** This feature is covered by [Pre-GA Offerings Terms](https://chronicle.security/legal/service-terms/) of the Google Security Operations Service Specific Terms. Pre-GA features might have limited support, and changes to pre-GA features might not be compatible with other pre-GA versions. For more information, see the [Google SecOps Technical Support Service guidelines](https://chronicle.security/legal/technical-support-services-guidelines/) and the [Google SecOps Service Specific Terms](https://chronicle.security/legal/service-terms/).\n\nOverview\n--------\n\nThis parser extracts fields from Synology SYSLOG messages using grok patterns, mapping them to the UDM. It handles various log formats, identifies user logins and resource access, and categorizes events based on keywords, enriching the data with vendor and product information.\n\nBefore you begin\n----------------\n\nEnsure that you have the following prerequisites:\n\n- Google SecOps instance.\n- Privileged access to Synology DSM.\n\nSet up feeds\n------------\n\nTo configure a feed, follow these steps:\n\n1. Go to **SIEM Settings** \\\u003e **Feeds**.\n2. Click **Add New Feed**.\n3. On the next page, click **Configure a single feed**.\n4. In the **Feed name** field, enter a name for the feed; for example, **Synology Logs**.\n5. Select **Webhook** as the **Source type**.\n6. Select **Synology** as the **Log type**.\n7. Click **Next**.\n8. Optional: Specify values for the following input parameters:\n - **Split delimiter** : the delimiter that is used to separate log lines, such as `\\n`.\n - **Asset namespace** : the [asset namespace](/chronicle/docs/investigation/asset-namespaces).\n - **Ingestion labels**: the label applied to the events from this feed.\n9. Click **Next**.\n10. Review the feed configuration in the **Finalize** screen, and then click **Submit**.\n11. Click **Generate Secret Key** to generate a secret key to authenticate this feed.\n12. Copy and store the secret key. You cannot view this secret key again. If needed, you can regenerate a new secret key, but this action makes the previous secret key obsolete.\n13. From the **Details** tab, copy the feed endpoint URL from the **Endpoint Information** field. You need to specify this endpoint URL in your client application.\n14. Click **Done**.\n\nCreate an API key for the webhook feed\n--------------------------------------\n\n1. Go to **Google Cloud console \\\u003e Credentials**.\n\n [Go to Credentials](https://console.cloud.google.com/apis/credentials)\n2. Click **Create credentials** , and then select **API key**.\n\n3. Restrict the API key access to the **Google Security Operations API**.\n\nSpecify the endpoint URL\n------------------------\n\n1. In your client application, specify the HTTPS endpoint URL provided in the webhook feed.\n2. Enable authentication by specifying the API key and secret key as part of the custom header in the following format:\n\n X-goog-api-key = \u003cvar class=\"readonly\" translate=\"no\"\u003eAPI_KEY\u003c/var\u003e\n X-Webhook-Access-Key = \u003cvar class=\"readonly\" translate=\"no\"\u003eSECRET\u003c/var\u003e\n\n **Recommendation**: Specify the API key as a header instead of specifying it in the URL.\n3. If your webhook client doesn't support custom headers, you can specify the API key and secret key using query parameters in the following format:\n\n \u003cvar translate=\"no\"\u003eENDPOINT_URL\u003c/var\u003e?key=\u003cvar translate=\"no\"\u003eAPI_KEY\u003c/var\u003e&secret=\u003cvar translate=\"no\"\u003eSECRET\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eENDPOINT_URL\u003c/var\u003e: the feed endpoint URL.\n - \u003cvar translate=\"no\"\u003eAPI_KEY\u003c/var\u003e: the API key to authenticate to Google Security Operations.\n - \u003cvar translate=\"no\"\u003eSECRET\u003c/var\u003e: the secret key that you generated to authenticate the feed.\n\nCreating a Webhook in Synology for Google SecOps\n------------------------------------------------\n\n1. Sign in to DiskStation Manager (DSM) on your Synology NAS.\n2. Go to **Control Panel** \\\u003e **Notification** \\\u003e **Webhook**.\n3. Click **Add**.\n4. Specify values for the following parameters:\n\n - **Provider** : Select **Custom**.\n - **Rule**: Select what kind of messages you want to send in your webhook.\n\n | **Note:** You can a create custom rule by selecting **Create**.\n - Click **Next**.\n\n - **Provider name** : Give the webhook a distinctive name (for example, **Google SecOps**).\n\n - **Subject**: Will be added as a prefix of the notification message.\n\n - **Webhook URL** : Enter **ENDPOINT_URL**.\n\n - Select **Send notification messages in English**.\n\n - Click **Next**.\n\n - **HTTP Method** : Select **POST**.\n\n - Add Header **X-Webhook-Access-Key** , with **SECRET** value.\n\n - Add Header **X-goog-api-key** , with **API_KEY** value.\n\n - Click **Apply**.\n\n5. Click **Apply** to save the webhook.\n\nUDM Mapping Table\n-----------------\n\n**Need more help?** [Get answers from Community members and Google SecOps professionals.](https://security.googlecloudcommunity.com/google-security-operations-2)"]]