Okta-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Okta-Logs mithilfe der Okta API in Google Security Operations aufnehmen. Der Parser extrahiert Systemlogs und verarbeitet sowohl einzelne Ereignisse als auch Batchereignisse in einem JSON-Array. Die Daten werden in das UDM-Format normalisiert, Okta-Felder werden UDM-Entsprechungen zugeordnet, die Daten werden mit geparsten User-Agents, geografischen Informationen und Authentifizierungsdetails angereichert und auf Grundlage von Ergebnissen und Risikoinformationen werden Sicherheitsergebnisereignisse generiert.
Hinweise
- Google SecOps-Instanz
- Privilegierter Zugriff auf Okta
Okta konfigurieren
Führen Sie die folgenden Aufgaben aus, um Okta-SSO zu konfigurieren:
Okta-Administratornutzer mit Lesezugriff erstellen
- Melden Sie sich in der Okta-Administratorkonsole an.
Erstellen Sie einen Standardnutzer.
- Gehen Sie zu Verzeichnis > Personen.
- Klicken Sie auf Person hinzufügen und füllen Sie die Pflichtfelder aus.
Wählen Sie Sicherheit > Administratoren aus.
Klicken Sie auf Administrator hinzufügen.
Suchen Sie im Feld Administratorzuweisung durch Administrator nach dem Standardnutzer.
Wählen Sie im Bereich Rollen in der Liste die Option Administrator (schreibgeschützt) aus.
Melden Sie sich vom Administratorkonto ab.
API-Schlüssel abrufen
- Melden Sie sich mit dem schreibgeschützten Administratorkonto in der Okta Admin-Konsole an.
- Gehen Sie zu Sicherheit > API > Tokens.
- Klicken Sie auf Token erstellen.
- Geben Sie einen aussagekräftigen Namen für das Token ein.
- Geben Sie die IP-Zone an, in der die API verwendet wird. Wenn Sie sich nicht sicher sind, können Sie beliebige IP auswählen.
- Klicken Sie auf Token erstellen.
- Kopieren Sie den API-Schlüssel.
- Klicken Sie auf OK.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über die SIEM-Einstellungen > „Feeds“ einrichten
Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.
So konfigurieren Sie einen einzelnen 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. Okta Logs (Okta-Protokolle).
- Wählen Sie Drittanbieter-API als Quelltyp aus.
- Wählen Sie Okta als Logtyp aus.
- Klicken Sie auf Weiter.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- HTTP-Header für die Authentifizierung: Geben Sie den Okta-API-Schlüssel im folgenden Format ein:
Authorization:<API_KEY>
. - API-Hostname: Geben Sie den Domainnamen Ihres Okta-Hosts an, z. B.
<your-domain>.okta.com
. - Asset-Namespace: Der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
- HTTP-Header für die Authentifizierung: Geben Sie den Okta-API-Schlüssel im folgenden Format ein:
- Klicken Sie auf Weiter.
- Prüfen Sie die Feedkonfiguration auf dem Bildschirm Finalize (Abschließen) und klicken Sie dann auf Submit (Senden).
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- HTTP-Header für die Authentifizierung: Werden verwendet, um sich im
key:value
-Format bei der SentinelOne Alerts/Threats- und Static-Indicator-API zu authentifizieren. - API-Hostname: Der vollständig qualifizierte Domainname der SentinelOne API.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
actor.alternateId |
principal.user.email_addresses |
Wird aus actor.alternateId extrahiert, wenn es sich um eine E-Mail-Adresse handelt. Wenn es sich nicht um eine E‑Mail-Adresse handelt, wird sie als principal.user.userid verwendet. |
actor.displayName |
principal.user.user_display_name |
Direkt zugeordnet. |
actor.id |
principal.user.product_object_id |
Direkt zugeordnet. |
actor.type |
principal.user.attribute.roles.name |
Direkt zugeordnet. |
authenticationContext.authenticationProvider |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel authenticationProvider . |
authenticationContext.credentialProvider |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel credentialProvider . |
authenticationContext.credentialType |
extensions.auth.mechanism |
Wird verwendet, um den Authentifizierungsmechanismus abzuleiten (OTP, USERNAME_PASSWORD, LOCAL). |
authenticationContext.externalSessionId |
network.parent_session_id |
Direkt zugeordnet. |
client.device |
principal.asset.type /additional.fields.value.string_value |
Wird je nach Wert auf principal.asset.type (WORKSTATION, MOBILE, ROLE_UNSPECIFIED) abgebildet. Wird auch als String-Wert mit dem Schlüssel device in additional.fields zugeordnet. |
client.geographicalContext.city |
principal.location.city |
Direkt zugeordnet. |
client.geographicalContext.country |
principal.location.country_or_region |
Direkt zugeordnet. |
client.geographicalContext.geolocation.lat |
principal.location.region_latitude |
Direkt zugeordnet. |
client.geographicalContext.geolocation.lon |
principal.location.region_longitude |
Direkt zugeordnet. |
client.geographicalContext.postalCode |
additional.fields.value.string_value |
Direkt als Stringwert mit dem Schlüssel Postal code in additional.fields zugeordnet. |
client.geographicalContext.state |
principal.location.state |
Direkt zugeordnet. |
client.ipAddress |
principal.ip , principal.asset.ip |
Direkt zugeordnet. |
client.userAgent.browser |
target.resource.attribute.labels.value |
Direkt zugeordnet, mit dem Schlüssel Browser . |
client.userAgent.os |
principal.platform |
Wird basierend auf dem Wert der Plattform (LINUX, WINDOWS, MAC) zugeordnet. |
client.userAgent.rawUserAgent |
network.http.user_agent , network.http.parsed_user_agent |
Direkt zugeordnet und geparst. |
client.zone |
additional.fields.value.string_value |
Direkt als Stringwert mit dem Schlüssel zone in additional.fields zugeordnet. |
debugContext.debugData.behaviors |
security_result.description , security_result.detection_fields |
Direkt der Beschreibung zugeordnet. Einzelne Verhaltensweisen werden extrahiert und als Erkennungsfelder hinzugefügt. |
debugContext.debugData.changedAttributes |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel changedAttributes . |
debugContext.debugData.clientAddress |
principal.ip , principal.asset.ip |
Wird direkt zugeordnet, wenn request.ipChain und client.ipAddress fehlen. |
debugContext.debugData.deviceFingerprint |
target.asset.asset_id |
Direkt zugeordnet, mit dem Präfix device_finger_print: . |
debugContext.debugData.dtHash |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel dtHash . |
debugContext.debugData.factor |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel factor . |
debugContext.debugData.factorIntent |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel factorIntent . |
debugContext.debugData.logOnlySecurityData.risk.reasons |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel Risk Reasons . |
debugContext.debugData.privilegeGranted |
target.user.attribute.roles |
In einzelne Berechtigungen aufgeteilt und als Rollen mit Name und Beschreibung hinzugefügt. |
debugContext.debugData.pushOnlyResponseType |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel pushOnlyResponseType . |
debugContext.debugData.pushWithNumberChallengeResponseType |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel pushWithNumberChallengeResponseType . |
debugContext.debugData.requestUri |
extensions.auth.auth_details |
Direkt zugeordnet. |
debugContext.debugData.suspiciousActivityEventId |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel suspiciousActivityEventId . |
debugContext.debugData.suspiciousActivityEventType |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel suspiciousActivityEventType . |
debugContext.debugData.threatDetections |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel threatDetections . |
debugContext.debugData.threatSuspected |
security_result.detection_fields.value , security_result.threat_status |
Wird als Erkennungsfeld mit dem Schlüssel threatSuspected zugeordnet. Wird verwendet, um den Bedrohungsstatus abzuleiten (ACTIVE oder FALSE_POSITIVE). |
debugContext.debugData.url |
target.url |
Direkt zugeordnet. |
displayMessage |
security_result.summary |
Direkt zugeordnet. |
eventType |
metadata.product_event_type , metadata.event_type |
Direkt product_event_type zugeordnet. Wird verwendet, um event_type abzuleiten (USER_LOGIN, USER_LOGOUT, USER_CHANGE_PASSWORD, USER_CHANGE_PERMISSIONS, USER_DELETION, GROUP_MODIFICATION, SETTING_MODIFICATION, SCHEDULED_TASK_ENABLE, RESOURCE_CREATION, USER_UNCATEGORIZED). |
legacyEventType |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel legacyEventType . |
outcome.reason |
security_result.category_details |
Direkt zugeordnet. |
outcome.result |
security_result.action |
Entsprechend dem Wert der Aktion zugeordnet (ALLOW, CHALLENGE, BLOCK). |
published |
metadata.event_timestamp |
Als Zeitstempel geparst. |
request.ipChain.n.geographicalContext |
intermediary.location |
Geografischer Kontext von Vermittler-IPs in der Anforderungskette. |
request.ipChain.n.ip |
intermediary.ip |
IP-Adressen von Vermittlern in der Anforderungskette. |
securityContext.asNumber |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel asNumber . |
securityContext.asOrg |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel asOrg . |
securityContext.domain |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel domain . |
securityContext.isp |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel isp . |
securityContext.isProxy |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel anonymized IP . |
target.n.alternateId |
target.user.email_addresses /target.user.userid |
Wenn es sich um eine E-Mail-Adresse handelt, die target.user.email_addresses zugeordnet ist. Wenn es sich nicht um eine E‑Mail-Adresse handelt, wird sie als target.user.userid verwendet. |
target.n.detailEntry.clientAppId |
target.asset_id |
Direkt zugeordnet, mit dem Präfix Client_app_id: . |
target.n.detailEntry.methodTypeUsed |
target.resource_ancestors.attribute.labels.value |
Direkt zugeordnet mit dem Schlüssel methodTypeUsed , wenn der Zieltyp „AuthenticatorEnrollment“ ist. |
target.n.detailEntry.methodUsedVerifiedProperties |
target.resource_ancestors.attribute.labels.value |
Direkt zugeordnet mit dem Schlüssel methodUsedVerifiedProperties , wenn der Zieltyp „AuthenticatorEnrollment“ ist. |
target.n.detailEntry.policyType |
target.resource_ancestors.attribute.labels.value |
Direkt zugeordnet, mit dem Schlüssel Policy Type . |
target.n.detailEntry.signOnModeType |
security_result.detection_fields.value |
Direkt zugeordnet, mit dem Schlüssel signOnModeType . |
target.n.displayName |
target.user.user_display_name / target.application / target.resource.name |
Entsprechend dem Zieltyp zugeordnet. |
target.n.id |
target.user.product_object_id / target.resource.product_object_id / target.resource_ancestors.product_object_id |
Entsprechend dem Zieltyp zugeordnet. |
target.n.type |
target.user.attribute.roles.name / target.resource.resource_subtype / target.resource_ancestors.resource_subtype |
Entsprechend dem Zieltyp zugeordnet. |
transaction.id |
network.session_id |
Direkt zugeordnet. |
transaction.type |
additional.fields.value.string_value |
Direkt als Stringwert mit dem Schlüssel type in additional.fields zugeordnet. |
uuid |
metadata.product_log_id |
Direkt zugeordnet. |
– | metadata.vendor_name |
Legen Sie Okta fest. |
– | metadata.product_name |
Legen Sie Okta fest. |
– | extensions.auth.type |
Legen Sie SSO fest. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten