Tanium Stream-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Tanium Stream-Logs mit der nativen AWS S3-Exportfunktion von Tanium Connect in Google Security Operations aufnehmen. Tanium Stream bietet Echtzeit-Endpunkttelemetrie, Daten zur Bedrohungssuche und Verhaltensanalysen im JSON-Format, die mit Tanium Connect direkt nach S3 exportiert werden können, ohne dass benutzerdefinierte Lambda-Funktionen erforderlich sind. Der Parser wandelt JSON-Rohlogs aus Tanium Stream in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Zuerst werden gängige Felder normalisiert und dann wird eine spezifische Logik basierend auf „logType“ oder „eventType“ angewendet, um relevante Informationen den entsprechenden UDM-Feldern zuzuordnen. Dabei werden verschiedene Ereignistypen wie Netzwerkverbindungen, Nutzeranmeldungen, Prozessstarts und Dateiänderungen verarbeitet.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Tanium Core Platform 7.0 oder höher
  • Tanium Stream-Modul installiert und konfiguriert
  • Tanium Connect-Modul mit gültiger Lizenz installiert
  • Tanium Threat Response 3.4.346 oder höher (bei Verwendung der TR-Integration)
  • Privilegierter Zugriff auf die Tanium-Konsole mit Administratorrechten
  • Privilegierter Zugriff auf AWS (S3, IAM)

Tanium Stream-Dienstkonto konfigurieren

  1. Melden Sie sich in der Tanium Console an.
  2. Rufen Sie Module > Stream auf.
  3. Klicken Sie rechts oben auf Einstellungen.
  4. Konfigurieren Sie im Abschnitt Dienstkonto Folgendes:
    • Dienstkontonutzer: Wählen Sie einen Nutzer mit den entsprechenden Stream-Berechtigungen aus.
    • Prüfen Sie, ob das Konto die Berechtigung „Connect User“ hat.
    • Bestätigen Sie den Zugriff auf Stream-Datenquellen und ‑Endpunkte.
  5. Klicken Sie auf Speichern, um die Dienstkontokonfiguration anzuwenden.

Voraussetzungen für Tanium Stream erfüllen

  1. Melden Sie sich als Administrator in der Tanium Console an.
  2. Gehen Sie zu Verwaltung > Berechtigungen > Nutzer.
  3. Erstellen oder identifizieren Sie einen Dienstkontonutzer mit den folgenden Rollen:
    • Rolle Stream-Administrator oder Stream-Nutzer mit Leseberechtigung.
    • Rollenberechtigung Nutzer verbinden.
    • Zugriff auf überwachte Computergruppen (empfohlen: Gruppe Alle Computer).
    • Berechtigung Gespeicherte Frage lesen für Stream-Inhaltssätze.

AWS S3-Bucket und IAM für Google SecOps konfigurieren

  1. Erstellen Sie einen Amazon S3-Bucket gemäß diesem Nutzerhandbuch: Bucket erstellen.
  2. Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung (z. B. tanium-stream-logs).
  3. Erstellen Sie einen Nutzer gemäß diesem Nutzerhandbuch: IAM-Nutzer erstellen.
  4. Wählen Sie den erstellten Nutzer aus.
  5. Wählen Sie den Tab Sicherheitsanmeldedaten aus.
  6. Klicken Sie im Bereich Access Keys (Zugriffsschlüssel) auf Create Access Key (Zugriffsschlüssel erstellen).
  7. Wählen Sie als Anwendungsfall die Option Drittanbieterdienst aus.
  8. Klicken Sie auf Weiter.
  9. Optional: Fügen Sie ein Beschreibungs-Tag hinzu.
  10. Klicken Sie auf Zugriffsschlüssel erstellen.
  11. Klicken Sie auf CSV-Datei herunterladen, um den Zugriffsschlüssel und den geheimen Zugriffsschlüssel für die spätere Verwendung zu speichern.
  12. Klicken Sie auf Fertig.
  13. Wählen Sie den Tab Berechtigungen aus.
  14. Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
  15. Wählen Sie Berechtigungen hinzufügen aus.
  16. Wählen Sie Richtlinien direkt anhängen aus.
  17. Suchen Sie nach der Richtlinie AmazonS3FullAccess und wählen Sie sie aus.
  18. Klicken Sie auf Weiter.
  19. Klicken Sie auf Berechtigungen hinzufügen.

AWS S3-Ziel für Tanium Connect konfigurieren

  1. Melden Sie sich in der Tanium Console an.
  2. Gehen Sie zu Module > Verbinden.
  3. Klicken Sie auf Create Connection.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen aussagekräftigen Namen ein (z. B. Stream Telemetry to S3 for SecOps).
    • Beschreibung: Optionale Beschreibung (z. B. Export endpoint telemetry and threat hunting data to AWS S3 for Google SecOps ingestion).
    • Aktivieren: Wählen Sie diese Option aus, um die Verbindung nach Zeitplan auszuführen.
  5. Klicken Sie auf Weiter.

Verbindungsquelle konfigurieren

  1. Geben Sie im Bereich Quelle die folgenden Konfigurationsdetails an:
    • Quelltyp: Wählen Sie Gespeicherte Frage aus.
    • Gespeicherte Frage: Wählen Sie eine der folgenden gespeicherten Fragen zum Stream aus:
      • Stream – Endpunktereignisse für Echtzeit-Endpunkttelemetrie.
      • Stream – Netzwerkereignisse für das Monitoring von Netzwerkaktivitäten.
      • Stream – Prozessereignisse für das Tracking der Prozessausführung.
      • Stream – Dateiereignisse für Dateisystemaktivitäten.
      • Stream – Threat Hunting-Daten für Verhaltensanalysen.
    • Computer Group (Computergruppe): Wählen Sie All Computers (Alle Computer) oder bestimmte Computergruppen aus, die überwacht werden sollen.
    • Aktualisierungsintervall: Legen Sie ein geeignetes Intervall für die Datenerhebung fest (z. B. 5 Minuten für Echtzeit-Telemetrie).
  2. Klicken Sie auf Weiter.

AWS S3-Ziel konfigurieren

  1. Geben Sie im Bereich Ziel die folgenden Konfigurationsdetails an:
    • Zieltyp: Wählen Sie AWS S3 aus.
    • Zielname: Geben Sie einen eindeutigen Namen ein (z. B. Google SecOps Stream S3 Destination).
    • AWS-Zugriffsschlüssel: Geben Sie den AWS-Zugriffsschlüssel aus der CSV-Datei ein, die Sie im AWS S3-Konfigurationsschritt heruntergeladen haben.
    • Geheimer AWS-Zugriffsschlüssel: Geben Sie den geheimen AWS-Zugriffsschlüssel aus der CSV-Datei ein, die Sie im Schritt „AWS S3-Konfiguration“ heruntergeladen haben.
    • Bucket-Name: Geben Sie den Namen Ihres S3-Buckets ein (z. B. tanium-stream-logs).
    • Region: Wählen Sie die AWS-Region aus, in der sich Ihr S3-Bucket befindet.
    • Schlüsselpräfix: Geben Sie ein Präfix für die S3-Objekte ein (z. B. tanium/stream/).
  2. Klicken Sie auf Weiter.

Filter konfigurieren

  1. Konfigurieren Sie im Bereich Filter die Optionen für die Datenfilterung:
    • Nur neue Elemente senden: Wählen Sie diese Option aus, um nur neue Telemetriedaten seit dem letzten Export zu senden.
    • Spaltenfilter: Fügen Sie bei Bedarf Filter basierend auf bestimmten Ereignisattributen hinzu (z. B. Filter nach Ereignistyp, Prozessname oder Bedrohungsindikatoren).
  2. Klicken Sie auf Weiter.

Daten für AWS S3 formatieren

  1. Konfigurieren Sie im Abschnitt Format das Datenformat:
    • Format: Wählen Sie JSON aus.
    • Optionen:
      • Header einschließen: Auswahl aufheben, um Header in der JSON-Ausgabe zu vermeiden.
      • Leere Zellen einbeziehen: Wählen Sie die gewünschte Option aus.
    • Erweiterte Optionen:
      • Dateibenennung: Verwenden Sie die standardmäßige zeitstempelbasierte Benennung.
      • Komprimierung: Wählen Sie Gzip aus, um die Speicherkosten und die Übertragungszeit zu reduzieren.
  2. Klicken Sie auf Weiter.

Verbindung planen

  1. Konfigurieren Sie im Abschnitt Zeitplan den Exportzeitplan:
    • Zeitplan aktivieren: Wählen Sie diese Option aus, um automatische geplante Exporte zu aktivieren.
    • Zeitplantyp: Wählen Sie Wiederkehrend aus.
    • Häufigkeit: Wählen Sie Alle 5 Minuten aus, um Telemetriedaten nahezu in Echtzeit zu erhalten.
    • Beginn: Legen Sie eine geeignete Startzeit für den ersten Export fest.
  2. Klicken Sie auf Weiter.

Verbindung speichern und prüfen

  1. Überprüfen Sie die Verbindungskonfiguration auf dem Zusammenfassungsbildschirm.
  2. Klicken Sie auf Save, um die Verbindung herzustellen.
  3. Klicken Sie auf Verbindung testen, um die Konfiguration zu prüfen.
  4. Wenn der Test erfolgreich ist, klicken Sie auf Jetzt ausführen, um einen ersten Export durchzuführen.
  5. Überwachen Sie den Verbindungsstatus auf der Seite Connect-Übersicht.

Feed in Google SecOps konfigurieren, um Tanium Stream-Logs aufzunehmen

  1. Rufen Sie die Einstellungen > Datenverwaltung > Feeds auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Feeds auf.
  2. Klicken Sie auf + Neuen Feed hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Tanium Stream logs.
  4. Wählen Sie als Quelltyp Amazon S3 V2 aus.
  5. Wählen Sie Tanium Stream als Logtyp aus.
  6. Klicken Sie auf Weiter.
  7. Geben Sie Werte für die folgenden Eingabeparameter an:
    • S3-URI: s3://tanium-stream-logs/tanium/stream/
    • Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus.
    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.
    • Zugriffsschlüssel-ID: Der Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket.
    • Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Zugriff auf den S3-Bucket.
    • Asset-Namespace: Der Asset-Namespace.
    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
  8. Klicken Sie auf Weiter.
  9. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
additional.event__AlgorithmName additional.fields.key: eventAlgorithmName
additional.fields.value.string_value: %{additional.event
AlgorithmName}
Wert, der direkt aus dem Rohlogfeld additional.event__AlgorithmName übernommen wurde.
additional.event__AuthenticationPackageName target.resource.name: %{additional.event__AuthenticationPackageName} Wert, der direkt aus dem Rohlogfeld additional.event__AuthenticationPackageName übernommen wurde.
additional.event__CallerProcessId principal.process.pid: %{additional.event__CallerProcessId} Wert, der direkt aus dem Rohlogfeld additional.event__CallerProcessId übernommen wurde.
additional.event__CallerProcessName principal.process.file.fullpath: %{additional.event_CallerProcessName} Wert, der direkt aus dem Rohlogfeld additional.event__CallerProcessName übernommen wurde.
additional.event__ClientProcessId principal.process.pid: %{additional.event__ClientProcessId} Wert, der direkt aus dem Rohlogfeld additional.event__ClientProcessId übernommen wurde.
additional.event__ClientProcessStartKey additional.fields.key: eventClientProcessStartKey
additional.fields.value.string_value: %{additional.event
ClientProcessStartKey}
Wert, der direkt aus dem Rohprotokollfeld additional.event__ClientProcessStartKey übernommen wird.
additional.event__CommandLine target.process.commandline: %{additional.event_CommandLine} Wert, der direkt aus dem Rohlogfeld additional.event__CommandLine übernommen wurde.
additional.event__ElevatedToken additional.fields.key: event__ElevatedToken
additional.fields.value.string_value: Yes/No
Der Wert wird direkt aus dem Rohprotokollfeld additional.event__ElevatedToken übernommen.
Wenn der Wert „%%1842“ lautet, wird er durch „Ja“ ersetzt.
Wenn der Wert „%%1843“ lautet, wird er durch „Nein“ ersetzt.
additional.event__FQDN principal.hostname: %{additional.event__FQDN} Wert, der direkt aus dem Rohlogfeld additional.event__FQDN übernommen wurde.
additional.event__FailureReason additional.fields.key: eventFailureReason
additional.fields.value.string_value: %{additional.event
FailureReason}
Wert, der direkt aus dem Rohprotokollfeld additional.event__FailureReason übernommen wird.
additional.event__ImpersonationLevel additional.fields.key: eventImpersonationLevel
additional.fields.value.string_value: %{additional.event
ImpersonationLevel}
Wert, der direkt aus dem Rohlogfeld additional.event__ImpersonationLevel übernommen wurde.
additional.event__IpAddress target.ip: %{additional.event__IpAddress} Wert, der direkt aus dem Rohlogfeld additional.event__IpAddress übernommen wurde.
additional.event__IpPort target.port: %{additional.event__IpPort} Wert, der direkt aus dem Rohlogfeld additional.event__IpPort übernommen und in eine Ganzzahl konvertiert wurde.
additional.event__KeyLength additional.fields.key: eventKeyLength
additional.fields.value.string_value: %{additional.event
KeyLength}
Wert, der direkt aus dem Rohlogfeld additional.event__KeyLength übernommen wurde.
additional.event__KeyName additional.fields.key: eventKeyName
additional.fields.value.string_value: %{additional.event
KeyName}
Wert, der direkt aus dem Rohlogfeld additional.event__KeyName übernommen wurde.
additional.event__KeyType additional.fields.key: eventKeyType
additional.fields.value.string_value: %{additional.event
KeyType}
Wert, der direkt aus dem Rohlogfeld additional.event__KeyType übernommen wurde.
additional.event__LmPackageName additional.fields.key: eventLmPackageName
additional.fields.value.string_value: %{additional.event
LmPackageName}
Wert, der direkt aus dem Rohlogfeld additional.event__LmPackageName übernommen wurde.
additional.event__LogonGuid target.resource.product_objectid: %{additional.event_LogonGuid} Der Wert wird direkt aus dem Rohlogfeld additional.event__LogonGuid übernommen, wobei die geschweiften Klammern entfernt werden.
additional.event__LogonProcessName target.process.file.fullpath: %{additional.event_LogonProcessName} Wert, der direkt aus dem Rohlogfeld additional.event__LogonProcessName übernommen wurde.
additional.event__LogonType extensions.auth.authdetails: Logon Type: %{additional.event_LogonType} Wert, der direkt aus dem Rohprotokollfeld additional.event__LogonType übernommen wird.
additional.event__MandatoryLabel additional.fields.key: eventMandatoryLabel
additional.fields.value.string_value: %{additional.event
MandatoryLabel}
Wert, der direkt aus dem Rohlogfeld additional.event__MandatoryLabel übernommen wurde.
additional.event__NewProcessId target.process.pid: %{additional.event__NewProcessId} Wert, der direkt aus dem Rohlogfeld additional.event__NewProcessId übernommen wurde.
additional.event__NewProcessName target.process.file.fullpath: %{additional.event_NewProcessName} Wert, der direkt aus dem Rohlogfeld additional.event__NewProcessName übernommen wurde.
additional.event__ObjectServer security_result.categorydetails: %{additional.event_ObjectServer} Wert, der direkt aus dem Rohlogfeld additional.event__ObjectServer übernommen wurde.
additional.event__Operation additional.fields.key: eventOperation
additional.fields.value.string_value: %{additional.event
Operation}
Wert, der direkt aus dem Rohlogfeld additional.event__Operation übernommen wurde.
additional.event__ParentProcessId principal.process.parentprocess.pid: %{additional.event_ParentProcessId} Wert, der direkt aus dem Rohlogfeld additional.event__ParentProcessId übernommen wurde.
additional.event__ParentProcessName principal.process.parent_process.file.fullpath: %{additional.event_ParentProcessName} Wert, der direkt aus dem Rohlogfeld additional.event__ParentProcessName übernommen wurde.
additional.event__ProcessId principal.process.pid: %{additional.event__ProcessId} Wert, der direkt aus dem Rohlogfeld additional.event__ProcessId übernommen wurde.
additional.event__ProcessName principal.process.file.fullpath: %{additional.event_ProcessName} Wert, der direkt aus dem Rohprotokollfeld additional.event__ProcessName übernommen wird.
additional.event__PrivilegeList principal.user.attribute.permissions.name: %{additional.event__PrivilegeList} Wert, der direkt aus dem Rohlogfeld additional.event__PrivilegeList übernommen wurde.
additional.event__ProviderName additional.fields.key: eventProviderName
additional.fields.value.string_value: %{additional.event
ProviderName}
Wert, der direkt aus dem Rohlogfeld additional.event__ProviderName übernommen wurde.
additional.event__RestrictedAdminMode additional.fields.key: eventRestrictedAdminMode
additional.fields.value.string_value: %{additional.event
RestrictedAdminMode}
Wert, der direkt aus dem Rohlogfeld additional.event__RestrictedAdminMode übernommen wurde.
additional.event__ReturnCode additional.fields.key: eventReturnCode
additional.fields.value.string_value: %{additional.event
ReturnCode}
Wert, der direkt aus dem Rohlogfeld additional.event__ReturnCode übernommen wurde.
additional.event__RpcCallClientLocality additional.fields.key: eventRpcCallClientLocality
additional.fields.value.string_value: %{additional.event
RpcCallClientLocality}
Wert, der direkt aus dem Rohlogfeld additional.event__RpcCallClientLocality übernommen wurde.
additional.event__Service securityresult.description: %{additional.event_Service} Wert, der direkt aus dem Rohlogfeld additional.event__Service übernommen wurde.
additional.event__Status additional.fields.key: eventStatus
additional.fields.value.string_value: %{additional.event
Status}
Wert, der direkt aus dem Rohlogfeld additional.event__Status übernommen wurde.
additional.event__SubStatus additional.fields.key: eventSubStatus
additional.fields.value.string_value: %{additional.event
SubStatus}
Wert, der direkt aus dem Rohlogfeld additional.event__SubStatus übernommen wurde.
additional.event__SubjectDomainName principal.administrativedomain: %{additional.event_SubjectDomainName} Wert, der direkt aus dem Rohlogfeld additional.event__SubjectDomainName übernommen wurde.
additional.event__SubjectLogonId additional.fields.key: eventSubjectLogonId
additional.fields.value.string_value: %{additional.event
SubjectLogonId}
Wert, der direkt aus dem Rohlogfeld additional.event__SubjectLogonId übernommen wurde.
additional.event__SubjectUserName principal.user.user_displayname: %{additional.event_SubjectUserName} Wert, der direkt aus dem Rohlogfeld additional.event__SubjectUserName übernommen wurde.
additional.event__SubjectUserSid principal.user.windowssid: %{additional.event_SubjectUserSid} Wert, der direkt aus dem Rohlogfeld additional.event__SubjectUserSid übernommen wurde.
additional.event__TaskContentNew additional.fields.key: eventTaskContentNew
additional.fields.value.string_value: %{additional.event
TaskContentNew}
Wert, der direkt aus dem Rohlogfeld additional.event__TaskContentNew übernommen wurde.
additional.event__TaskName additional.fields.key: eventTaskName
additional.fields.value.string_value: %{additional.event
TaskName}
Wert, der direkt aus dem Rohlogfeld additional.event__TaskName übernommen wurde.
additional.event__TargetDomainName target.administrativedomain: %{additional.event_TargetDomainName} Wert, der direkt aus dem Rohlogfeld additional.event__TargetDomainName übernommen wurde.
additional.event__TargetLinkedLogonId additional.fields.key: eventTargetLinkedLogonId
additional.fields.value.string_value: %{additional.event
TargetLinkedLogonId}
Wert, der direkt aus dem Rohlogfeld additional.event__TargetLinkedLogonId übernommen wurde.
additional.event__TargetLogonId additional.fields.key: eventTargetLogonId
additional.fields.value.string_value: %{additional.event
TargetLogonId}
Wert, der direkt aus dem Rohlogfeld additional.event__TargetLogonId übernommen wurde.
additional.event__TargetOutboundDomainName additional.fields.key: eventTargetOutboundDomainName
additional.fields.value.string_value: %{additional.event
TargetOutboundDomainName}
Wert, der direkt aus dem Rohlogfeld additional.event__TargetOutboundDomainName übernommen wurde.
additional.event__TargetOutboundUserName additional.fields.key: eventTargetOutboundUserName
additional.fields.value.string_value: %{additional.event
TargetOutboundUserName}
Wert, der direkt aus dem Rohlogfeld additional.event__TargetOutboundUserName übernommen wurde.
additional.event__TargetSid target.user.windowssid: %{additional.event_TargetSid} Wert, der direkt aus dem Rohlogfeld additional.event__TargetSid übernommen wurde.
additional.event__TargetUserName target.user.userid: %{additional.event__TargetUserName} Wert, der direkt aus dem Rohprotokollfeld additional.event__TargetUserName übernommen wird.
additional.event__TargetUserSid target.user.windowssid: %{additional.event_TargetUserSid} Wert, der direkt aus dem Rohlogfeld additional.event__TargetUserSid übernommen wurde.
additional.event__TokenElevationType additional.fields.key: eventTokenElevationType
additional.fields.value.string_value: %{additional.event
TokenElevationType}
Wert, der direkt aus dem Rohlogfeld additional.event__TokenElevationType übernommen wurde.
additional.event__TransmittedServices additional.fields.key: eventTransmittedServices
additional.fields.value.string_value: %{additional.event
TransmittedServices}
Wert, der direkt aus dem Rohlogfeld additional.event__TransmittedServices übernommen wurde.
additional.event__VirtualAccount additional.fields.key: eventVirtualAccount
additional.fields.value.string_value: %{additional.event
VirtualAccount}
Wert, der direkt aus dem Rohlogfeld additional.event__VirtualAccount übernommen wurde.
additional.event__WorkstationName target.hostname: %{additional.event__WorkstationName} Wert, der direkt aus dem Rohlogfeld additional.event__WorkstationName übernommen wurde.
additional.event_id security_result.rule_name: EventID: %{additional.event_id} Wert, der direkt aus dem Rohlogfeld additional.event_id übernommen und in einen String konvertiert wurde.
additional.query network.dns.questions.name: %{additional.query} Wert, der direkt aus dem Rohlogfeld additional.query übernommen wurde.
additional.response network.dns.answers.name: %{additional.response} Wert, der direkt aus dem Rohlogfeld additional.response übernommen wurde.
metadata.description metadata.description: %{metadata.description} Wert, der direkt aus dem Rohlogfeld metadata.description übernommen wurde.
metadata.eventTimestamp metadata.event_timestamp.seconds: Extracted from %{metadata.eventTimestamp}
metadata.event_timestamp.nanos: Extracted from %{metadata.eventTimestamp}
Sekunden und Nanosekunden werden mithilfe von Datumsparsern aus dem Rohlogfeld metadata.eventTimestamp extrahiert.
metadata.eventType metadata.product_event_type: %{metadata.eventType}
metadata.event_type: %{metadata.eventType}
Wert, der direkt aus dem Rohlogfeld metadata.eventType übernommen wurde.
metadata.logType metadata.product_event_type: %{metadata.logType}
metadata.event_type: %{metadata.logType}
Wert, der direkt aus dem Rohlogfeld metadata.logType übernommen wurde.
network.applicationProtocol network.application_protocol: %{network.applicationProtocol} Wert, der direkt aus dem Rohlogfeld network.applicationProtocol übernommen wurde.
network.direction network.direction: %{network.direction} Wert, der direkt aus dem Rohlogfeld network.direction übernommen wurde.
network.ipProtocol network.ip_protocol: %{network.ipProtocol} Wert, der direkt aus dem Rohlogfeld network.ipProtocol übernommen wurde.
principal.assetId principal.asset_id: TANIUM:%{principal.assetId} Der Wert wird direkt aus dem Rohlogfeld principal.assetId übernommen und mit dem Präfix „TANIUM:“ versehen.
principal.hostname principal.hostname: %{principal.hostname} Wert, der direkt aus dem Rohlogfeld principal.hostname übernommen wurde.
principal.process.companySpecificParentProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId} Der Wert wird direkt aus dem Rohlogfeld principal.process.companySpecificParentProcessId übernommen und als „TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId}“ formatiert.
principal.process.companySpecificProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId} Der Wert wird direkt aus dem Rohlogfeld principal.process.companySpecificProcessId übernommen und als „TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId}“ formatiert.
principal.process.commandLine target.process.command_line: %{principal.process.commandLine} Der Wert wird direkt aus dem Rohlogfeld principal.process.commandLine übernommen, wobei doppelte Anführungszeichen entfernt und Bindestriche durch kaufmännische Und-Zeichen ersetzt werden.
principal.process.file.fullPath target.process.file.full_path: %{principal.process.file.fullPath} Wert, der direkt aus dem Rohlogfeld principal.process.file.fullPath übernommen wurde.
principal.process.file.md5 target.process.file.md5: %{principal.process.file.md5} Der Wert wird direkt aus dem Rohlogfeld principal.process.file.md5 übernommen und in Kleinbuchstaben umgewandelt.
principal.process.parentPid principal.process.pid: %{principal.process.parentPid} Wert, der direkt aus dem Rohprotokollfeld principal.process.parentPid nur für PROCESS_LAUNCH-Ereignisse übernommen wird.
principal.process.pid target.process.pid: %{principal.process.pid} Wert, der direkt aus dem Rohprotokollfeld principal.process.pid nur für PROCESS_LAUNCH-Ereignisse übernommen wird.
principal.process.productSpecificProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} Der Wert wird direkt aus dem Rohlogfeld principal.process.productSpecificProcessId übernommen und als „TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}“ formatiert.
principal.user.groupid principal.user.group_identifiers: %{principal.user.groupid} Wert, der direkt aus dem Rohlogfeld principal.user.groupid übernommen wurde.
principal.user.userid principal.user.userid: %{principal.user.userid} Wert, der direkt aus dem Rohlogfeld principal.user.userid übernommen wurde.
src.ip principal.ip: %{src.ip} Wert, der direkt aus dem Rohlogfeld src.ip übernommen wurde.
src.port principal.port: %{src.port} Wert, der direkt aus dem Rohlogfeld src.port übernommen und in eine Ganzzahl konvertiert wurde.
target.file.fullPath target.file.full_path: %{target.file.fullPath} Wert, der direkt aus dem Rohlogfeld target.file.fullPath übernommen wurde.
target.file.md5 target.file.md5: %{target.file.md5} Wert, der direkt aus dem Rohlogfeld target.file.md5 übernommen wurde.
target.port target.port: %{target.port} Wert, der direkt aus dem Rohlogfeld target.port übernommen und in eine Ganzzahl konvertiert wurde.
target.registry.registryKey target.registry.registry_key: %{target.registry.registryKey} Wert, der direkt aus dem Rohlogfeld target.registry.registryKey übernommen wurde.
target.registry.registryValue target.registry.registry_value_data: %{target.registry.registryValue} Wert, der direkt aus dem Rohlogfeld target.registry.registryValue übernommen wurde.
target.user.userDisplayName target.user.user_display_name: %{target.user.userDisplayName} Wert, der direkt aus dem Rohlogfeld target.user.userDisplayName übernommen wurde.
target.user.windowsSid target.user.windows_sid: %{target.user.windowsSid} Wert, der direkt aus dem Rohlogfeld target.user.windowsSid übernommen wurde.
User-Agent network.http.user_agent: %{user-agent} Der Wert wird direkt aus dem Rohprotokollfeld user-agent übernommen, wobei die doppelten Anführungszeichen entfernt werden.
– extensions.auth.auth_mechanism: LOCAL/NETWORK/BATCH/SERVICE/UNLOCK/NETWORK_CLEAR_TEXT/NEW_CREDENTIALS/REMOTE_INTERACTIVE/CACHED_INTERACTIVE/MECHANISM_UNSPECIFIED Wird vom Parsercode basierend auf dem Wert von additional.event__LogonType bestimmt.
– extensions.auth.type: MACHINE Wird vom Parsercode für USER_LOGIN- und USER_LOGOUT-Ereignisse hinzugefügt.
– metadata.event_type: PROCESS_LAUNCH/NETWORK_CONNECTION/FILE_OPEN/FILE_DELETION/REGISTRY_MODIFICATION/USER_LOGIN/STATUS_UPDATE/USER_LOGOUT/PROCESS_MODULE_LOAD/PROCESS_TERMINATION/USER_CHANGE_PERMISSIONS/SCHEDULED_TASK_MODIFICATION/SCHEDULED_TASK_DISABLE/SCHEDULED_TASK_ENABLE/SCHEDULED_TASK_DELETION/SCHEDULED_TASK_CREATION/PROCESS_UNCATEGORIZED Wird vom Parsercode basierend auf dem Wert von metadata.logType und additional.event_id bestimmt.
– metadata.log_type: TANIUM_TH Hartcodierter Wert, der vom Parsercode hinzugefügt wird.
– metadata.product_name: Stream Hartcodierter Wert, der vom Parsercode hinzugefügt wird.
– metadata.vendor_name: Tanium Hartcodierter Wert, der vom Parsercode hinzugefügt wird.
– principal.hostname: %{principal_hostname} Wert aus principal.hostname oder additional.event__FQDN.
– principal.ip: %{srcIp} Wird mit Grok aus dem rohen Logeintrag extrahiert, wenn src.ip vorhanden ist.
– securityresult.about.resource.name: %{additional.event_AuthenticationPackageName} Wert, der für bestimmte additional.event_id-Werte direkt aus dem Rohlogfeld additional.event__AuthenticationPackageName übernommen wird.
– security_result.category: AUTH_VIOLATION Wird vom Parsercode für bestimmte additional.event_id-Werte hinzugefügt.
– security_result.rule_name: EventID: %{additional.event_id} Wert, der direkt aus dem Rohlogfeld additional.event_id übernommen und in einen String konvertiert wurde.
– target.hostname: %{query_host} Wird aus dem Rohlogfeld additional.query extrahiert, wenn es einen Hostnamen enthält.
– target.ip: %{dstIp} Wird mit Grok aus dem rohen Logeintrag extrahiert, wenn src.ip vorhanden ist.
– target.ip: %{query_ip} Wird aus dem Rohlogfeld additional.query extrahiert, wenn es eine IP-Adresse enthält.
– target.process.command_line: %{principal_process_commandLine} Wert aus principal.process.commandLine, wenn nicht leer.
– target.process.file.full_path: %{principal_process_file_fullPath} Wert aus principal.process.file.fullPath, wenn nicht leer.
– target.process.file.md5: %{principal_process_file_md5} Wert aus principal.process.file.md5, wenn nicht leer.
– target.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} Wert aus principal.process.productSpecificProcessId übernommen und als „TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}“ formatiert.
– target.resource.resource_type: TASK Wird vom Parsercode für bestimmte additional.event_id-Werte hinzugefügt.
– timestamp.seconds: Extracted from %{metadata.eventTimestamp}
timestamp.nanos: Extracted from %{metadata.eventTimestamp}
Sekunden und Nanosekunden werden mithilfe von Datumsparsern aus dem Rohlogfeld metadata.eventTimestamp extrahiert.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten