1. 审计日志基础
1.1 审计日志到底是什么?
我经常跟刚入行的同事说这么一句话:审计日志就是系统留下的“脚印”。你想想看,任何人操作了系统、访问了数据、改了配置,总得留下点痕迹吧?审计日志干的正是这事儿——记录“谁、在什么时间、从哪来、做了什么、结果如何”。
我个人习惯把审计日志拆成五个核心字段:
- 主体(谁干的)——用户、进程、API 调用者
- 客体(对谁干的)——文件、数据库、配置项
- 动作(干了什么)——读取、修改、删除、登录
- 时间戳——精确到毫秒甚至微秒,最好带时区
- 结果——成功、失败、异常
说白了,没有日志就等于系统在裸奔。我在项目中遇到过好几次安全事件,第一反应就是查日志,结果发现日志根本没开或者格式乱七八糟,那叫一个头疼。
1.2 审计日志的作用
审计日志不是摆设,它有实打实的用处。我把它归纳为三个核心场景:
| 场景 | 作用说明 |
|---|---|
| 溯源取证 | 出事以后往回倒查,还原攻击链路。比如谁删了数据库表、谁改了防火墙规则。 |
| 合规审计 | 满足监管检查。PCI DSS、SOX 这样的标准,明确要求保留多少天、保留哪些字段。 |
| 异常检测 | 通过日志模式发现异常行为。比如说凌晨三点有人批量拉取用户数据。 |
实际干过运维的都懂:很多安全事件都是事后才知道的。没有日志,你连喷谁都不知道。
1.3 合规要求——PCI DSS
PCI DSS(支付卡行业数据安全标准)是我接触最多的合规标准之一。它的审计日志要求非常具体:
- 必须记录所有访问持卡人数据的操作
- 日志保留至少 12 个月,在线可查至少 3 个月
- 日志必须防篡改,不能“改了日志还不留痕迹”
- 每天都要检查日志,不是存了就完事
我记得有个客户被 PCI 审计挂了,原因特别低级——日志服务器磁盘满了,新日志写不进去,连续三天没记。审计方直接判不合格。所以:磁盘监控比日志本身还重要。
1.4 合规要求——SOX
SOX(萨班斯-奥克斯利法案)主要管上市公司财务相关系统的内部控制。审计日志在这里起的作用是“证明流程执行了”。举个例子:财务系统里一笔报销,谁提交、谁审批、谁打款,每一步都要有日志。SOX 要求的重点是:
| 要求 | 解释 |
|---|---|
| 职责分离 | 同一个人不能既审批又打款,日志要能证明分离 |
| 变更控制 | 任何代码、配置、参数变更都需记录并审批 |
| 访问控制 | 谁看了什么敏感数据,必须有日志可查 |
| 保留期限 | 一般要求保留 5-7 年,视当地法规而定 |
曾经有个项目,客户说他们的财务系统“有日志”,我上去一看——日志文件每天被 cron 任务自动删除,只留最近 30 天。我说这不行啊,SOX 要求保留 7 年。客户一脸懵。唉,这种坑我至少见过三次。
1.5 审计日志的典型格式
不同的系统日志格式五花八门。我列举几种常见的:
- Syslog:RFC 5424 标准,多用于 Linux 系统
- JSON 格式:结构清晰,方便解析,比如 CEF、LEEF
- Windows Event Log:.evtx 格式,自带 EventID
- W3C 扩展日志:Web 服务器常用,IIS、Apache 都支持
举个 syslog 的例子:
<34>1 2025-02-18T14:23:10Z weblog01 sshd[12345] - - Failed password for root from 10.0.0.88 port 22 ssh2
这边 <34> 是设施和优先级编码,后面就是时间、主机、进程、消息。我以前踩过一个坑:直接拿字符串截取解析 syslog,结果某个字段多了空格,程序炸了。后来我老老实实用正则,或者直接走日志采集器自带的解析器。
1.6 本章知识结构图
下面这张图把这章的核心逻辑串起来了:
我的经验:刚开始做审计日志项目时,总想着把所有字段都记全,结果日志量暴涨,存储成本扛不住。后来我总结了一个原则:按合规要求的最小必要集合来记。比如说 PCI DSS 要求记持卡人的操作日志,那你记那些就够了,不需要把“谁点了某个页面”也塞进去。当然,保留期和防篡改这两条,千万不能省。
注意:审计日志的时区问题。我曾经遇到过日志时间戳用 UTC,结果业务方用本地时间查日志,差了 8 个小时,排查了整整一天才发现。后来我强制所有系统统一用 UTC,前端展示时再转本地时间。另外,日志服务器和业务服务器的时间必须通过 NTP 同步,否则时间线错乱,溯源时直接报废。
1.7 小结:关键点再捋一遍
- 审计日志的核心是 五要素:主体、客体、动作、时间戳、结果
- 作用有 三大场景:溯源取证、合规审计、异常检测
- 合规标准 PCI DSS 要求保留 12 个月、防篡改、每日检查
- 合规标准 SOX 要求职责分离、变更控制、保留 5-7 年
- 日志格式五花八门,统一解析时注意字段边界和时区
嗯,说到这,审计日志的基础框架就算搭完了。本章不是让你背概念,而是让你脑子里有这根弦——日志不是垃圾,是钱。你想想看,一次数据泄露的罚款,够你买多少存储空间了?