Tanium Stream-Protokolle 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 Endpunkt-Telemetrie, Daten für die Suche nach Bedrohungen und Verhaltensanalysen in Echtzeit im JSON-Format, die mit Tanium Connect direkt in S3 exportiert werden können, ohne dass benutzerdefinierte Lambda-Funktionen erforderlich sind. Der Parser wandelt Roh-JSON-Logs aus Tanium Stream in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Zuerst werden allgemeine Felder normalisiert. Anschließend wird 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 berücksichtigt.

Hinweise

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

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

Tanium Stream-Dienstkonto konfigurieren

  1. Melden Sie sich in der Tanium Console an.
  2. Gehe zu Module > Stream.
  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 Rolle „Connect-Nutzer“ hat.
    • Zugriff auf Stream-Datenquellen und ‑Endpunkte bestätigen
  5. Klicken Sie auf Speichern, um die Dienstkontokonfiguration anzuwenden.

Voraussetzungen für Tanium Stream

  1. Melden Sie sich als Administrator in der Tanium Console an.
  2. Klicken Sie auf Verwaltung > Berechtigungen > Nutzer.
  3. Erstellen oder identifizieren Sie einen Dienstkontonutzer mit den folgenden Rollen:
    • Stream Administrator oder Stream Read Only User.
    • Berechtigung für die Rolle Connect User.
    • Zugriff auf überwachte Computergruppen (empfohlen: Gruppe Alle Computer).
    • Berechtigung Gespeicherte Frage lesen für Stream-Inhaltsgruppen.

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

  1. Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu der Anleitung unter 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äß dieser Anleitung: IAM-Nutzer erstellen.
  4. Wählen Sie den erstellten Nutzer aus.
  5. Wählen Sie den Tab Sicherheitsanmeldedaten aus.
  6. Klicken Sie im Abschnitt Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
  7. Wählen Sie als Anwendungsfall Drittanbieterdienst aus.
  8. Klicken Sie auf Weiter.
  9. Optional: Fügen Sie ein Beschreibungstag hinzu.
  10. Klicken Sie auf Zugriffsschlüssel erstellen.
  11. Klicken Sie auf CSV-Datei herunterladen, um den Access Key (Zugriffsschlüssel) und den Secret Access Key (geheimer Zugriffsschlüssel) zur späteren 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.

Tanium Connect-AWS S3-Ziel konfigurieren

  1. Melden Sie sich in der Tanium Console an.
  2. Klicken Sie auf Module> Connect (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 Abschnitt Quelle die folgenden Konfigurationsdetails an:
    • Quelltyp: Wählen Sie Gespeicherte Frage aus.
    • Gespeicherte Frage: Wählen Sie eine der folgenden gespeicherten Fragen zu Streams aus:
      • Stream – Endpoint Events für Endpunkttelemetrie in Echtzeit.
      • Stream – Network Events für die Überwachung der Netzwerkaktivität.
      • Stream – Process Events für das Tracking der Prozessausführung.
      • Stream – Datei-Ereignisse für Dateisystemaktivitäten.
      • Stream – Threat Hunting Data für die Verhaltensanalyse.
    • 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 Datenerfassung fest (z. B. 5 Minuten für Echtzeittelemetrie).
  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 Schritt zur AWS S3-Konfiguration heruntergeladen haben.
    • AWS Secret Access Key (Geheimer AWS-Zugriffsschlüssel): Geben Sie den geheimen AWS-Zugriffsschlüssel aus der CSV-Datei ein, die Sie im Konfigurationsschritt für AWS S3 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 zum Filtern von Daten:
    • 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. nach Ereignistyp, Prozessname oder Bedrohungsindikatoren.
  2. Klicken Sie auf Weiter.

Daten für AWS S3 formatieren

  1. Konfigurieren Sie im Bereich Format das Datenformat:
    • Format: Wählen Sie JSON aus.
    • Optionen:
      • Header einfügen: Deaktivieren Sie diese Option, um Header in der JSON-Ausgabe zu vermeiden.
      • Leere Zellen einbeziehen: Wählen Sie die Option aus, die Ihren Anforderungen entspricht.
    • Erweiterte Optionen:
      • Dateibenennung: Verwenden Sie die standardmäßige zeitstempelbasierte Benennung.
      • Komprimierung: Wählen Sie Gzip aus, um Speicherkosten und Ü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.
    • Planungstyp: Wählen Sie Wiederkehrend aus.
    • Häufigkeit: Wählen Sie Alle 5 Minuten aus, um Telemetriedaten nahezu in Echtzeit zu erhalten.
    • Startzeit: Legen Sie eine geeignete Startzeit für den ersten Export fest.
  2. Klicken Sie auf Weiter.

Verbindung speichern und bestätigen

  1. Überprüfen Sie die Verbindungskonfiguration auf dem Übersichtsbildschirm.
  2. Klicken Sie auf Save, um die Verbindung herzustellen.
  3. Klicken Sie auf Verbindung testen, um die Konfiguration zu überprü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 SIEM-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 Amazon S3 V2 als Quelltyp 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 von Quellen: Wählen Sie die gewünschte Option zum Löschen aus.
    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.
    • Zugriffsschlüssel-ID: 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}
Der Wert wird direkt aus dem Rohlogfeld additional.event__AlgorithmName übernommen.
additional.event__AuthenticationPackageName target.resource.name: %{additional.event__AuthenticationPackageName} Der Wert wird direkt aus dem Rohlogfeld additional.event__AuthenticationPackageName übernommen.
additional.event__CallerProcessId principal.process.pid: %{additional.event__CallerProcessId} Der Wert wird direkt aus dem Rohlogfeld additional.event__CallerProcessId übernommen.
additional.event__CallerProcessName principal.process.file.fullpath: %{additional.event_CallerProcessName} Der Wert wird direkt aus dem Rohlogfeld additional.event__CallerProcessName übernommen.
additional.event__ClientProcessId principal.process.pid: %{additional.event__ClientProcessId} Der Wert wird direkt aus dem Rohlogfeld additional.event__ClientProcessId übernommen.
additional.event__ClientProcessStartKey additional.fields.key: eventClientProcessStartKey
additional.fields.value.string_value: %{additional.event
ClientProcessStartKey}
Der Wert wird direkt aus dem Rohlogfeld additional.event__ClientProcessStartKey übernommen.
additional.event__CommandLine target.process.commandline: %{additional.event_CommandLine} Der Wert wird direkt aus dem Rohlogfeld additional.event__CommandLine übernommen.
additional.event__ElevatedToken additional.fields.key: event__ElevatedToken
additional.fields.value.string_value: Yes/No
Der Wert wird direkt aus dem Rohlogfeld additional.event__ElevatedToken übernommen.
Wenn der Wert „%%1842“ ist, wird er durch „Ja“ ersetzt.
Wenn der Wert „%%1843“ ist, wird er durch „Nein“ ersetzt.
additional.event__FQDN principal.hostname: %{additional.event__FQDN} Der Wert wird direkt aus dem Rohlogfeld additional.event__FQDN übernommen.
additional.event__FailureReason additional.fields.key: eventFailureReason
additional.fields.value.string_value: %{additional.event
FailureReason}
Der Wert wird direkt aus dem Rohlogfeld additional.event__FailureReason übernommen.
additional.event__ImpersonationLevel additional.fields.key: eventImpersonationLevel
additional.fields.value.string_value: %{additional.event
ImpersonationLevel}
Der Wert wird direkt aus dem Rohlogfeld additional.event__ImpersonationLevel übernommen.
additional.event__IpAddress target.ip: %{additional.event__IpAddress} Der Wert wird direkt aus dem Rohlogfeld additional.event__IpAddress übernommen.
additional.event__IpPort target.port: %{additional.event__IpPort} Der Wert wird direkt aus dem Rohlogfeld additional.event__IpPort übernommen und in eine Ganzzahl konvertiert.
additional.event__KeyLength additional.fields.key: eventKeyLength
additional.fields.value.string_value: %{additional.event
KeyLength}
Der Wert wird direkt aus dem Rohlogfeld additional.event__KeyLength übernommen.
additional.event__KeyName additional.fields.key: eventKeyName
additional.fields.value.string_value: %{additional.event
KeyName}
Der Wert wird direkt aus dem Rohlogfeld additional.event__KeyName übernommen.
additional.event__KeyType additional.fields.key: eventKeyType
additional.fields.value.string_value: %{additional.event
KeyType}
Der Wert wird direkt aus dem Rohlogfeld additional.event__KeyType übernommen.
additional.event__LmPackageName additional.fields.key: eventLmPackageName
additional.fields.value.string_value: %{additional.event
LmPackageName}
Der Wert wird direkt aus dem Rohlogfeld additional.event__LmPackageName übernommen.
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} Der Wert wird direkt aus dem Rohlogfeld additional.event__LogonProcessName übernommen.
additional.event__LogonType extensions.auth.authdetails: Logon Type: %{additional.event_LogonType} Der Wert wird direkt aus dem Rohlogfeld additional.event__LogonType übernommen.
additional.event__MandatoryLabel additional.fields.key: eventMandatoryLabel
additional.fields.value.string_value: %{additional.event
MandatoryLabel}
Der Wert wird direkt aus dem Rohlogfeld additional.event__MandatoryLabel übernommen.
additional.event__NewProcessId target.process.pid: %{additional.event__NewProcessId} Der Wert wird direkt aus dem Rohlogfeld additional.event__NewProcessId übernommen.
additional.event__NewProcessName target.process.file.fullpath: %{additional.event_NewProcessName} Der Wert wird direkt aus dem Rohlogfeld additional.event__NewProcessName übernommen.
additional.event__ObjectServer security_result.categorydetails: %{additional.event_ObjectServer} Der Wert wird direkt aus dem Rohlogfeld additional.event__ObjectServer übernommen.
additional.event__Operation additional.fields.key: eventOperation
additional.fields.value.string_value: %{additional.event
Operation}
Der Wert wird direkt aus dem Rohlogfeld additional.event__Operation übernommen.
additional.event__ParentProcessId principal.process.parentprocess.pid: %{additional.event_ParentProcessId} Der Wert wird direkt aus dem Rohlogfeld additional.event__ParentProcessId übernommen.
additional.event__ParentProcessName principal.process.parent_process.file.fullpath: %{additional.event_ParentProcessName} Der Wert wird direkt aus dem Rohlogfeld additional.event__ParentProcessName übernommen.
additional.event__ProcessId principal.process.pid: %{additional.event__ProcessId} Der Wert wird direkt aus dem Rohlogfeld additional.event__ProcessId übernommen.
additional.event__ProcessName principal.process.file.fullpath: %{additional.event_ProcessName} Der Wert wird direkt aus dem Rohlogfeld additional.event__ProcessName übernommen.
additional.event__PrivilegeList principal.user.attribute.permissions.name: %{additional.event__PrivilegeList} Der Wert wird direkt aus dem Rohlogfeld additional.event__PrivilegeList übernommen.
additional.event__ProviderName additional.fields.key: eventProviderName
additional.fields.value.string_value: %{additional.event
ProviderName}
Der Wert wird direkt aus dem Rohlogfeld additional.event__ProviderName übernommen.
additional.event__RestrictedAdminMode additional.fields.key: eventRestrictedAdminMode
additional.fields.value.string_value: %{additional.event
RestrictedAdminMode}
Der Wert wird direkt aus dem Rohlogfeld additional.event__RestrictedAdminMode übernommen.
additional.event__ReturnCode additional.fields.key: eventReturnCode
additional.fields.value.string_value: %{additional.event
ReturnCode}
Der Wert wird direkt aus dem Rohlogfeld additional.event__ReturnCode übernommen.
additional.event__RpcCallClientLocality additional.fields.key: eventRpcCallClientLocality
additional.fields.value.string_value: %{additional.event
RpcCallClientLocality}
Der Wert wird direkt aus dem Rohlogfeld additional.event__RpcCallClientLocality übernommen.
additional.event__Service securityresult.description: %{additional.event_Service} Der Wert wird direkt aus dem Rohlogfeld additional.event__Service übernommen.
additional.event__Status additional.fields.key: eventStatus
additional.fields.value.string_value: %{additional.event
Status}
Der Wert wird direkt aus dem Rohlogfeld additional.event__Status übernommen.
additional.event__SubStatus additional.fields.key: eventSubStatus
additional.fields.value.string_value: %{additional.event
SubStatus}
Der Wert wird direkt aus dem Rohlogfeld additional.event__SubStatus übernommen.
additional.event__SubjectDomainName principal.administrativedomain: %{additional.event_SubjectDomainName} Der Wert wird direkt aus dem Rohlogfeld additional.event__SubjectDomainName übernommen.
additional.event__SubjectLogonId additional.fields.key: eventSubjectLogonId
additional.fields.value.string_value: %{additional.event
SubjectLogonId}
Der Wert wird direkt aus dem Rohlogfeld additional.event__SubjectLogonId übernommen.
additional.event__SubjectUserName principal.user.user_displayname: %{additional.event_SubjectUserName} Der Wert wird direkt aus dem Rohlogfeld additional.event__SubjectUserName übernommen.
additional.event__SubjectUserSid principal.user.windowssid: %{additional.event_SubjectUserSid} Der Wert wird direkt aus dem Rohlogfeld additional.event__SubjectUserSid übernommen.
additional.event__TaskContentNew additional.fields.key: eventTaskContentNew
additional.fields.value.string_value: %{additional.event
TaskContentNew}
Der Wert wird direkt aus dem Rohlogfeld additional.event__TaskContentNew übernommen.
additional.event__TaskName additional.fields.key: eventTaskName
additional.fields.value.string_value: %{additional.event
TaskName}
Der Wert wird direkt aus dem Rohlogfeld additional.event__TaskName übernommen.
additional.event__TargetDomainName target.administrativedomain: %{additional.event_TargetDomainName} Der Wert wird direkt aus dem Rohlogfeld additional.event__TargetDomainName übernommen.
additional.event__TargetLinkedLogonId additional.fields.key: eventTargetLinkedLogonId
additional.fields.value.string_value: %{additional.event
TargetLinkedLogonId}
Der Wert wird direkt aus dem Rohlogfeld additional.event__TargetLinkedLogonId übernommen.
additional.event__TargetLogonId additional.fields.key: eventTargetLogonId
additional.fields.value.string_value: %{additional.event
TargetLogonId}
Der Wert wird direkt aus dem Rohlogfeld additional.event__TargetLogonId übernommen.
additional.event__TargetOutboundDomainName additional.fields.key: eventTargetOutboundDomainName
additional.fields.value.string_value: %{additional.event
TargetOutboundDomainName}
Der Wert wird direkt aus dem Rohlogfeld additional.event__TargetOutboundDomainName übernommen.
additional.event__TargetOutboundUserName additional.fields.key: eventTargetOutboundUserName
additional.fields.value.string_value: %{additional.event
TargetOutboundUserName}
Der Wert wird direkt aus dem Rohlogfeld additional.event__TargetOutboundUserName übernommen.
additional.event__TargetSid target.user.windowssid: %{additional.event_TargetSid} Der Wert wird direkt aus dem Rohlogfeld additional.event__TargetSid übernommen.
additional.event__TargetUserName target.user.userid: %{additional.event__TargetUserName} Der Wert wird direkt aus dem Rohlogfeld additional.event__TargetUserName übernommen.
additional.event__TargetUserSid target.user.windowssid: %{additional.event_TargetUserSid} Der Wert wird direkt aus dem Rohlogfeld additional.event__TargetUserSid übernommen.
additional.event__TokenElevationType additional.fields.key: eventTokenElevationType
additional.fields.value.string_value: %{additional.event
TokenElevationType}
Der Wert wird direkt aus dem Rohlogfeld additional.event__TokenElevationType übernommen.
additional.event__TransmittedServices additional.fields.key: eventTransmittedServices
additional.fields.value.string_value: %{additional.event
TransmittedServices}
Der Wert wird direkt aus dem Rohlogfeld additional.event__TransmittedServices übernommen.
additional.event__VirtualAccount additional.fields.key: eventVirtualAccount
additional.fields.value.string_value: %{additional.event
VirtualAccount}
Der Wert wird direkt aus dem Rohlogfeld additional.event__VirtualAccount übernommen.
additional.event__WorkstationName target.hostname: %{additional.event__WorkstationName} Der Wert wird direkt aus dem Rohlogfeld additional.event__WorkstationName übernommen.
additional.event_id security_result.rule_name: EventID: %{additional.event_id} Der Wert wird direkt aus dem Rohlogfeld additional.event_id übernommen und in einen String konvertiert.
additional.query network.dns.questions.name: %{additional.query} Der Wert wird direkt aus dem Rohlogfeld additional.query übernommen.
additional.response network.dns.answers.name: %{additional.response} Der Wert wird direkt aus dem Rohlogfeld additional.response übernommen.
metadata.description metadata.description: %{metadata.description} Der Wert wird direkt aus dem Rohlogfeld metadata.description übernommen.
metadata.eventTimestamp metadata.event_timestamp.seconds: Extracted from %{metadata.eventTimestamp}
metadata.event_timestamp.nanos: Extracted from %{metadata.eventTimestamp}
Sekunden und Nanosekunden werden durch das Parsen des Datums aus dem Rohlogfeld metadata.eventTimestamp extrahiert.
metadata.eventType metadata.product_event_type: %{metadata.eventType}
metadata.event_type: %{metadata.eventType}
Der Wert wird direkt aus dem Rohlogfeld metadata.eventType übernommen.
metadata.logType metadata.product_event_type: %{metadata.logType}
metadata.event_type: %{metadata.logType}
Der Wert wird direkt aus dem Rohlogfeld metadata.logType übernommen.
network.applicationProtocol network.application_protocol: %{network.applicationProtocol} Der Wert wird direkt aus dem Rohlogfeld network.applicationProtocol übernommen.
network.direction network.direction: %{network.direction} Der Wert wird direkt aus dem Rohlogfeld network.direction übernommen.
network.ipProtocol network.ip_protocol: %{network.ipProtocol} Der Wert wird direkt aus dem Rohlogfeld network.ipProtocol übernommen.
principal.assetId principal.asset_id: TANIUM:%{principal.assetId} Der Wert wird direkt aus dem Rohlogfeld principal.assetId übernommen und mit „TANIUM:“ versehen.
principal.hostname principal.hostname: %{principal.hostname} Der Wert wird direkt aus dem Rohlogfeld principal.hostname übernommen.
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. Dabei werden doppelte Anführungszeichen entfernt und Bindestriche durch kaufmännische Und-Zeichen ersetzt.
principal.process.file.fullPath target.process.file.full_path: %{principal.process.file.fullPath} Der Wert wird direkt aus dem Rohlogfeld principal.process.file.fullPath übernommen.
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 konvertiert.
principal.process.parentPid principal.process.pid: %{principal.process.parentPid} Wert, der nur für PROCESS_LAUNCH-Ereignisse direkt aus dem Rohlogfeld principal.process.parentPid übernommen wird.
principal.process.pid target.process.pid: %{principal.process.pid} Wert, der nur für PROCESS_LAUNCH-Ereignisse direkt aus dem Rohlogfeld principal.process.pid ü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} Der Wert wird direkt aus dem Rohlogfeld principal.user.groupid übernommen.
principal.user.userid principal.user.userid: %{principal.user.userid} Der Wert wird direkt aus dem Rohlogfeld principal.user.userid übernommen.
src.ip principal.ip: %{src.ip} Der Wert wird direkt aus dem Rohlogfeld src.ip übernommen.
src.port principal.port: %{src.port} Der Wert wird direkt aus dem Rohlogfeld src.port übernommen und in eine Ganzzahl konvertiert.
target.file.fullPath target.file.full_path: %{target.file.fullPath} Der Wert wird direkt aus dem Rohlogfeld target.file.fullPath übernommen.
target.file.md5 target.file.md5: %{target.file.md5} Der Wert wird direkt aus dem Rohlogfeld target.file.md5 übernommen.
target.port target.port: %{target.port} Der Wert wird direkt aus dem Rohlogfeld target.port übernommen und in eine Ganzzahl konvertiert.
target.registry.registryKey target.registry.registry_key: %{target.registry.registryKey} Der Wert wird direkt aus dem Rohlogfeld target.registry.registryKey übernommen.
target.registry.registryValue target.registry.registry_value_data: %{target.registry.registryValue} Der Wert wird direkt aus dem Rohlogfeld target.registry.registryValue übernommen.
target.user.userDisplayName target.user.user_display_name: %{target.user.userDisplayName} Der Wert wird direkt aus dem Rohlogfeld target.user.userDisplayName übernommen.
target.user.windowsSid target.user.windows_sid: %{target.user.windowsSid} Der Wert wird direkt aus dem Rohlogfeld target.user.windowsSid übernommen.
User-Agent network.http.user_agent: %{user-agent} Der Wert wird direkt aus dem Rohlogfeld user-agent übernommen, wobei doppelte 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 Vom Parsercode hinzugefügter hartcodierter Wert.
metadata.product_name: Stream Vom Parsercode hinzugefügter hartcodierter Wert.
metadata.vendor_name: Tanium Vom Parsercode hinzugefügter hartcodierter Wert.
principal.hostname: %{principal_hostname} Der Wert stammt entweder aus principal.hostname oder additional.event__FQDN.
principal.ip: %{srcIp} Wird aus der Roh-Log-Nachricht mit grok extrahiert, wenn src.ip vorhanden ist.
securityresult.about.resource.name: %{additional.event_AuthenticationPackageName} Wert, der direkt aus dem Rohlogfeld additional.event__AuthenticationPackageName für bestimmte additional.event_id-Werte ü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} Der Wert wird direkt aus dem Rohlogfeld additional.event_id übernommen und in einen String konvertiert.
target.hostname: %{query_host} Wird aus dem Rohlogfeld additional.query extrahiert, wenn es einen Hostnamen enthält.
target.ip: %{dstIp} Wird aus der Roh-Log-Nachricht mit grok 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} Der Wert wird aus principal.process.commandLine übernommen, sofern dieser nicht leer ist.
target.process.file.full_path: %{principal_process_file_fullPath} Der Wert wird aus principal.process.file.fullPath übernommen, sofern dieser nicht leer ist.
target.process.file.md5: %{principal_process_file_md5} Der Wert wird aus principal.process.file.md5 übernommen, sofern dieser nicht leer ist.
target.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} Der Wert stammt aus principal.process.productSpecificProcessId und ist 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 durch das Parsen des Datums aus dem Rohlogfeld metadata.eventTimestamp extrahiert.

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