审计记录要能回答什么
一条合格的审计记录,要能回答四件事:什么时候、谁、做了什么、结果如何(成功还是失败)。这也是等级保护对安全审计的明确要求。真正容易出问题的环节是字段映射:应用日志、数据库审计、操作系统日志、设备日志的字段名与格式各不相同,如果采集前没把映射关系写进日志规范,等到分析时才发现关键字段缺失,历史数据补不回来。
要素映射
| 问题 | 通用字段 | 常见来源字段 | 常见缺陷 |
|---|---|---|---|
| 何时 | 事件时间(含时区) | time_iso8601 / SystemTime / @timestamp | 只记本地时间不带时区,跨区域合并时错位 |
| 何人 | 主体标识 | user / subjectUserName / uid / account | 只记系统账号,共享账号与运维代填无法定位到人 |
| 何地 | 来源地址 | remote_addr / client_ip / IpAddress | 经过 NAT 或网关后只留内网地址,无法回溯来源 |
| 做了什么 | 事件类型与客体 | event / request / object / operation | 只记「操作成功」不记操作对象,无法判断影响范围 |
| 结果 | 成功与否 | status / result / outcome | 失败事件被过滤,爆破与探测行为失去线索 |
| 其他 | 补充上下文 | session_id / trace_id / user_agent | 缺少请求标识,跨系统对不齐同一次会话 |
日志规范要写清的内容
日志规范要写清的内容
1 字段清单:必需字段(时间、主体、来源、事件类型、结果)与推荐字段逐项列出
2 时间格式:统一 ISO 8601 带时区,如 2026-10-13T10:00:00+08:00
3 编码与格式:统一 UTF-8,结构化输出(JSON)优先于自由文本
4 事件编码表:动作与事件类型使用受控词表,禁止各系统自造同义词
5 敏感字段处理:口令、身份证号、银行卡号必须脱敏或哈希后记录
6 采集与留存:采集方式、传输协议、留存期限(网络日志按规定不少于六个月)与备份要求
7 字段缺失时的兜底:明确以哪个字段替代,避免采集端静默丢字段落地检查动作
- 抽样一条真实记录,逐字段核对是否齐全,而不是只看采集器界面上有数据
- 按「某账号在某时间段做了哪些操作」做一次检索演练,验证可检索性
- 核对审计覆盖范围:是否覆盖到每个用户,含运维跳板机与数据库直连
- 确认审计进程本身受保护:日志服务被停掉、日志被覆盖都应有告警
- 核对备份与保护:审计记录的定期备份、只追加属性或集中副本是否落实
共享账号是「何人」要素的最大杀手:以 root 或系统管理员账号执行的操作,事后无法区分到具体人员。运维场景应通过跳板机与实名账号解决,而不是在日志里补字段。