数据库审计

最近更新时间:2020-09-16 13:07:07

概述

背景说明

企业使用数据库,可能面临如下安全风险,该类风险需要完整的事后审计和追溯机制,数据库审计能力由此诞生。
管理风险

  • 系统管理员存在的误操作、违规操作、越权操作,损害业务系统安全运行。
  • 多人公用一个帐号,责任难以分清。
  • 第三方开发维护人员的误操作,恶意操作和篡改。
  • Root 帐号权限过大,无法审计监控。

技术风险

  • 应用系统开发商后门或漏洞。
  • 离职员工留下后门。

政策风险

  • 无法达到国家等级保护(三级)明确要求(7.1.3.3)。
  • 满足不了行业信息安全合规性文件要求——如人行《金融行业信息系统信息安全等级保护实施指引》。

术语定义

审计策略: 定义对哪些用户行为进行审计以及如何响应的策略。 【审核策略】=【审核对象】+【审计规则】+【响应动作】 即配置一条审计策略,需要指定审计内容,如果经过解析,某些(用户或系统)行为的特征正好符合某个审计规则,且恰好在策略生效时间,审计引擎就会按照此策略定义的响应方式进行响应,例如告警等。

审计规则: 审计策略中,规定了需要审计的一系列行为的集合,称为规则。规则由规则参数组成,每个规则参数定义了一种具体的行为匹配特征。

产品能力与限制条件

腾讯云提供数据库审计能力,审计日志默认保存7天,帮助企业对可能存在的数据库访问进行风险控制,提高数据安全等级。

审计操作

开通数据库审计

使用云数据库 MariaDB 的用户,均可免费开通数据库审计;开通入口在 数据库审计 页面。

开通审计存在以下注意事项:

  • 您至少须拥有1个 MariaDB 实例,且未下线或隔离,否则系统会自动关闭您的审计功能。
  • 2016年6月5日之前购买的 MariaDB 实例,需重启升级后方可支持该能力,由于重启升级可能会导致1秒 - 5秒的业务中断,您可以联系腾讯云工作人员预约升级时间。
  • 数据库审计日志将以明文形式展示,因此建议您开启 二次登录认证
    开通审计可能存在几分钟初始化时间,请耐心等待。

新建审计规则

审计功能开通后,日志会自动通过 MariaDB 网关集群转发到审计集群,由于没有建立审计规则和审计策略,日志不会持久化记录并展示。因此您可以通过【新建审计规则】>【关联审计策略】让日志存储在审计集群中。

  1. 进入 审计规则 页,单击【新建规则】。
  2. 填写审计规则名称,单击【下一步】。
  3. 进入参数设置页面,填写规则参数(所列规则参数需至少填写一个,但不必全部填写)。
    • 规则中参数的条件关系: 与关系;规则中各参数之间是与的关系,即各参数都满足条件规则才会匹配成功。
    • 特征串: 定义参数的具体内容,也就是操作对象的具体特征。为了达到精确匹配,用户只定义自己关心的参数的关键字,这样审计系统就只需记录用户定义的规则,提高审计检索效率。注意:特征串为空表示不关心该参数,即“匹配所有”。
    • 匹配类型: 参数对象和特征的关系。
      • 包含: 表示网络字段中出现了特征串就匹配成功。
      • 不包含: 表示网络字段中没有出现特征串则匹配成功。
      • 等于: 表示网络字段等于特征串则匹配成功。
      • 不等于: 表示网络字段不等于特征串则匹配成功。
      • 正则表达式: 表示特征串,支持标准的正则表达式语法。
  4. 所有新建规则,可以在规则列表中看到。
  5. 设置完成审计规则后,您可以随时修改。类似的规则,您可以通过【克隆规则】的方式新建,以提高效率。

新建审计策略

审计策略是将审计规则、审计对象、响应方式组合起来形成完整的审计方案。用户可以对一个实例同时制定多条审计策略,审计引擎解析时,将按用户的策略配置顺序从前到后的优先级匹配

  1. 选择【审计策略】页,单击【新建策略】。
  2. 填写策略要求,根据需求选择需审计实例,并选择对应规则(目前暂不支持配置告警)。
  3. 调整优先级:对于相同实例下的多条策略,可以进行优先级调整;优先级数字越小,优先等级越高。优先级调整后,预计1分钟内生效。
  4. 您可以通过修改功能,实时修改审计策略;修改完成后预计5分钟内生效,并按新策略进行审计监控,修改审计策略前的日志不会被修改。

查看日志

匹配到审计策略的 SQL 语句将展现在审计日志页面,您可以直接单击查看或搜索。注意事项:

  • 审计日志明文方式展现,建议您开启 二次登录认证,以确保日志可控。
  • 日志将以审计策略创建时开始记录,历史数据不做记录。
  • 事务、存储过程等可能会被记录为单条语句,详见 数据库审计已支持语法说明
  • 目前支持单条 SQL 语句最大1k,超过部分会被截断。
目录