Dieser Parser extrahiert Felder aus Synology-SYSLOG-Nachrichten mithilfe von Grok-Mustern und ordnet sie dem UDM zu. Es werden verschiedene Logformate verarbeitet, Nutzeranmeldungen und Ressourcenzugriffe identifiziert und Ereignisse anhand von Keywords kategorisiert. Außerdem werden die Daten mit Anbieter- und Produktinformationen angereichert.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
Google SecOps-Instanz.
Privilegierter Zugriff auf Synology DSM.
Feeds einrichten
So konfigurieren Sie einen Feed:
Rufen Sie die SIEM-Einstellungen>Feeds auf.
Klicken Sie auf Neuen Feed hinzufügen.
Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. Synology Logs (Synology-Protokolle).
Wählen Sie Webhook als Quelltyp aus.
Wählen Sie Synology als Logtyp aus.
Klicken Sie auf Weiter.
Optional: Geben Sie Werte für die folgenden Eingabeparameter an:
Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B. \n.
Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
Klicken Sie auf Weiter.
Prüfen Sie die Feedkonfiguration auf dem Bildschirm Finalize (Abschließen) und klicken Sie dann auf Submit (Senden).
Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.
Kopieren Sie den geheimen Schlüssel und speichern Sie ihn. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen geheimen Schlüssel generieren. Dadurch wird der vorherige geheime Schlüssel jedoch ungültig.
Kopieren Sie auf dem Tab Details die Feed-Endpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.
Klicken Sie auf Fertig.
API-Schlüssel für den Webhook-Feed erstellen
Rufen Sie die Google Cloud Console > Anmeldedaten auf.
Klicken Sie auf Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.
Schränken Sie den API-Schlüsselzugriff auf die Google Security Operations API ein.
Endpunkt-URL angeben
Geben Sie in Ihrer Clientanwendung die HTTPS-Endpunkt-URL an, die im Webhook-Feed bereitgestellt wird.
Aktivieren Sie die Authentifizierung, indem Sie den API-Schlüssel und den geheimen Schlüssel als Teil des benutzerdefinierten Headers im folgenden Format angeben:
Empfehlung: Geben Sie den API-Schlüssel als Header an, anstatt ihn in der URL anzugeben.
Wenn Ihr Webhook-Client keine benutzerdefinierten Headern unterstützt, können Sie den API-Schlüssel und den geheimen Schlüssel mit Suchparametern im folgenden Format angeben:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Ersetzen Sie Folgendes:
ENDPOINT_URL: Die URL des Feed-Endpunkts.
API_KEY: Der API-Schlüssel für die Authentifizierung bei Google Security Operations.
SECRET: Der geheime Schlüssel, den Sie zur Authentifizierung des Feeds generiert haben.
Webhook in Synology für Google SecOps erstellen
Melden Sie sich auf Ihrer Synology NAS im DiskStation Manager (DSM) an.
Rufen Sie die Systemsteuerung>Benachrichtigung>Webhook auf.
Klicken Sie auf Hinzufügen.
Geben Sie Werte für die folgenden Parameter an:
Anbieter: Wählen Sie Benutzerdefiniert aus.
Regel: Wählen Sie aus, welche Art von Nachrichten Sie in Ihrem Webhook senden möchten.
Klicken Sie auf Weiter.
Providername: Geben Sie dem Webhook einen eindeutigen Namen, z. B. Google SecOps.
Betreff: Wird als Präfix der Benachrichtigung hinzugefügt.
Webhook URL (Webhook-URL): Geben Sie ENDPOINT_URL ein.
Wählen Sie Benachrichtigungen in Englisch senden aus.
Klicken Sie auf Weiter.
HTTP-Methode: Wählen Sie POST aus.
Fügen Sie den Header X-Webhook-Access-Key mit dem Wert SECRET hinzu.
Fügen Sie den Header X-goog-api-key mit dem Wert API_KEY hinzu.
Klicken Sie auf Übernehmen.
Klicken Sie auf Anwenden, um den Webhook zu speichern.
UDM-Zuordnungstabelle
Logfeld
UDM-Zuordnung
Logik
app
target.application
Der vom Grok-Filter extrahierte Wert des Felds app wird target.application zugewiesen.
desc
metadata.description
Der vom Grok-Filter extrahierte Wert des Felds desc wird metadata.description zugewiesen.
desc
target.file.names
Wenn das Feld desc „Closed)“ enthält, wird der Dateipfad in den Klammern extrahiert und target.file.names zugewiesen. Wenn das Feld desc „accessed shared folder“ enthält, wird der Ordnerpfad in den Klammern extrahiert und target.file.names zugewiesen.
host
principal.hostname
Der Wert des Felds host, der vom Grok-Filter aus dem Feld host_and_ip extrahiert wird, wird principal.hostname zugewiesen.
host_and_ip
principal.ip
Das Feld host_and_ip wird geparst. Wenn eine IP-Adresse (ip1) gefunden wird, wird sie principal.ip zugewiesen. Wenn eine zweite IP-Adresse (ip2) gefunden wird, wird sie ebenfalls zu principal.ip hinzugefügt.
intermediary_host
intermediary.hostname
Der vom Grok-Filter extrahierte Wert des Felds intermediary_host wird intermediary.hostname zugewiesen. Ein leeres auth-Objekt wird in extensions erstellt, wenn die Nachricht „angemeldet“ oder „anmelden“ enthält. Der Zeitstempel aus dem Feld collection_time des Rohlogs wird verwendet. Wenn die Nachricht „angemeldet“ oder „anmelden“ enthält, wird der Wert auf USER_LOGIN gesetzt. Wenn die Nachricht „accessed shared folder“ (auf freigegebenen Ordner zugegriffen) enthält, wird der Wert auf USER_RESOURCE_ACCESS festgelegt. Andernfalls wird standardmäßig GENERIC_EVENT verwendet. Der vom Grok-Filter extrahierte Wert des Felds type wird metadata.product_event_type zugewiesen. Der Wert ist statisch auf „SYNOLOGY“ festgelegt. Der Wert ist statisch auf „SYNOLOGY“ festgelegt. Wenn die Meldung „failed to sign“ enthält, wird der Wert auf BLOCK gesetzt. Wenn die Meldung „success“ enthält, wird der Wert auf ALLOW gesetzt. Wenn das Feld severity (extrahiert von grok) „INFO“ ist, wird der Wert auf INFORMATIONAL gesetzt.
severity
security_result.severity
Der vom Grok-Filter extrahierte Wert des Felds severity wird verwendet, um security_result.severity zu bestimmen. Wenn der Wert „INFO“ ist, wird er „INFORMATIONAL“ zugeordnet.
time
metadata.event_timestamp
Das vom Grok-Filter extrahierte Feld time wird geparst und in einen Zeitstempel umgewandelt. Dieser Zeitstempel wird dann metadata.event_timestamp zugewiesen.
type
metadata.product_event_type
Der vom Grok-Filter extrahierte Wert des Felds type wird metadata.product_event_type zugewiesen.
user
target.administrative_domain
Wenn eine Domain aus dem Feld user extrahiert wird, wird sie target.administrative_domain zugewiesen.
user
target.user.userid
Der Nutzername aus dem Feld user (vor dem „\“, falls vorhanden) wird extrahiert und target.user.userid zugewiesen. Der Zeitstempel aus dem Feld collection_time des Rohlogs wird verwendet.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-02 (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)"]]