安全|产品角度-审计

108 阅读2分钟

image.png

审计的目的

  • 可以追溯事件,一旦发生攻击事件时,可以根据审计日志复盘事件发生链,为诉讼或其他法律行动提供证据。
  • 发现产品自身的安全缺陷,消除产品自身的安全隐患。
  • 改进安全防御体系。(例如为入侵检测贡献事件样本、防护策略等)。
  • 满足监管或外部认证的合规要求(提取安全系统拦截或阻断非法请求的证据,可用于合规性证明)。

审计日志数据结构

审计日志记录的是对敏感数据的操作日志。并要求日志存储的位置不是审计人员可以进行删除等操作的。那么操作日志里面应该记录什么呢?

image.png

操作日志数据结构:

  • 时间
  • IP地址
  • 用户ID或者名称
  • 操作:增删改
  • 操作对象

操作对象:

  • 对数据的新增、删除、修改、查询。
  • 对资源的申请、释放、扩容、授权等。
  • 对流程的审批通过、驳回、转移。
  • 对交易的发起、支付、撤销。
  • 对人员的授权、吊销授权。

操作日志要注意敏感信息的保密性,使用统一的隐私技术手段展示敏感信息或者是不展示敏感信息,比如手机号、家庭地址、患病的内容、宗教信仰等

审计日志存储

image.png

如果安全性要求不高,可以将操作日志存储在自身的应用中。如果要求高,可以将操作日志上报到对应的日志管理系统中。

日志管理系统是多个应用系统共用,通过应用层接口接收日志,而不是直接开放数据库端口(防止日志被外部篡改或删除)。也就是说,应用系统不需要持有日志管理系统的数据库账号,也就无法直接从应用自身发起对日志的删除操作。

其中的数据库可以换成 ES 一些大数据组件

审计日志销毁

一般至少需要保留六个月的操作日志,用于追溯。对于超时的日志,为了保障可维护性,应当配置成自动清理过期日志的机制,而不是人工清理。否则会由于人员的遗忘、疏忽,导致磁盘空间被占满的情况,影响应用的可用性。