安全审计日志该记录什么?

wen 网络安全 57

安全审计日志该记录什么?一份给企业IT的完整指南

目录导读

  1. 审计日志的核心价值与法律依据
  2. 必须记录的7大关键信息维度
  3. 不同场景下的日志记录深度要求
  4. 常见误区与最佳实践
  5. 问答环节:企业最关心的5个问题

审计日志的核心价值与法律依据

安全审计日志是网络安全的“黑匣子”,它记录着系统中每一个关键操作的时间、主体、客体和行为结果,根据《网络安全法》第21条要求,网络运营者应当采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月,而《等级保护2.0》更是明确要求:审计记录应包括事件的日期、时间、类型、主体身份、客体对象、结果等核心要素。

安全审计日志该记录什么?

但很多企业陷入两个极端:要么日志记录过少,发生安全事件时无从溯源;要么记录过多,导致存储成本激增且检索效率低下,究竟该记录什么?


必须记录的7大关键信息维度

1 时间戳(精确到毫秒级)

为什么重要? 时间是溯源的第一坐标。
记录要求:

  • 必须包含系统时间与协调世界时(UTC)对应关系
  • 建议使用NTP服务器同步,确保多设备日志时间有序
  • 示例:2025-06-12 09:23:17.832 UTC+8

2 主体身份(谁做了操作)

核心字段:

  • 用户账号(域账号或本地账号)
  • 来源IP地址与端口
  • 物理终端标识(如MAC地址、设备序列号)
  • 会话ID(便于关联同一用户的多步操作)

关键提示: 如果系统支持,应记录实际执行权限授权权限的差异——比如一个普通用户是否通过提权执行了操作。

3 客体对象(对什么操作)

记录范围:

  • 文件/目录路径(如 /opt/nginx/conf/nginx.conf
  • 数据库表名与记录ID
  • API接口路径与参数
  • 网络连接的目标IP、端口、协议

风险点: 很多日志只记录文件名称,忽略完整路径,导致无法定位敏感数据泄露点。

4 操作类型(做了什么)

明确动作:

  • 创建、读取、更新、删除(CRUD)
  • 登录、登出、锁定、解锁
  • 权限变更(如赋予管理员角色)
  • 配置修改(如防火墙规则、路由表)

高级要求: 记录操作前的值(before state)与操作后的值(after state),而非仅记录“修改成功”。

5 结果状态(成功还是失败)

必须包含:

  • 操作结果码(如HTTP 200、403、500)
  • 失败的具体原因(如“密码错误超过5次”“权限不足”“文件不存在”)

注意: 失败操作往往比成功操作更具安全价值,根据Verizon数据泄露报告,60%以上的内部威胁是通过连续失败操作被发现的。

6 源应用与进程信息

“通过什么工具或程序执行的操作”是常被忽视但极其关键的数据:

  • 浏览器指纹(User-Agent)
  • 操作系统与补丁版本
  • 应用进程名与PID
  • 是否是自动化脚本(如Python脚本、curl命令)

7 事件原始数据与上下文标签

  • 完整请求报文(脱敏后记录,避免泄露密码)
  • 关联的事件ID(如事件唯一标识、告警编号)
  • 地理位置信息(通过IP地理库或GPS设备获取)

不同场景下的日志记录深度要求

Web应用服务器

重点记录:

  • 每个HTTP请求的URL、参数、状态码
  • SQL注入尝试(如包含 ' OR 1=1 的参数)
  • 异常访问频率(单IP每秒超过50次请求)
  • 文件上传路径与文件类型

数据库系统

重点记录:

  • 所有DDL操作(如 ALTER TABLE
  • 访问敏感数据表(如 user_accountspayment_info
  • 全表扫描查询(可能是数据导出行为)
  • 超级用户(DBA)的所有操作

云平台与容器环境

需额外记录:

  • 计算实例的创建、销毁、迁移事件
  • 密钥对(Key Pair)与凭据的生成、共享
  • 容器镜像的拉取、启动、标签修改
  • 网络策略变更(如开放所有端口)

常见误区与最佳实践

记录越多越好

事实: 无保留的日志记录导致存储成本线性增长,且影响系统性能。
建议: 根据风险评估结果,对高敏感系统使用详细日志,对低风险系统使用摘要日志,参考 CIS控制项6.2:保留最小必要日志。

日志只存不分析

根据IBM报告,企业平均需要 287天 才能识别出一个数据泄露事件,日志的实时分析才是关键,最佳实践是部署SIEM平台,对日志进行关联规则匹配与异常检测。

忽略日志完整性保护

攻击者成功入侵后,第一件事往往是“清洗日志”,必须采用 WORM存储(一次写入、多次读取)或 区块链式哈希链 保护日志的不可篡改性。


问答环节:企业最关心的5个问题

Q1:日志该保留多久?
A:法规强制要求不少于6个月(《网络安全法》第21条),但建议:

  • 普通系统:12个月
  • 金融、医疗等敏感系统:3年以上
  • 关键基础设施:建议永久保留摘要日志。

Q2:如何判断日志是否足够?
A:做一个“事件回溯测试”——假如发生数据泄露,能否根据日志回答:

  • 谁在什么时间做了什么?
  • 源头IP是什么?
  • 影响了哪些数据?
  • 是否被删除或篡改?
    如果在30分钟内无法回答上述问题,说明日志记录不足。

Q3:是否需要记录用户密码?
A:绝对不要!明文密码记录是严重安全漏洞,正确做法是记录“认证结果”和“尝试次数”,不记录密码本身,如果需要对密码验证过程做审计,应使用密码哈希后再记录。

Q4:日志格式如何统一?
A:推荐采用 CEF(Common Event Format)或 JSON 格式,并遵循 MITRE ATT&CK 的映射规范,不同系统日志应通过Logstash或Fluentd统一清洗到中央日志平台。

Q5:哪些操作必须记录但经常被遗漏?
A:

  • 权限委派(Delegation)操作
  • 系统时间修改(攻击者常通过改时间来逃逸审计)
  • 日志清理行为(如 rm -f /var/log/*
  • 后台任务调度(如cron job的修改)

写好安全审计日志记录,本质上是回答三个问题:谁会害我?怎么害的?留下什么痕迹? 只有当你基于这个逻辑去规划日志字段,你才能在安全事件发生后,让每一行日志都变成破案的关键线索,不要等到黑客已经扫荡完所有数据再开始想“我该记录点什么”——那个时候,你记录的每一行日志,都可能是攻击者已经帮你“清理”过的。

抱歉,评论功能暂时关闭!