Synology-Protokolle erfassen
Dieser Parser extrahiert Felder aus Synology SYSLOG-Nachrichten mithilfe von Grok-Mustern und ordnet sie dem UDM zu. Sie verarbeitet verschiedene Protokollformate, identifiziert Nutzeranmeldungen und Ressourcenzugriffe und kategorisiert Ereignisse anhand von Schlüsselwörtern, wobei die Daten mit Anbieter- und Produktinformationen angereichert werden.
Hinweis
Folgende Voraussetzungen müssen erfüllt sein:
- Google SecOps-Instanz
- Privilegierter Zugriff auf Synology DSM.
Feeds einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die Einstellungen > Datenverwaltung > Feeds auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Synology-Logs.
- Wählen Sie Webhook als Quelltyp aus.
- Wählen Sie Synology als Protokolltyp aus.
- Klicken Sie auf Weiter.
- Optional: Geben Sie Werte für die folgenden Eingabeparameter an:
- Trennzeichen: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B.
\n. - Asset-Namespace: der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
- Trennzeichen: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B.
- Klicken Sie auf Weiter.
- Prüfen Sie die Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf 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.
Beschränken Sie den API-Schlüsselzugriff auf die Google Security Operations API.
Endpunkt-URL angeben
- Geben Sie in Ihrer Clientanwendung die HTTPS-Endpunkt-URL an, die im Webhook-Feed angegeben ist.
Aktivieren Sie die Authentifizierung, indem Sie den API-Schlüssel und den geheimen Schlüssel als Teil des benutzerdefinierten Headers im folgenden Format angeben:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRETEmpfehlung: Geben Sie den API-Schlüssel als Header an, anstatt ihn in der URL anzugeben.
Wenn Ihr Webhook-Client keine benutzerdefinierten Header 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=SECRETErsetzen Sie Folgendes:
ENDPOINT_URL: die Feed-Endpunkt-URL.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 Ihrem Synology NAS im DiskStation Manager (DSM) an.
- Gehen Sie zu Systemsteuerung > Benachrichtigung > Webhook.
- 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.
Anbietername: Geben Sie dem Webhook einen eindeutigen Namen (z. B. Google SecOps).
Betreff: Wird der Benachrichtigung als Präfix hinzugefügt.
Webhook-URL: Geben Sie ENDPOINT_URL ein.
Wählen Sie Benachrichtigungen auf 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 Wert des Felds app, der vom Grok-Filter extrahiert wird, wird target.application zugewiesen. |
desc |
metadata.description |
Der Wert des Felds desc, der vom Grok-Filter extrahiert wird, 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 wurde, 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 Wert des Felds intermediary_host, der vom Grok-Filter extrahiert wird, wird intermediary.hostname zugewiesen. Wenn die Nachricht „signed in“ oder „sign in“ enthält, wird in extensions ein leeres auth-Objekt erstellt. Der Zeitstempel aus dem Feld collection_time des Rohlogs wird verwendet. Wenn die Nachricht „angemeldet“ oder „Anmeldung“ enthält, wird der Wert auf USER_LOGIN gesetzt. Wenn die Nachricht „accessed shared folder“ enthält, wird der Wert auf USER_RESOURCE_ACCESS gesetzt. Andernfalls wird standardmäßig GENERIC_EVENT verwendet. Der Wert des Felds type, der vom Grok-Filter extrahiert wird, wird metadata.product_event_type zugewiesen. Der Wert ist statisch auf „SYNOLOGY“ festgelegt. Der Wert ist statisch auf „SYNOLOGY“ festgelegt. Wenn die Nachricht „failed to sign“ enthält, wird der Wert auf BLOCK gesetzt. Wenn die Nachricht „success“ enthält, wird der Wert auf ALLOW gesetzt. Wenn das Feld severity (von Grok extrahiert) „INFO“ ist, wird der Wert auf INFORMATIONAL gesetzt. |
severity |
security_result.severity |
Der Wert des Felds severity, der vom Grok-Filter extrahiert wird, wird verwendet, um den security_result.severity zu bestimmen. Wenn der Wert „INFO“ ist, wird er „INFORMATIONAL“ zugeordnet. |
time |
metadata.event_timestamp |
Das Feld time, das vom Grok-Filter extrahiert wurde, wird geparst und in einen Zeitstempel umgewandelt. Dieser Zeitstempel wird dann metadata.event_timestamp zugewiesen. |
type |
metadata.product_event_type |
Der Wert des Felds type, der vom Grok-Filter extrahiert wird, 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 Nutzernamensteil des Felds user (vor dem „\“, falls vorhanden) wird extrahiert und target.user.userid zugewiesen. Der Zeitstempel aus dem Feld collection_time des Rohlogs wird verwendet. |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten