审计日志基础

什么是审计日志

说白了,审计日志就是系统的「黑匣子」。它记录下每一次关键操作——谁、在什么时间、从哪台设备、执行了什么动作、结果如何。

我记得第一次接触大规模审计日志是在一个金融客户的SOC项目里。那时候每天要处理上亿条日志,一开始觉得就是些文本记录,直到有一次帮客户回溯数据泄露时间线,才真正意识到这些记录的重量。没有审计日志,安全事件分析基本就是盲人摸象。

常见的审计日志来源包括:操作系统(Windows Event Log、Linux syslog)、数据库(Oracle audit、MySQL general log)、中间件(Nginx access log、Tomcat catalina.out)、以及各类安全设备(防火墙、WAF、DLP)。

审计日志 ≠ 所有日志。只有记录「安全相关操作」的日志才算审计日志,比如登录、权限变更、数据访问、配置修改。普通的业务查询日志通常不算。

审计日志的核心作用

我习惯把审计日志的作用归纳为四点:

  • 责任追溯——出了问题能找到人、找到时间、找到操作链。
  • 合规支撑——等保、GDPR、SOX,没有审计日志过不了审核。
  • 威胁检测——异常登录、越权操作、数据外发,全靠日志发现线索。
  • 取证分析——事件发生后,日志是还原真相的唯一依据。

你想想看,一个DLP告警说“有人往外发了100份合同”,但你不看审计日志怎么知道是谁发的?是正常业务还是恶意泄露?所以DLP和审计日志天生就是搭档。

常见审计日志类型

不同的系统产出的审计日志格式和内容差异很大。我列一个常用对照表:

日志类型典型来源关键字段
系统登录日志Windows Security Event ID 4624/4625, Linux /var/log/secure用户名、登录时间、源IP、登录结果
数据库访问日志MySQL general_log, Oracle audit trailSQL语句、执行用户、客户端IP、影响行数
文件操作日志Windows File Server审计, Linux auditd文件路径、操作类型(读/写/删)、用户、时间
Web访问日志Nginx access.log, Apache access_logURL、状态码、User-Agent、请求方法
DLP告警日志DLP控制台导出告警策略、匹配内容摘要、目标地址、发送者
网络设备日志防火墙syslog, VPN日志源/目标IP、协议、端口、动作(允许/拒绝)

这里有个坑——时间格式。我曾经在一个跨时区项目中,防火墙用UTC,数据库用本地时间,Windows用+8时区。最后关联日志时时间对不上,排查了一个下午才发现。所以我现在强制所有日志采集时统一转为UTC+时区偏移,或者直接用时间戳。

审计日志的质量要素

光有日志还不行,质量得跟上。我总结了三个关键指标:

  • 完整性——不能丢。比如交换机重启期间的日志,或者日志轮转导致文件覆盖。建议用syslog远程备份或日志中心实时接收。
  • 一致性——同类型日志格式要统一。你要把Windows事件ID和syslog severity混在一起关联?先做好字段映射。
  • 不可篡改性——日志一旦生成不能改。推荐做法:用日志签名(如HMAC),或者存到区块链/只读存储。
千万不要在生产环境直接使用文本文件存审计日志,容易被运维误删或篡改。我见过一个客户,日志文件被人移走,事后说“系统没记录”。建议至少使用集中日志平台,开启写保护。

日志采集要点与避坑

采集动作本身也可能影响审计完整性。我会重点提几个:

  • 采集方式:推模式(Agent主动发) vs 拉模式(中心拉取)。推模式实时性好,拉模式节省客户端资源。我通常推荐混合:关键系统用推模式,边缘设备用拉模式。
  • 带宽与存储:一条审计日志平均500字节,百万级设备每天能产生几十GB。做好压缩和轮转策略,别把日志盘撑爆。
  • 敏感数据脱敏:审计日志里可能包含密码、身份证号、银行卡号。采集时记得脱敏,否则审计系统变成数据泄露源。
# 一个典型的syslog日志转发配置示例(rsyslog)
# 将本地auth.log实时发送到日志中心
$template RemoteLog,"/var/log/remote/%fromhost-ip%/%programname%/%$year%-%$month%-%$day%.log"
*.* @@192.168.1.100:514
我个人习惯在日志采集层先做标准化字段映射,把原始日志转为JSON格式。这样后续关联分析时不用反复解析。比如把Windows EventID转成事件类型,把syslog priority转成severity等级。
审计日志知识体系 审计日志 定义与范围 四大作用 常见类型 质量要素 采集要点与避坑 五维体系,支撑DLP关联

这张图概括了审计日志的五维知识体系。每个维度后面都会在案例中深入,特别是「常见类型」和「质量要素」,是后续做DLP关联分析时最常遇到问题的两个地方。