收集 Tanium Stream 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 Tanium Connect 的原生 AWS S3 导出功能将 Tanium Stream 日志注入到 Google Security Operations。Tanium Stream 以 JSON 格式提供实时端点遥测数据、威胁搜寻数据和行为分析数据,这些数据可使用 Tanium Connect 直接导出到 S3,而无需自定义 Lambda 函数。解析器会将来自 Tanium Stream 的原始 JSON 日志转换为统一数据模型 (UDM)。它首先会对常见字段进行归一化处理,然后根据“logType”或“eventType”应用特定逻辑,将相关信息映射到相应的 UDM 字段中,从而处理各种事件类型,例如网络连接、用户登录、进程启动和文件修改。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Tanium Core Platform 7.0 或更高版本
- 已安装并配置 Tanium Stream 模块
- 已安装 Tanium Connect 模块并拥有有效许可
- Tanium Threat Response 3.4.346 或更高版本(如果使用 TR 集成)
- 以管理员权限对 Tanium 控制台进行特权访问
- 对 AWS(S3、IAM)的特权访问权限
配置 Tanium Stream 服务账号
- 登录 Tanium 控制台。
- 依次前往模块 > Stream。
- 点击右上角的设置。
- 在服务账号部分,配置以下内容:
- 服务账号用户:选择具有适当 Stream 权限的用户。
- 验证账号是否具有“连接用户”角色权限。
- 确认对 Stream 数据源和端点的访问权限。
- 点击保存,以应用服务账号配置。
收集 Tanium Stream 前提条件
- 以管理员身份登录 Tanium Console。
- 依次前往管理 > 权限 > 用户。
- 创建或确定具有以下角色的服务账号用户:
- Stream Administrator 或 Stream Read Only User 角色。
- 连接用户角色权限。
- 对受监控的计算机群组的访问权限(建议:所有计算机群组)。
- 针对 Stream 内容集的读取已保存问题权限。
为 Google SecOps 配置 AWS S3 存储桶和 IAM
- 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶
- 保存存储桶名称和区域以供日后参考(例如
tanium-stream-logs
)。 - 按照以下用户指南创建用户:创建 IAM 用户。
- 选择创建的用户。
- 选择安全凭据标签页。
- 在访问密钥部分中,点击创建访问密钥。
- 选择第三方服务作为使用情形。
- 点击下一步。
- 可选:添加说明标记。
- 点击创建访问密钥。
- 点击 Download CSV file(下载 CSV 文件),保存访问密钥和不公开的访问密钥以供日后使用。
- 点击完成。
- 选择权限标签页。
- 在权限政策部分中,点击添加权限。
- 选择添加权限。
- 选择直接附加政策
- 搜索并选择 AmazonS3FullAccess 政策。
- 点击下一步。
- 点击添加权限。
配置 Tanium Connect AWS S3 目标
- 登录 Tanium 控制台。
- 依次前往模块 > 连接。
- 点击 Create Connection。
- 提供以下配置详细信息:
- 名称:输入一个描述性名称(例如
Stream Telemetry to S3 for SecOps
)。 - 说明:可选说明(例如
Export endpoint telemetry and threat hunting data to AWS S3 for Google SecOps ingestion
)。 - 启用:选择此选项可启用连接,以便按计划运行。
- 名称:输入一个描述性名称(例如
- 点击下一步。
配置连接来源
- 在来源部分,提供以下配置详细信息:
- 来源类型:选择已保存的问题。
- 已保存的问题:选择以下与 Stream 相关的已保存问题之一:
- Stream - Endpoint Events,用于实时端点遥测。
- 用于监控网络活动的数据流 - 网络事件。
- Stream - Process Events,用于跟踪进程执行情况。
- 数据流 - 文件事件,用于跟踪文件系统活动。
- 流式传输 - 威胁搜寻数据,用于行为分析。
- 计算机组:选择所有计算机或要监控的特定计算机组。
- 刷新间隔:为数据收集设置适当的间隔(例如,实时遥测数据的间隔为 5 分钟)。
- 点击下一步。
配置 AWS S3 目标位置
- 在目标部分,提供以下配置详细信息:
- 目标类型:选择 AWS S3。
- 目标名称:输入一个唯一名称(例如
Google SecOps Stream S3 Destination
)。 - AWS 访问密钥:输入在 AWS S3 配置步骤中下载的 CSV 文件中的 AWS 访问密钥。
- AWS 私有访问密钥:输入在 AWS S3 配置步骤中下载的 CSV 文件中的 AWS 私有访问密钥。
- 存储桶名称:输入您的 S3 存储桶名称(例如
tanium-stream-logs
)。 - 区域:选择您的 S3 存储桶所在的 AWS 区域。
- 键前缀:输入 S3 对象的前缀(例如
tanium/stream/
)。
- 点击下一步。
配置过滤条件
- 在过滤条件部分,配置数据过滤选项:
- 仅发送新项:选择此选项可仅发送自上次导出以来的新遥测数据。
- 列过滤条件:根据需要添加基于特定事件属性的过滤条件(例如,按事件类型、进程名称或威胁指示器进行过滤)。
- 点击下一步。
为 AWS S3 设置数据格式
- 在格式部分,配置数据格式:
- 格式:选择 JSON。
- 选项:
- 包含标题:取消选择可避免在 JSON 输出中包含标题。
- 包含空单元格:根据您的偏好设置进行选择。
- 高级选项:
- 文件命名:使用基于时间戳的默认命名方式。
- 压缩:选择 Gzip 可降低存储费用和缩短传输时间。
- 点击下一步。
安排连接
- 在时间表部分,配置导出时间表:
- 启用时间表:选择此选项可启用自动定时导出。
- 安排类型:选择周期性。
- 频率:选择每 5 分钟,以获取近乎实时的遥测数据。
- 开始时间:为首次导出设置合适的开始时间。
- 点击下一步。
保存并验证连接
- 在摘要界面中查看连接配置。
- 点击保存以创建连接。
- 点击测试连接以验证配置。
- 如果测试成功,请点击立即运行以执行初始导出。
- 在论坛概览页面中监控连接状态。
在 Google SecOps 中配置 Feed 以注入 Tanium Stream 日志
- 依次前往 SIEM 设置> Feed。
- 点击 + 添加新 Feed。
- 在Feed 名称字段中,输入 Feed 的名称(例如
Tanium Stream logs
)。 - 选择 Amazon S3 V2 作为来源类型。
- 选择 Tanium Stream 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- S3 URI:
s3://tanium-stream-logs/tanium/stream/
- 源删除选项:根据您的偏好选择删除选项。
- 文件存在时间上限:包含在过去指定天数内修改的文件。默认值为 180 天。
- 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
- 私有访问密钥:具有 S3 存储桶访问权限的用户私有密钥。
- 资产命名空间:资产命名空间。
- 注入标签:应用于此 Feed 中事件的标签。
- S3 URI:
- 点击下一步。
- 在最终确定界面中查看新的 Feed 配置,然后点击提交。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
additional.event__AlgorithmName | additional.fields.key: eventAlgorithmName additional.fields.value.string_value: %{additional.eventAlgorithmName} |
直接从原始日志字段 additional.event__AlgorithmName 中提取的值。 |
additional.event__AuthenticationPackageName | target.resource.name: %{additional.event__AuthenticationPackageName} | 直接从原始日志字段 additional.event__AuthenticationPackageName 中提取的值。 |
additional.event__CallerProcessId | principal.process.pid: %{additional.event__CallerProcessId} | 直接从原始日志字段 additional.event__CallerProcessId 中提取的值。 |
additional.event__CallerProcessName | principal.process.file.fullpath: %{additional.event_CallerProcessName} | 直接从原始日志字段 additional.event__CallerProcessName 中提取的值。 |
additional.event__ClientProcessId | principal.process.pid: %{additional.event__ClientProcessId} | 直接从原始日志字段 additional.event__ClientProcessId 中提取的值。 |
additional.event__ClientProcessStartKey | additional.fields.key: eventClientProcessStartKey additional.fields.value.string_value: %{additional.eventClientProcessStartKey} |
直接从原始日志字段 additional.event__ClientProcessStartKey 中提取的值。 |
additional.event__CommandLine | target.process.commandline: %{additional.event_CommandLine} | 直接从原始日志字段 additional.event__CommandLine 中提取的值。 |
additional.event__ElevatedToken | additional.fields.key: event__ElevatedToken additional.fields.value.string_value: Yes/No |
直接从原始日志字段 additional.event__ElevatedToken 中获取的值。如果值为“%%1842”,则替换为“是”。 如果值为“%%1843”,则替换为“否”。 |
additional.event__FQDN | principal.hostname: %{additional.event__FQDN} | 直接从原始日志字段 additional.event__FQDN 中提取的值。 |
additional.event__FailureReason | additional.fields.key: eventFailureReason additional.fields.value.string_value: %{additional.eventFailureReason} |
直接从原始日志字段 additional.event__FailureReason 中提取的值。 |
additional.event__ImpersonationLevel | additional.fields.key: eventImpersonationLevel additional.fields.value.string_value: %{additional.eventImpersonationLevel} |
直接从原始日志字段 additional.event__ImpersonationLevel 中提取的值。 |
additional.event__IpAddress | target.ip: %{additional.event__IpAddress} | 直接从原始日志字段 additional.event__IpAddress 中提取的值。 |
additional.event__IpPort | target.port: %{additional.event__IpPort} | 直接从原始日志字段 additional.event__IpPort 中获取的值,并转换为整数。 |
additional.event__KeyLength | additional.fields.key: eventKeyLength additional.fields.value.string_value: %{additional.eventKeyLength} |
直接从原始日志字段 additional.event__KeyLength 中提取的值。 |
additional.event__KeyName | additional.fields.key: eventKeyName additional.fields.value.string_value: %{additional.eventKeyName} |
直接从原始日志字段 additional.event__KeyName 中提取的值。 |
additional.event__KeyType | additional.fields.key: eventKeyType additional.fields.value.string_value: %{additional.eventKeyType} |
直接从原始日志字段 additional.event__KeyType 中提取的值。 |
additional.event__LmPackageName | additional.fields.key: eventLmPackageName additional.fields.value.string_value: %{additional.eventLmPackageName} |
直接从原始日志字段 additional.event__LmPackageName 中提取的值。 |
additional.event__LogonGuid | target.resource.product_objectid: %{additional.event_LogonGuid} | 直接从原始日志字段 additional.event__LogonGuid 中提取值,并移除大括号。 |
additional.event__LogonProcessName | target.process.file.fullpath: %{additional.event_LogonProcessName} | 直接从原始日志字段 additional.event__LogonProcessName 中提取的值。 |
additional.event__LogonType | extensions.auth.authdetails: Logon Type: %{additional.event_LogonType} | 直接从原始日志字段 additional.event__LogonType 中提取的值。 |
additional.event__MandatoryLabel | additional.fields.key: eventMandatoryLabel additional.fields.value.string_value: %{additional.eventMandatoryLabel} |
直接从原始日志字段 additional.event__MandatoryLabel 中提取的值。 |
additional.event__NewProcessId | target.process.pid: %{additional.event__NewProcessId} | 直接从原始日志字段 additional.event__NewProcessId 中提取的值。 |
additional.event__NewProcessName | target.process.file.fullpath: %{additional.event_NewProcessName} | 直接从原始日志字段 additional.event__NewProcessName 中提取的值。 |
additional.event__ObjectServer | security_result.categorydetails: %{additional.event_ObjectServer} | 直接从原始日志字段 additional.event__ObjectServer 中提取的值。 |
additional.event__Operation | additional.fields.key: eventOperation additional.fields.value.string_value: %{additional.eventOperation} |
直接从原始日志字段 additional.event__Operation 中提取的值。 |
additional.event__ParentProcessId | principal.process.parentprocess.pid: %{additional.event_ParentProcessId} | 直接从原始日志字段 additional.event__ParentProcessId 中提取的值。 |
additional.event__ParentProcessName | principal.process.parent_process.file.fullpath: %{additional.event_ParentProcessName} | 直接从原始日志字段 additional.event__ParentProcessName 中提取的值。 |
additional.event__ProcessId | principal.process.pid: %{additional.event__ProcessId} | 直接从原始日志字段 additional.event__ProcessId 中提取的值。 |
additional.event__ProcessName | principal.process.file.fullpath: %{additional.event_ProcessName} | 直接从原始日志字段 additional.event__ProcessName 中提取的值。 |
additional.event__PrivilegeList | principal.user.attribute.permissions.name: %{additional.event__PrivilegeList} | 直接从原始日志字段 additional.event__PrivilegeList 中提取的值。 |
additional.event__ProviderName | additional.fields.key: eventProviderName additional.fields.value.string_value: %{additional.eventProviderName} |
直接从原始日志字段 additional.event__ProviderName 中提取的值。 |
additional.event__RestrictedAdminMode | additional.fields.key: eventRestrictedAdminMode additional.fields.value.string_value: %{additional.eventRestrictedAdminMode} |
直接从原始日志字段 additional.event__RestrictedAdminMode 中提取的值。 |
additional.event__ReturnCode | additional.fields.key: eventReturnCode additional.fields.value.string_value: %{additional.eventReturnCode} |
直接从原始日志字段 additional.event__ReturnCode 中提取的值。 |
additional.event__RpcCallClientLocality | additional.fields.key: eventRpcCallClientLocality additional.fields.value.string_value: %{additional.eventRpcCallClientLocality} |
直接从原始日志字段 additional.event__RpcCallClientLocality 中提取的值。 |
additional.event__Service | securityresult.description: %{additional.event_Service} | 直接从原始日志字段 additional.event__Service 中提取的值。 |
additional.event__Status | additional.fields.key: eventStatus additional.fields.value.string_value: %{additional.eventStatus} |
直接从原始日志字段 additional.event__Status 中提取的值。 |
additional.event__SubStatus | additional.fields.key: eventSubStatus additional.fields.value.string_value: %{additional.eventSubStatus} |
直接从原始日志字段 additional.event__SubStatus 中提取的值。 |
additional.event__SubjectDomainName | principal.administrativedomain: %{additional.event_SubjectDomainName} | 直接从原始日志字段 additional.event__SubjectDomainName 中提取的值。 |
additional.event__SubjectLogonId | additional.fields.key: eventSubjectLogonId additional.fields.value.string_value: %{additional.eventSubjectLogonId} |
直接从原始日志字段 additional.event__SubjectLogonId 中提取的值。 |
additional.event__SubjectUserName | principal.user.user_displayname: %{additional.event_SubjectUserName} | 直接从原始日志字段 additional.event__SubjectUserName 中提取的值。 |
additional.event__SubjectUserSid | principal.user.windowssid: %{additional.event_SubjectUserSid} | 直接从原始日志字段 additional.event__SubjectUserSid 中提取的值。 |
additional.event__TaskContentNew | additional.fields.key: eventTaskContentNew additional.fields.value.string_value: %{additional.eventTaskContentNew} |
直接从原始日志字段 additional.event__TaskContentNew 中提取的值。 |
additional.event__TaskName | additional.fields.key: eventTaskName additional.fields.value.string_value: %{additional.eventTaskName} |
直接从原始日志字段 additional.event__TaskName 中提取的值。 |
additional.event__TargetDomainName | target.administrativedomain: %{additional.event_TargetDomainName} | 直接从原始日志字段 additional.event__TargetDomainName 中提取的值。 |
additional.event__TargetLinkedLogonId | additional.fields.key: eventTargetLinkedLogonId additional.fields.value.string_value: %{additional.eventTargetLinkedLogonId} |
直接从原始日志字段 additional.event__TargetLinkedLogonId 中提取的值。 |
additional.event__TargetLogonId | additional.fields.key: eventTargetLogonId additional.fields.value.string_value: %{additional.eventTargetLogonId} |
直接从原始日志字段 additional.event__TargetLogonId 中提取的值。 |
additional.event__TargetOutboundDomainName | additional.fields.key: eventTargetOutboundDomainName additional.fields.value.string_value: %{additional.eventTargetOutboundDomainName} |
直接从原始日志字段 additional.event__TargetOutboundDomainName 中提取的值。 |
additional.event__TargetOutboundUserName | additional.fields.key: eventTargetOutboundUserName additional.fields.value.string_value: %{additional.eventTargetOutboundUserName} |
直接从原始日志字段 additional.event__TargetOutboundUserName 中提取的值。 |
additional.event__TargetSid | target.user.windowssid: %{additional.event_TargetSid} | 直接从原始日志字段 additional.event__TargetSid 中提取的值。 |
additional.event__TargetUserName | target.user.userid: %{additional.event__TargetUserName} | 直接从原始日志字段 additional.event__TargetUserName 中提取的值。 |
additional.event__TargetUserSid | target.user.windowssid: %{additional.event_TargetUserSid} | 直接从原始日志字段 additional.event__TargetUserSid 中提取的值。 |
additional.event__TokenElevationType | additional.fields.key: eventTokenElevationType additional.fields.value.string_value: %{additional.eventTokenElevationType} |
直接从原始日志字段 additional.event__TokenElevationType 中提取的值。 |
additional.event__TransmittedServices | additional.fields.key: eventTransmittedServices additional.fields.value.string_value: %{additional.eventTransmittedServices} |
直接从原始日志字段 additional.event__TransmittedServices 中提取的值。 |
additional.event__VirtualAccount | additional.fields.key: eventVirtualAccount additional.fields.value.string_value: %{additional.eventVirtualAccount} |
直接从原始日志字段 additional.event__VirtualAccount 中提取的值。 |
additional.event__WorkstationName | target.hostname: %{additional.event__WorkstationName} | 直接从原始日志字段 additional.event__WorkstationName 中提取的值。 |
additional.event_id | security_result.rule_name: EventID: %{additional.event_id} | 直接从原始日志字段 additional.event_id 中提取的值,并转换为字符串。 |
additional.query | network.dns.questions.name: %{additional.query} | 直接从原始日志字段 additional.query 中提取的值。 |
additional.response | network.dns.answers.name: %{additional.response} | 直接从原始日志字段 additional.response 中提取的值。 |
metadata.description | metadata.description: %{metadata.description} | 直接从原始日志字段 metadata.description 中提取的值。 |
metadata.eventTimestamp | metadata.event_timestamp.seconds: Extracted from %{metadata.eventTimestamp} metadata.event_timestamp.nanos: Extracted from %{metadata.eventTimestamp} |
系统会使用日期解析功能从原始日志字段 metadata.eventTimestamp 中提取秒数和纳秒数。 |
metadata.eventType | metadata.product_event_type: %{metadata.eventType} metadata.event_type: %{metadata.eventType} |
直接从原始日志字段 metadata.eventType 中提取的值。 |
metadata.logType | metadata.product_event_type: %{metadata.logType} metadata.event_type: %{metadata.logType} |
直接从原始日志字段 metadata.logType 中提取的值。 |
network.applicationProtocol | network.application_protocol: %{network.applicationProtocol} | 直接从原始日志字段 network.applicationProtocol 中提取的值。 |
network.direction | network.direction: %{network.direction} | 直接从原始日志字段 network.direction 中提取的值。 |
network.ipProtocol | network.ip_protocol: %{network.ipProtocol} | 直接从原始日志字段 network.ipProtocol 中提取的值。 |
principal.assetId | principal.asset_id: TANIUM:%{principal.assetId} | 直接从原始日志字段 principal.assetId 中获取的值,并以“TANIUM:”为前缀。 |
principal.hostname | principal.hostname: %{principal.hostname} | 直接从原始日志字段 principal.hostname 中提取的值。 |
principal.process.companySpecificParentProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId} | 直接从原始日志字段 principal.process.companySpecificParentProcessId 中获取的值,格式为“TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId}”。 |
principal.process.companySpecificProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId} | 直接从原始日志字段 principal.process.companySpecificProcessId 中获取的值,格式为“TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId}”。 |
principal.process.commandLine | target.process.command_line: %{principal.process.commandLine} | 直接从原始日志字段 principal.process.commandLine 中提取的值,并移除了英文双引号,将连字符替换为英文 & 符号。 |
principal.process.file.fullPath | target.process.file.full_path: %{principal.process.file.fullPath} | 直接从原始日志字段 principal.process.file.fullPath 中提取的值。 |
principal.process.file.md5 | target.process.file.md5: %{principal.process.file.md5} | 直接从原始日志字段 principal.process.file.md5 中获取的值,并转换为小写。 |
principal.process.parentPid | principal.process.pid: %{principal.process.parentPid} | 直接从原始日志字段 principal.process.parentPid 中提取的值,仅适用于 PROCESS_LAUNCH 事件。 |
principal.process.pid | target.process.pid: %{principal.process.pid} | 直接从原始日志字段 principal.process.pid 中提取的值,仅适用于 PROCESS_LAUNCH 事件。 |
principal.process.productSpecificProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} | 直接从原始日志字段 principal.process.productSpecificProcessId 中获取的值,格式为“TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}”。 |
principal.user.groupid | principal.user.group_identifiers: %{principal.user.groupid} | 直接从原始日志字段 principal.user.groupid 中提取的值。 |
principal.user.userid | principal.user.userid: %{principal.user.userid} | 直接从原始日志字段 principal.user.userid 中提取的值。 |
src.ip | principal.ip: %{src.ip} | 直接从原始日志字段 src.ip 中提取的值。 |
src.port | principal.port: %{src.port} | 直接从原始日志字段 src.port 中获取的值,并转换为整数。 |
target.file.fullPath | target.file.full_path: %{target.file.fullPath} | 直接从原始日志字段 target.file.fullPath 中提取的值。 |
target.file.md5 | target.file.md5: %{target.file.md5} | 直接从原始日志字段 target.file.md5 中提取的值。 |
target.port | target.port: %{target.port} | 直接从原始日志字段 target.port 中获取的值,并转换为整数。 |
target.registry.registryKey | target.registry.registry_key: %{target.registry.registryKey} | 直接从原始日志字段 target.registry.registryKey 中提取的值。 |
target.registry.registryValue | target.registry.registry_value_data: %{target.registry.registryValue} | 直接从原始日志字段 target.registry.registryValue 中提取的值。 |
target.user.userDisplayName | target.user.user_display_name: %{target.user.userDisplayName} | 直接从原始日志字段 target.user.userDisplayName 中提取的值。 |
target.user.windowsSid | target.user.windows_sid: %{target.user.windowsSid} | 直接从原始日志字段 target.user.windowsSid 中提取的值。 |
user-agent | network.http.user_agent: %{user-agent} | 直接从原始日志字段 user-agent 中获取的值,并移除了双引号。 |
不适用 | extensions.auth.auth_mechanism: LOCAL/NETWORK/BATCH/SERVICE/UNLOCK/NETWORK_CLEAR_TEXT/NEW_CREDENTIALS/REMOTE_INTERACTIVE/CACHED_INTERACTIVE/MECHANISM_UNSPECIFIED | 由解析器代码根据 additional.event__LogonType 的值确定。 |
不适用 | extensions.auth.type: MACHINE | 由解析器代码针对 USER_LOGIN 和 USER_LOGOUT 事件添加。 |
不适用 | 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 | 由解析器代码根据 metadata.logType 和 additional.event_id 的值确定。 |
不适用 | metadata.log_type: TANIUM_TH | 由解析器代码添加的硬编码值。 |
不适用 | metadata.product_name:Stream | 由解析器代码添加的硬编码值。 |
不适用 | metadata.vendor_name: Tanium | 由解析器代码添加的硬编码值。 |
不适用 | principal.hostname: %{principal_hostname} | 取自 principal.hostname 或 additional.event__FQDN 的值。 |
不适用 | principal.ip: %{srcIp} | 如果存在 src.ip ,则使用 grok 从原始日志消息中提取。 |
不适用 | securityresult.about.resource.name: %{additional.event_AuthenticationPackageName} | 直接从原始日志字段 additional.event__AuthenticationPackageName 中提取的值,用于特定 additional.event_id 值。 |
不适用 | security_result.category: AUTH_VIOLATION | 由解析器代码针对特定 additional.event_id 值添加。 |
不适用 | security_result.rule_name: EventID: %{additional.event_id} | 直接从原始日志字段 additional.event_id 中提取的值,并转换为字符串。 |
不适用 | target.hostname: %{query_host} | 如果原始日志字段 additional.query 包含主机名,则从中提取。 |
不适用 | target.ip: %{dstIp} | 如果存在 src.ip ,则使用 grok 从原始日志消息中提取。 |
不适用 | target.ip: %{query_ip} | 如果原始日志字段 additional.query 包含 IP 地址,则从中提取。 |
不适用 | target.process.command_line: %{principal_process_commandLine} | 如果 principal.process.commandLine 不为空,则取自 principal.process.commandLine 。 |
不适用 | target.process.file.full_path: %{principal_process_file_fullPath} | 如果 principal.process.file.fullPath 不为空,则取自 principal.process.file.fullPath 。 |
不适用 | target.process.file.md5: %{principal_process_file_md5} | 如果 principal.process.file.md5 不为空,则取自 principal.process.file.md5 。 |
不适用 | target.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} | 从 principal.process.productSpecificProcessId 中获取的值,格式为“TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}”。 |
不适用 | target.resource.resource_type: TASK | 由解析器代码针对特定 additional.event_id 值添加。 |
不适用 | timestamp.seconds: Extracted from %{metadata.eventTimestamp} timestamp.nanos: Extracted from %{metadata.eventTimestamp} |
系统会使用日期解析功能从原始日志字段 metadata.eventTimestamp 中提取秒数和纳秒数。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。