本节摘要:系统里大量的日志,既服务于排障,也服务于安全和合规。本节讲日志审计的价值——还原"谁在何时做过什么",以及 SIEM(安全信息与事件管理)如何把日志汇聚、关联、规则化,用于威胁检测与合规审计。穿插一个"从异常日志揪出一次异地登录攻击"的完整案例,最后给你一个"安全日志该单独立基线"的落地建议。
前面我们把日志当排障工具,这一节换一个角度:日志还是一条司法证据链。当有人绕过权限、系统被入侵、数据泄露时,你要能回答"谁、在何时、做了什么"。这就是日志审计的价值——它为"事后还原"提供不可抵赖的记录,也是合规审计(如安全合规框架)的硬性要求。
一块合格的审计日志,至少要记录这类主体事件:
它的核心要求是"完整"与"不可篡改":登录、权限、数据、系统四类事件都不能漏,且日志不能被人随意改掉。所以在实际存储上,审计日志往往单独隔离、做权限保护,甚至用只写模型防止被改。
单块审计日志只是基础,SIEM 是把多来源安全相关日志汇聚起来做统一分析的平台。它干四件事:
走一遍 SIEM 怎么工作。某天 SIEM 弹出一条规则告警:"账号 admin-equity 在 3 分钟内从三个不同城市登录成功。"
先别急着信。第一步,看这条账号的登录审计:过去 30 天都在上海办公网登录,今天却出现了北京、广州两个新 IP,地理跨度可疑。
第二步,关联访问日志:同一时段,这个账号用退回令牌成功访问了几个敏感财务报表页面,下行了几个报表文件。这比单纯登录异常有分量——它说明不只是登录,还有敏感数据外流的行为。
第三步,联动别的信号:该 IP 同时段在其他系统也有暴破登录失败记录,指向共享攻击基础设施。
于是从一条"异地登录"规则,顺着审计日志 + 访问日志 + 关联分析,拼出"账号疑似被劫持、正在窃取财务数据"的完整威胁链。处置:即时禁用该账号、强制改密、回滚会话、按流程上报。这次能在 20 分钟内发现,靠的是"审计日志完整 + SIEM 把它们关联起来",没有审计日志你连第一环的线索都没有。
很多团队把安全日志和业务日志混在一个平台,结果安全日志被业务日志淹了,违规事件淹没在汪洋里没人看。给你三个落地建议:
第一,单独立库与权限:审计/安全日志单独存在,单独一套权限,防止运维人员自己有权限改它(自己审自己不封口)。
第二,保留周期按合规:安全日志保留按合规要求来,通常是数月到一年起步,别和业务日志一样滚动 30 天。
第三,配齐检测规则:SIEM 不配规则等于没配,先配最基础几条(异地登录、失败登录超阈值、敏感导出、权限变更),再逐步加。
我的判断:安全日志的优先级在排障日志之上——排障日志丢了只是排查慢,安全日志丢了是不合规、是事故。如果只能做好一件事,先保证审计日志"完整、独立、受保护"。
安全日志能不能用,七分取决于有没有统一口径。常见偏差是:同一事件在主机侧叫"login success"、在应用侧叫"user.auth.ok",两个名字对不上,SIEM 的关联规则就没法跨源匹配。所以落地 SIEM 前,先做一件不起眼的功:给四类审计事件(身份/权限/数据/系统)各定一套统一字段名(event_type、username、src_ip、target_resource),所有来源都归到这套词表上。这件事没做好,后面的关联、告警、报表全是建立在名字对不上的散沙上——很多 SIEM 项目"接了很久跑不出效果",根子往往就在口径,而不是工具。
SIEM 的规则有一个容易让人误判的点:规则不是越多越好,而是越准越好。刚上线先配三到五条高信号规则(异地登录、失败登录超阈值、高权限账号敏感导出),跑起来后不断用历史告警回测:哪些规则天天响但全是误报、应该调阈值或降级;哪些规则从不响其实是漏了真正的攻击、应该校准。安全规则是"用告警命中率和误报率一路养出来的",靠一次配齐就开摆,只会得到一堆没人看的噪声规则——和第四章告警噪声治理是同一个道理。回归到那块通之前,先让最关键的几类威胁"有规则可依",再谈覆盖广度,别让 SIEM 沦为一个攒日志却不出结论的仓库——先让它产出一条可信的告警,能站住脚,再慢慢加量。
安全底座有了,还差最后一块拼图:如何在整个系统上验证稳定性——而不是等它自己出事。下一节混沌工程教你主动往系统里放火,验证它扛得住。