Synology-Protokolle erfassen
Übersicht
Dieser Parser extrahiert Felder aus Synology-SYSLOG-Nachrichten mithilfe von Grok-Mustern und ordnet sie dem UDM zu. Er unterstützt verschiedene Protokollformate, identifiziert Nutzeranmeldungen und Ressourcenzugriff und kategorisiert Ereignisse anhand von Keywords. Außerdem werden die Daten um Anbieter- und Produktinformationen ergänzt.
Hinweise
- Sie benötigen eine Google SecOps-Instanz.
- Sie benötigen erhöhte Zugriffsrechte für Synology DSM.
Feed in Google SecOps für die Aufnahme der Synology-Protokolle konfigurieren
- Gehen Sie zu SIEM-Einstellungen > Feeds.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Synology-Protokolle.
- Wählen Sie als Quelltyp Webhook aus.
- Wählen Sie Synology als Protokolltyp aus.
- Klicken Sie auf Weiter.
- Optional: Geben Sie Werte für die folgenden Eingabeparameter an:
- Trennzeichen für die Aufteilung: Das Trennzeichen, mit dem Logzeilen getrennt werden, z. B.
\n
. - Asset-Namespace: der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
- Trennzeichen für die Aufteilung: Das Trennzeichen, mit dem Logzeilen getrennt werden, z. B.
- Klicken Sie auf Weiter.
- Überprü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 und speichern Sie den geheimen Schlüssel. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen Secret-Schlüssel generieren. Dadurch wird der vorherige Secret-Schlüssel jedoch ungültig.
- Kopieren Sie auf dem Tab Details die Feedendpunkt-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.
Aktiviere die Authentifizierung, indem du den API-Schlüssel und den geheimen Schlüssel als Teil der benutzerdefinierten Kopfzeile im folgenden Format angibst:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Empfehlung: 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 mithilfe von Suchparametern im folgenden Format angeben:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Ersetzen Sie Folgendes:
ENDPOINT_URL
: die URL des Feedendpunkts.API_KEY
: Der API-Schlüssel, mit dem Sie sich bei Google Security Operations authentifizieren.SECRET
: den geheimen 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 in 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 über Ihren Webhook senden möchten.
Klicken Sie auf Weiter.
Anbietername: Geben Sie dem Webhook einen eindeutigen Namen, z. B. Google SecOps.
Betreff: Wird als Präfix der Benachrichtigungsnachricht hinzugefügt.
Webhook-URL: Geben Sie ENDPOINT_URL ein.
Wählen Sie Benachrichtigungsnachrichten 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 Übernehmen, um den Webhook zu speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
app |
target.application |
Der Wert des Felds app , das vom Grok-Filter extrahiert wurde, wird target.application zugewiesen. |
desc |
metadata.description |
Der Wert des Felds desc , das vom Grok-Filter extrahiert wurde, wird metadata.description zugewiesen. |
desc |
target.file.names |
Wenn das Feld desc „Geschlossen)“ enthält, wird der Dateipfad in den Klammern extrahiert und target.file.names zugewiesen. Wenn das Feld desc „auf freigegebenen Ordner zugegriffen“ 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 analysiert. 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 , das vom Grok-Filter extrahiert wurde, wird intermediary.hostname zugewiesen. Wenn die Nachricht „angemeldet“ oder „anmelden“ enthält, wird in extensions ein leeres auth -Objekt erstellt. Es wird der Zeitstempel aus dem Feld collection_time des Rohlogs verwendet. Wenn die Nachricht „angemeldet“ oder „anmelden“ enthält, wird der Wert auf USER_LOGIN gesetzt. Wenn die Nachricht „auf freigegebenen Ordner zugegriffen“ enthält, wird der Wert auf USER_RESOURCE_ACCESS festgelegt. Andernfalls wird standardmäßig GENERIC_EVENT verwendet. Der Wert des Felds type , das vom Grok-Filter extrahiert wurde, 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“ (Signatur fehlgeschlagen) enthält, wird der Wert auf BLOCK gesetzt. Wenn die Meldung „success“ enthält, wird der Wert auf ALLOW gesetzt. Wenn das Feld severity (von Grok extrahiert) „INFO“ lautet, wird der Wert auf INFORMATIONAL gesetzt. |
severity |
security_result.severity |
Der Wert des Felds severity , das vom Grok-Filter extrahiert wurde, wird verwendet, um security_result.severity zu bestimmen. Wenn der Wert „INFO“ ist, wird er „INFORMATIONSWEISEND“ zugeordnet. |
time |
metadata.event_timestamp |
Das Feld time , das vom Grok-Filter extrahiert wird, wird analysiert und in einen Zeitstempel umgewandelt. Dieser Zeitstempel wird dann metadata.event_timestamp zugewiesen. |
type |
metadata.product_event_type |
Der Wert des Felds type , das vom Grok-Filter extrahiert wurde, 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 Teil des Felds user mit dem Nutzernamen (vor dem „"“, falls vorhanden) wird extrahiert und target.user.userid zugewiesen. Es wird der Zeitstempel aus dem Feld collection_time des Rohlogs verwendet. |
Änderungen
2024-01-16
- Neu erstellter Parser.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten