4. 企业日志与遥测数据源

威胁检测工程的第一性原理是:没有遥测,就没有检测。检测规则、关联分析、行为基线乃至机器学习模型,全部建立在日志与遥测数据之上。如果采集面存在盲区、字段缺失或时间错乱,再精巧的检测逻辑也会失效。本节围绕五类核心数据源——终端、网络、身份、云、应用——说明它们各自能回答什么问题、采集时抓什么、如何标准化成统一事件模型,以及如何用可量化的指标评估数据质量。

五类数据源的分工与采集要点

终端日志回答“主机上发生了什么”。核心来源包括进程创建(Windows 4688 / Sysmon EventID 1、Linux auditd execve)、命令行参数、父子进程关系、文件写入与注册表修改、驱动加载、计划任务与服务安装。采集时最容易被忽略的是命令行完整参数与父进程标识:缺少这两项,就无法识别“Office 启动 PowerShell 下载远程脚本”这类典型攻击链。Sysmon 建议至少启用 1、3、11、13、22 号事件,并开启命令行审计。

网络日志回答“谁和谁在通信”。包括防火墙会话日志、DNS 查询日志、代理 HTTP 日志、NetFlow/IPFIX 流记录、TLS 元数据(SNI、证书指纹)以及 IDS/NDR 告警。网络侧的价值在于它不受终端 Agent 是否存活影响,能覆盖未纳管设备。关键字段是五元组、时间戳、字节数、域名与 SNI。DNS 日志尤其重要,因为 C2 域名解析往往先于实际连接出现。

身份日志回答“谁在登录、以什么方式登录”。来源包括 AD 域控安全日志(4624 登录成功、4625 失败、4768/4769 Kerberos 票据)、Azure AD / Entra ID 登录日志与审计日志、Okta、SSO 网关。重点字段是账户、源 IP、登录类型(交互/网络/远程交互)、MFA 结果、User-Agent 与地理位置。身份是横向移动与权限提升的必经环节,身份日志是检测“异常登录后批量访问资源”的关键。

云日志回答“控制平面被谁改动了”。AWS CloudTrail、Azure Activity Log、GCP Audit Log 记录 API 调用者、源 IP、请求参数与结果。云环境的攻击特征常表现为:创建新访问密钥、修改 IAM 策略、关闭日志记录、创建异常安全组规则。云日志必须开启管理事件与数据事件,并注意多区域、多账户聚合,否则会出现“只看到主账户、看不到子账户”的盲区。

应用日志回答“业务层发生了什么”。Web 访问日志、API 网关日志、WAF 日志、数据库审计日志、消息队列日志。它们能提供终端与网络看不到的语义,例如越权访问、注入尝试、批量数据导出。应用日志格式最不统一,往往需要自定义解析规则。

五类遥测源 → 标准化 → 质量评估 终端 进程/命令行/文件 Sysmon·auditd 网络 五元组/DNS/SNI 防火墙·代理·Flow 身份 登录/MFA/票据 AD·Entra·Okta 云 API 调用/IAM 变更 CloudTrail·Activity 应用 Web/API/WAF/DB 标准化事件模型 event_time(UTC) host / user / src_ip action / result process / parent raw + source_type trace_id(关联键) 数据质量评估维度 完整性 关键字段缺失率 < 1% 时效性 采集延迟 P95 < 60s 一致性 时间戳统一 UTC,时钟偏差 < 2s 准确性 解析失败率 < 0.5%,字段类型正确 覆盖率 纳管资产占比 ≥ 95%,无静默主机 唯一性 去重后重复率 < 0.1%

标准化:把异构日志变成可关联的事件

五类数据源格式各异,必须先归一化才能做跨源关联。标准化的核心是定义一个统一事件模型,至少包含以下字段:

  • event_time:统一为 UTC 时间戳,精度到毫秒;
  • host / user / src_ip / dst_ip:实体标识;
  • action / result:动作与结果(成功/失败);
  • process / parent_process:进程上下文;
  • source_type:来源类型(endpoint/network/identity/cloud/app);
  • raw:原始日志保留,便于回溯与重新解析。

实践中常用 ECS(Elastic Common Schema)或 OCSF 作为字段命名参考。标准化不是简单改名,而是语义对齐:AD 的 4624 登录类型 3 与云登录日志的“网络登录”要映射到同一个 logon_type=network,否则关联规则无法跨源匹配。解析失败的事件必须进入死信队列并告警,而不是静默丢弃。

质量评估:用指标发现盲区

数据质量不能靠感觉,要靠可观测指标。建议对每条采集链路持续监控以下六项:完整性(关键字段缺失率)、时效性(采集延迟 P95)、一致性(时钟偏差)、准确性(解析失败率)、覆盖率(纳管资产占比)、唯一性(重复率)。

一个常见的排障场景:某终端主机连续 30 分钟无日志上报。检查顺序应为——先看 Agent 进程是否存活,再看网络出口是否可达采集端,再看采集端是否因磁盘满而丢弃,最后核对主机时钟是否漂移导致事件被写入错误时间分区。这类“静默主机”是检测盲区的主要来源,必须设置心跳告警。

实用检查清单(可直接用于采集链路验收):
  • 终端:Sysmon 1/3/11/13/22 是否启用,命令行审计是否开启;
  • 网络:DNS 查询日志是否全量,代理日志是否含 SNI 与 User-Agent;
  • 身份:域控 4624/4625/4768/4769 是否采集,Entra 登录日志是否导出;
  • 云:CloudTrail 是否多区域、多账户聚合,管理事件是否开启;
  • 应用:WAF 与 API 网关日志是否含请求体摘要与响应码;
  • 全局:所有源时间戳是否统一 UTC,解析失败是否有死信队列与告警。

采集与标准化完成后,建议用一条最小验证规则做端到端确认:例如“同一用户在 5 分钟内先出现 4625 失败登录、再出现 4624 成功登录,且源 IP 与历史基线不符”。如果这条规则能在测试环境稳定触发,说明身份日志的字段映射、时间对齐与关联键都已打通;如果触发不了,问题通常出在字段缺失或时间偏差,而不是规则本身。数据质量评估的最终目的,就是让检测规则在真实数据上可复现、可解释、可维护。