Cisco Identity Intelligence-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Cisco Identity Intelligence so konfigurieren, dass Logs über Webhooks an Google Security Operations gesendet werden.
Cisco Identity Intelligence (früher Oort Security) ist eine Plattform zur Erkennung und Reaktion auf Identitätsbedrohungen, die das Nutzerverhalten, Authentifizierungsmuster, die Gerätenutzung und Zugriffsberechtigungen bei Identitätsanbietern kontinuierlich überwacht. Es erkennt identitätsbasierte Bedrohungen, Fehlkonfigurationen und Compliance-Verstöße, indem es Nutzeraktivitäten, fehlgeschlagene Sicherheitsprüfungen, Vertrauenswürdigkeitswerte und riskantes Verhalten analysiert.
Hinweis
Folgende Voraussetzungen müssen erfüllt sein:
- Eine Google SecOps-Instanz
- Privilegierter Zugriff auf einen Cisco Identity Intelligence-Mandanten
- Administratorberechtigungen zum Verwalten von Integrationen in Cisco Identity Intelligence
- Zugriff auf die Google Cloud Console (zum Erstellen von API-Schlüsseln)
Webhook-Feed in Google SecOps erstellen
Feed erstellen
- 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 Feedname einen Namen für den Feed ein, z. B.
Cisco Identity Intelligence Events. - Wählen Sie Webhook als Quelltyp aus.
- Wählen Sie Cisco Identity Intelligence als Log type (Logtyp) aus.
- Klicken Sie auf Weiter.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Trennzeichen für Aufteilung (optional): Geben Sie
\nein, um mehrzeilige Ereignisse aufzuteilen. - Asset-Namespace: Der Asset-Namespace
- Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
- Trennzeichen für Aufteilung (optional): Geben Sie
- Klicken Sie auf Weiter.
- Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Secret-Schlüssel generieren und speichern
Nachdem Sie den Feed erstellt haben, müssen Sie einen geheimen Schlüssel für die Authentifizierung generieren:
- Klicken Sie auf der Feed-Detailseite auf Secret Key generieren.
- In einem Dialogfeld wird der geheime Schlüssel angezeigt.
- Kopieren und speichern Sie den geheimen Schlüssel sicher.
Feed-Endpunkt-URL abrufen
- Rufen Sie den Tab Details des Feeds auf.
- Kopieren Sie im Abschnitt Endpoint Information (Endpunktinformationen) die Feed endpoint URL (Feed-Endpunkt-URL).
Das URL-Format lautet:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateoder
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateSpeichern Sie diese URL für die nächsten Schritte.
Klicken Sie auf Fertig.
Google Cloud API-Schlüssel erstellen
Für die Authentifizierung in Chronicle ist ein API-Schlüssel erforderlich. Erstellen Sie in der Google Cloud Console einen eingeschränkten API-Schlüssel.
API-Schlüssel erstellen
- Rufen Sie die Seite „Anmeldedaten“ in der Google Cloud Console auf.
- Wählen Sie Ihr Projekt aus (das Projekt, das mit Ihrer Chronicle-Instanz verknüpft ist).
- Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
- Ein API-Schlüssel wird erstellt und in einem Dialogfeld angezeigt.
- Klicken Sie auf API-Schlüssel bearbeiten, um den Schlüssel einzuschränken.
API-Schlüssel einschränken
- Auf der Seite mit den API-Schlüssel-Einstellungen:
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
Chronicle Webhook API Key.
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
- Gehen Sie unter API-Einschränkungen so vor:
- Wählen Sie Schlüssel einschränken aus.
- Suchen Sie im Drop-down-Menü APIs auswählen nach Google SecOps API (oder Chronicle API) und wählen Sie die API aus.
- Klicken Sie auf Speichern.
- Kopieren Sie den API-Schlüsselwert aus dem Feld API-Schlüssel oben auf der Seite.
- Speichern Sie den API-Schlüssel sicher.
Cisco Identity Intelligence-Webhook konfigurieren
Webhook-URL erstellen
Kombinieren Sie die Chronicle-Endpunkt-URL und den API-Schlüssel:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>Beispiel:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
Ersetzen Sie Folgendes:
<ENDPOINT_URL>: Die zuvor kopierte Chronicle-Feed-Endpunkt-URL<API_KEY>: Der zuvor erstellte Google Cloud API-Schlüssel<SECRET_KEY>: Der zuvor generierte geheime Schlüssel für Chronicle-Webhooks
Webhook-Benachrichtigungsziel in Cisco Identity Intelligence erstellen
- Melden Sie sich in Cisco Identity Intelligence an.
- Rufen Sie Integrationen auf.
- Klicken Sie auf Integration hinzufügen.
- Scrollen Sie nach unten zum Abschnitt Webhook.
- Klicken Sie auf Webhook-Ziel hinzufügen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
Chronicle SIEM Integration. - Webhook-URL: Fügen Sie die vollständige Endpunkt-URL mit API-Schlüssel und geheimem Schlüssel von oben ein.
- Autorisierungstyp: Wählen Sie API-Schlüssel aus.
- Name des API-Schlüssels: Geben Sie einen Schlüsselnamen ein (z. B.
x-goog-chronicle-auth). - API-Schlüsselwert: Geben Sie den Google Cloud API-Schlüssel ein.
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
- Maximieren Sie den Bereich Invocation HTTP Parameters (HTTP-Parameter für Aufruf).
- Fügen Sie die folgenden Parameter mit dem Typ Header hinzu:
- Schlüssel:
Content-Type, Wert:application/json - Schlüssel:
Accept, Wert:application/json
- Schlüssel:
- Wählen Sie im Bereich Dieses Ziel verwenden für die Option Fehlgeschlagene Prüfung aus, um Benachrichtigungen zu erhalten, wenn bei Identitätsprüfungen fehlgeschlagene Ergebnisse erkannt werden.
Klicken Sie auf Speichern.
Webhook-Verbindung testen
- Suchen Sie auf der Seite Integrationen nach dem von Ihnen erstellten Webhook-Benachrichtigungsziel.
- Klicken Sie rechts in der Zeile auf das Dreipunkt-Menü.
- Wählen Sie Konnektivität testen aus.
- Prüfen Sie, ob die Testnachricht erfolgreich zugestellt wurde.
Webhook für Identitätsüberprüfungen aktivieren
Nachdem Sie das Webhook-Benachrichtigungsziel erstellt haben, müssen Sie es für die spezifischen Identitätsüberprüfungen aktivieren, die Sie überwachen möchten.
- Rufen Sie in Cisco Identity Intelligence die gewünschte Detailseite Check auf.
- Klicken Sie oben rechts auf der Seite auf das Drop-down-Menü.
- Aktivieren Sie das Kästchen für das von Ihnen erstellte Webhook-Benachrichtigungsziel.
Wiederholen Sie den Vorgang für jede Prüfung, die Sie an Google SecOps senden möchten.
Weitere Informationen finden Sie in der Dokumentation zu Cisco Identity Intelligence-Webhooks.
Referenz zu Authentifizierungsmethoden
Chronicle-Webhook-Feeds unterstützen mehrere Authentifizierungsmethoden. Wählen Sie die Methode aus, die von Ihrem Anbieter unterstützt wird.
Methode 1: Benutzerdefinierte Header (empfohlen)
Wenn Ihr Anbieter benutzerdefinierte HTTP-Header unterstützt, sollten Sie diese Methode für mehr Sicherheit verwenden.
Anfrageformat:
POST <ENDPOINT_URL> HTTP/1.1 Content-Type: application/json x-goog-chronicle-auth: <API_KEY> x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Vorteile:
- API-Schlüssel und Secret sind in der URL nicht sichtbar
- Sicherer (Header werden nicht in Webserver-Zugriffslogs protokolliert)
- Bevorzugte Methode, wenn der Anbieter sie unterstützt
Methode 2: Abfrageparameter
Wenn Ihr Anbieter keine benutzerdefinierten Headern unterstützt, hängen Sie die Anmeldedaten an die URL an.
URL-Format:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>Beispiel:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...Anfrageformat:
POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1 Content-Type: application/json { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Nachteile:
- Anmeldedaten in der URL sichtbar
- Möglicherweise in Webserver-Zugriffsprotokollen protokolliert
- Weniger sicher als Header
Methode 3: Hybrid (URL + Header)
Bei einigen Konfigurationen wird der API-Schlüssel in der URL und der geheime Schlüssel im Header verwendet.
Anfrageformat:
POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1 Content-Type: application/json x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Namen von Authentifizierungsheadern
Chronicle akzeptiert die folgenden Headernamen für die Authentifizierung:
Für API-Schlüssel:
x-goog-chronicle-auth(empfohlen)X-Goog-Chronicle-Auth(keine Unterscheidung zwischen Groß- und Kleinschreibung)
Geheimer Schlüssel
x-chronicle-auth(empfohlen)X-Chronicle-Auth(keine Unterscheidung zwischen Groß- und Kleinschreibung)
Webhook-Limits und Best Practices
Anfragelimits
| Limit | Wert |
|---|---|
| Maximale Anfragengröße | 4 MB |
| Maximale Abfragen pro Sekunde | 15.000 |
| Zeitlimit für Anfragen | 30 Sekunden |
| Wiederholungsverhalten | Automatisch mit exponentiellem Backoff |
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| Konto | account_label.value | Wert direkt kopiert |
| Konto | account_label.key | Auf „Konto“ festgelegt |
| account_label | security_result.detection_fields | Mit „detection_fields“ zusammengeführt |
| additional_detaildescription.key | additional_detaildescription.key | Auf „detail description“ festgelegt |
| detaildescription | additional_detaildescription.value.list_value.values | Zusammengeführt aus „detaildescription“ |
| additional_detaildescription | event.idm.read_only_udm.additional.fields | In „additional.fields“ zusammengeführt |
| additional_recommendedaction.key | additional_recommendedaction.key | Auf „empfohlene Maßnahme“ festgelegt |
| recommendedAction | additional_recommendedaction.value.list_value.values | Zusammengeführt aus „recommendedAction“ |
| additional_recommendedaction | event.idm.read_only_udm.additional.fields | In „additional.fields“ zusammengeführt |
| data1 | usersFailing_label | Wert direkt kopiert |
| data.login | login_label | Wert direkt kopiert |
| detail-type | security_result.summary | Wert direkt kopiert |
| detail.id | security_result.rule_id | Wert direkt kopiert |
| detail.title | security_result.rule_name | Wert direkt kopiert |
| detail.severity | security_result.severity | Wert aus „detail.severity“, wenn er in [CRITICAL,ERROR,HIGH,INFORMATIONAL,LOW,MEDIUM] enthalten ist, andernfalls MEDIUM, wenn er moderat ist. |
| detaildescription | value_array.string_value | Wert direkt kopiert |
| detailsdata.key | add_label.value, add_label.key | Wert aus detailsdata.value, Schlüssel als „loginDetails %{index} details %{detailindex} %{detailsdata.key}“, wenn nicht failedSigninDetails oder ips |
| detailsdata.value | add_label.value, add_label.key | |
| detailsdata.key | security_result.detection_fields | „add_label“ zusammengeführt, wenn Bedingungen erfüllt |
| detailsdata.value | security_result.detection_fields | |
| field_.value | security_result.detection_fields | Zusammengeführt für verschiedene verschachtelte Felder in json_array (msg, ipInfo, asn, coordinates, first_event, second_event, locations) mit Schlüsseln wie „%{index} %{detailindex} %{index1} %{key}“ usw., mit Ausnahme von ipAddress, ip usw. |
| field_.key | security_result.detection_fields | |
| id | metadata.product_log_id | Wert direkt kopiert |
| login_label | principal.user.email_addresses | Zusammengeführt, wenn mit dem regulären Ausdruck für E‑Mail-Adressen übereinstimmt |
| msg.ipAddress | principal.ip | Zusammengeführt, wenn nicht leer |
| msg.first_event.ip_address | principal.ip | Zusammengeführt, wenn nicht leer |
| msg.second_event.ip_address | principal.ip | Zusammengeführt, wenn nicht leer |
| msg_travels_first_event_ip_address | principal.ip | Zusammengeführt, wenn nicht leer |
| msg_travels_second_event_ip_address | principal.ip | |
| recommendedAction | value_array.string_value | Wert direkt kopiert |
| security_result | event.idm.read_only_udm.security_result | Mit security_result zusammengeführt |
| source | source_label.value | Wert direkt kopiert |
| source | source_label.key | Auf „Quelle“ festgelegt |
| source_label | event.idm.read_only_udm.src.labels | In „src.labels“ zusammengeführt |
| Zeit | @timestamp | Geparsed mit Datumsfilter mit ISO8601, RFC 3339, yyyy-MM-ddTHH:mm:ss.SSSSSSZ |
| usersFailing_label | principal.user.email_addresses | Zusammengeführt, wenn mit dem regulären Ausdruck für E‑Mail-Adressen übereinstimmt |
| Version | metadata.product_version | Wert direkt kopiert |
| has_principal | event.idm.read_only_udm.metadata.event_type | Auf „STATUS_UPDATE“ festgelegt, wenn „has_principal“ auf „true“ gesetzt ist. Andernfalls „USER_UNCATEGORIZED“, wenn „has_user“ auf „true“ gesetzt ist. Andernfalls „GENERIC_EVENT“. |
| has_user | event.idm.read_only_udm.metadata.event_type | |
| metadata.product_name | metadata.product_name | Auf „OORT“ festgelegt |
| metadata.vendor_name | metadata.vendor_name | Auf „OORT“ festgelegt |
detail.published |
event.idm.read_only_udm.metadata.collected_timestamp |
Aus dem Änderungsprotokoll zugeordnet |
detail.login |
event.idm.read_only_udm.principal.user.userid |
Aus dem Änderungsprotokoll zugeordnet |
detail.userTrustLevel |
event.idm.read_only_udm.principal.user.attribute.labels |
Aus dem Änderungsprotokoll zugeordnet |
detail.login |
event.idm.read_only_udm.principal.user.user_display_name |
Aus dem Änderungsprotokoll zugeordnet |
detail.checkTopics |
event.idm.read_only_udm.security_result.category_details |
Aus dem Änderungsprotokoll zugeordnet |
region |
event.idm.read_only_udm.additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
detail.checkId |
event.idm.read_only_udm.security_result.detection_fields |
Aus dem Änderungsprotokoll zugeordnet |
detail.checkScope |
event.idm.read_only_udm.security_result.detection_fields |
Aus dem Änderungsprotokoll zugeordnet |
detail.frameworks |
event.idm.read_only_udm.security_result.detection_fields |
Aus dem Änderungsprotokoll zugeordnet |
detail.explainabilityEventIds |
event.idm.read_only_udm.security_result.detection_fields |
Aus dem Änderungsprotokoll zugeordnet |
data.value |
event.idm.read_only_udm.security_result.detection_fields |
Aus dem Änderungsprotokoll zugeordnet |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten