基于审计日志的异常行为检测实践 - 第1节

什么是审计日志?我先说说我的理解

有人问我:审计日志到底是什么?

说白了,它就是系统世界里的一份“行车记录仪”。你的服务器、应用、数据库、网络设备,每一秒都在发生各种操作。谁登录了?谁改了什么配置?谁删了文件?什么时候发生了异常?这些记录,全都写在一个个日志文件里。

我个人习惯把审计日志当成系统的“黑匣子”。不出事的时候,你可能几年都不会翻它一眼。一旦出了安全事故,它就是破案的关键线索。

举个实际例子。我之前处理过一个客户投诉:某系统半夜被篡改了关键数据。查了一圈监控、应用日志,什么都没发现。最后翻审计日志才发现,有一个不常用的运维账号,在凌晨3点用SSH登录,执行了一条删库命令。要是没审计日志,这个案子根本查不下去。

审计日志的核心定义

审计日志(Audit Log)是信息系统自动生成的一条条记录。它忠实地记录了:

  • 谁(Who)——用户ID、进程名、系统账号
  • 在什么时间(When)——精确到毫秒的时间戳
  • 从哪里(Where)——源IP、设备、终端
  • 做了什么操作(What)——增删改查、权限变更、登录登出
  • 结果怎么样(Result)——成功、失败、拒绝访问
一个小技巧:你在写审计日志的采集规则时,脑子里就默念这五个W。缺任何一个维度,这张日志就是不完整的。

审计日志有什么用?别小看它

很多团队刚开始搞安全,总觉得审计日志是合规部门的要求,跟技术关系不大。嗯,这种想法很危险。

审计日志的作用,我总结成三个层面:

第一层:事后溯源

这是最直接的价值。出了安全事件,你得回答几个问题:

  • 攻击者怎么进来的?
  • 他访问了哪些系统?
  • 数据有没有被带走?
  • 是谁的账号被利用了?

没有审计日志,全是盲人摸象。有审计日志,你才能画出一条攻击链。

我记得有一次,客户的数据被勒索软件加密了。备份也被清了。全公司上下都很慌。我们硬是从三个月前的审计日志里,倒推出了攻击者的入侵时间窗口。后面恢复数据、修补漏洞,全凭那堆文本日志。

第二层:实时异常检测

这是这门课的核心。审计日志不是只能翻旧账。你想想看,如果能在攻击发生时就发现它,是不是更香?

比如:一个普通员工的账号,突然在凌晨3点下载了100GB数据。审计日志如果在实时流里捕捉到这种行为,就能立刻触发告警,甚至阻断操作。

说白了,审计日志就是异常行为检测的原料。没有原料,算法再牛也没用。

第三层:合规与取证

这个我就不多啰嗦了。等保、GDPR、PCI-DSS,哪个合规标准不要求审计日志?而且告的不是有日志就行,你得能查、能取、能证明日志没被篡改过。

踩过的坑:我曾经碰到一个客户,审计日志确实存了,但时间戳用的是系统本地时间。服务器被重启几次后,日志的时间线完全乱掉。做取证的时候,先后顺序根本对不上。所以,时间戳一定要用UTC,别偷懒。

常见审计日志类型

审计日志不是一个东西。在不同的系统层面,它长得很不一样。我习惯把它们分成几类:

日志类型 来源 典型记录内容 我重点关注什么
系统日志 操作系统(Linux /var/log、Windows Event Log) 用户登录、进程启动、服务状态、内核消息 非工作时间登录、频繁的sudo切换
应用日志 业务系统(Nginx、Tomcat、Spring Boot) HTTP请求、业务操作、API调用、报错堆栈 异常的请求体、高频错误码、奇怪的URL模式
安全日志 安全设备(防火墙、WAF、IDS/IPS、VPN) 入侵告警、病毒查杀、访问控制事件 被阻断的流量里反复出现的源IP
数据库日志 MySQL、PostgreSQL、Oracle、MongoDB SQL语句、事务日志、DDL/DML操作 批量删表、异常的慢查询、无where条件的update
网络设备日志 路由器、交换机、防火墙 网络流量、连接状态、配置变更 端口扫描、异常的流量突增

你可能会问:这么多日志,全都要收吗?

嗯,这是一个好问题。我个人建议是:核心系统全量采集,边缘系统可以抽样。但安全相关的日志,比如认证、授权、权限变更、数据操作,一条都别漏。漏一条,可能就是一次安全事故的盲区。

打个比方:审计日志就像安全监控的“底片”

我做审计分析时,脑子里经常有一个画面:

每个系统操作都是一次“拍照”;

审计日志就是那一张张底片;

异常行为检测,就是给你配了一个“智能放大镜”,帮你在几百万张底片里,一眼揪出那个“不正常”的动作。

一句话总结这一章:审计日志不是简单的文本文件,它是你检测异常、回溯安全事件、满足合规要求的基石。理解它的五个W、三个层面的价值、以及常见的类型划分,是做好异常行为检测的第一步。

好了,我们先扎扎实实把基础概念理清楚。后面的章节,我会带着你一步步看日志、写规则、搭检测模型。别着急,慢慢来。

审计日志与异常行为检测知识框架 审计日志基础概念框架 审计日志 事后溯源 攻击链还原 · 证据固定 实时异常检测 规则引擎 · 行为基线 合规与取证 等保 · GDPR · 日志保全 系统日志 应用日志 安全日志 数据库日志 网络设备日志 审计日志核心字段(5W) Who(谁)→ 用户/进程/系统账号 When(时间)→ 精确到毫秒的时间戳 Where(来源)→ 源IP/设备/终端 What(操作)→ 增删改查/登录/权限变更 Result(结果)→ 成功/失败/拒绝/超时