Cohesity-Protokolle erfassen
Übersicht
Dieser Parser extrahiert Felder aus syslog-Nachrichten der Cohesity-Sicherungssoftware mithilfe von Grok-Mustern. Es verarbeitet sowohl standardmäßige syslog-Nachrichten als auch JSON-formatierte Protokolle, ordnet extrahierte Felder dem UDM zu und weist basierend auf der Anwesenheit von Haupt- und Ziel-IDs dynamisch einen event_type zu.
Hinweis
- Sie benötigen eine Google SecOps-Instanz.
- Sie benötigen Berechtigungen für die Cohesity-Verwaltung.
Feed in Google SecOps für die Aufnahme der Cohesity-Logs 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. Cohesity-Protokolle.
- Wählen Sie als Quelltyp Webhook aus.
- Wählen Sie Cohesity als Logtyp 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 Secret-Schlüssel generieren, um einen Secret-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 Chronicle 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 SecOps authentifizieren.SECRET
: der geheime Schlüssel, den Sie zur Authentifizierung des Feeds generiert haben.
Webhook in Cohesity für Google SecOps konfigurieren
- Melden Sie sich in der Cohesity-Clusterverwaltung an.
- Gehen Sie zum Abschnitt Schutzaufgaben.
- Wählen Sie den Schutzjob aus, für den Sie den Webhook konfigurieren möchten.
- Klicken Sie neben dem Schutzauftrag auf das Dreipunkt-Menü Aktionen > Bearbeiten.
- Wählen Sie den Tab Benachrichtigungen aus.
- Klicken Sie auf + Webhook hinzufügen.
- Geben Sie Werte für die folgenden Parameter an:
- Name: Geben Sie einen aussagekräftigen Namen für den Webhook ein, z. B. Google SecOps.
- URL: Geben Sie die Google SecOps-
<ENDPOINT_URL>
ein. - Methode: Wählen Sie POST aus.
- Inhaltstyp: Wählen Sie application/json aus.
- Nutzlast: Dieses Feld hängt von den Daten ab, die Sie senden möchten.
- Webhook aktivieren: Klicken Sie das Kästchen an, um den Webhook zu aktivieren.
- Konfiguration speichern:Klicken Sie auf Speichern, um die Webhook-Konfiguration auf den Schutzjob anzuwenden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
ClientIP |
principal.asset.ip |
Direkt aus dem Feld ClientIP zugeordnet. |
ClientIP |
principal.ip |
Direkt aus dem Feld ClientIP zugeordnet. |
description |
security_result.description |
Direkt aus dem Feld description zugeordnet. |
DomainName |
target.asset.hostname |
Direkt aus dem Feld DomainName zugeordnet. |
DomainName |
target.hostname |
Direkt aus dem Feld DomainName zugeordnet. |
EntityPath |
target.url |
Direkt aus dem Feld EntityPath zugeordnet. |
host |
principal.asset.hostname |
Direkt aus dem Feld host zugeordnet. |
host |
principal.hostname |
Direkt aus dem Feld host zugeordnet. Wird aus dem Feld ts kopiert, nachdem es in einen Zeitstempel geparst wurde. Wird anhand der Parserlogik basierend auf dem Vorhandensein von principal_mid_present , target_mid_present und principal_user_present ermittelt. Mögliche Werte: NETWORK_CONNECTION , USER_UNCATEGORIZED , STATUS_UPDATE , GENERIC_EVENT . Hartcodiert auf „Cohesity“. |
product_event_type |
metadata.product_event_type |
Direkt aus dem Feld product_event_type zugeordnet. Hartcodiert auf „COHESITY“. |
pid |
principal.process.pid |
Direkt aus dem Feld pid zugeordnet. |
Protocol |
network.application_protocol |
Direkt aus dem Feld Protocol zugeordnet, in Großbuchstaben konvertiert. |
RecordID |
additional.fields (Schlüssel: „RecordID“, Wert: RecordID ) |
Direkt aus dem Feld RecordID zugeordnet, verschachtelt unter additional.fields . |
RequestType |
security_result.detection_fields (Schlüssel: „RequestType“, Wert: RequestType ) |
Direkt aus dem Feld RequestType zugeordnet, verschachtelt unter security_result.detection_fields . |
Result |
security_result.summary |
Direkt aus dem Feld Result zugeordnet. |
sha_value |
additional.fields (Schlüssel: „SHA256“, Wert: sha_value ) |
Direkt aus dem Feld sha_value zugeordnet, verschachtelt unter additional.fields . |
target_ip |
target.asset.ip |
Direkt aus dem Feld target_ip zugeordnet. |
target_ip |
target.ip |
Direkt aus dem Feld target_ip zugeordnet. |
target_port |
target.port |
Direkt aus dem Feld target_port zugeordnet, in Ganzzahl umgewandelt. |
Timestamp |
metadata.collected_timestamp |
Wird direkt aus dem Feld Timestamp zugeordnet, nachdem es in einen Zeitstempel geparst wurde. |
ts |
events.timestamp |
Wird direkt aus dem Feld ts zugeordnet, nachdem es in einen Zeitstempel geparst wurde. |
UserID |
principal.user.userid |
Direkt aus dem Feld UserID zugeordnet und in einen String umgewandelt. |
UserName |
principal.user.user_display_name |
Direkt aus dem Feld UserName zugeordnet. |
UserSID |
principal.user.windows_sid |
Direkt aus dem Feld UserSID zugeordnet. |
Änderungen
2024-09-24
- „gsub“ zum Formatieren von JSON-Protokollen wurde entfernt.
2024-09-10
- „gsub“ hinzugefügt, um unerwünschte Zeichen aus dem Protokoll zu entfernen.
- „prin_ip“ wurde auf „principal.ip“ zugeordnet.
2024-07-28
- „EntityId“ und „RegisteredSource.EntityId“ wurden „principal.user.userid“ zugeordnet.
- „Description“ und „EventMessage“ wurden auf „metadata.description“ zugeordnet.
- „IP“ wurde auf „principal.ip“ und „principal.asset.ip“ zugeordnet.
- „Nutzer“ wurde auf „principal.user.user_display_name“ zugeordnet.
- Die Felder „Action“, „Domain“, „ServiceContext“, „AttributeMap.AttemptNum“, „cluster_id“, „cluster_name“, „ClusterInfo.ClusterId“, „ClusterInfo.ClusterName“, „TaskId“, „EntityName“, „EntityType“, „BackupJobId“, „BackupJobName“, „EnvironmentType“, „RegisteredSource.EntityName“, „RegisteredSource.EntityType“, „AttributeMap.BridgeConstituent“, „ReplicationTarget.ClusterName“ und „ReplicationTarget.ClusterId“ wurden in „additional.fields“ eingefügt.
2024-05-16
- Neu erstellter Parser.