使用简介

最近更新时间:2019-06-28 17:01:37

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

注意:

数据库审计目前支持:TencentDB for MySQL 5.6、5.7 版本,暂不支持 TencentDB for MySQL 5.5 版本。

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

审计操作

创建审计规则

  1. 登录 数据库审计控制台,在左侧导航选择【审计规则】页。
  2. 单击【新建规则】进入创建页,填写规则名称,单击【下一步】。
  3. 选择所需的审计方式和参数,单击【创建】即可。

创建审计策略

  1. 在左侧导航选择【审计策略】页,单击【新建策略】进入创建页。
  2. 选择目标审计实例和所需启动的审计规则,单击【确定】即可启动。
  3. 返回审计策略列表,单击策略【操作】列的【修改】。
  4. 在弹出的对话框,单击【是否启用】滑块,可启动或关闭审计规则。

查看审计效果

在左侧导航选择【审计日志】页,可查看审计效果。

基于条件定位

  • 在审计日志页,单击时间框,选择时间段,可查看所选时间段内相关审计效果。
  • 单击审计实例框,选择所需实例,可查看相关审计效果。
  • 在右侧文本框输入关键标签进行搜索,可查看相关审计效果。

    说明:

    在文本框输入多组关键标签进行搜索,使用回车键分割关键标签。

  • 在右侧文本框输入关键 SQL 命令组合进行搜索,可查看相关审计效果。

    说明:

    可在文本框输入 SQL 命令、客户端 IP、帐号、数据库、对象名、策略名、执行时间范围、影响行数等关键组合信息。

SQL 审计规则

规则内容

支持以下类型设置:
客户端 IP、数据库帐户、数据库名,支持【包含、不包含、等于、不等于】方式匹配。

全量审计规则为特殊规则,启用后审计所有语句。

规则运算

  • 每个规则内部不同类型为追加限制条件关系,即与(&&)关系。
    如用户名指定为 user1,匹配类型为等于,数据库名指定为 test, 匹配类型为等于,那么仅审计 user1 用户对 test 库的动作,其它忽略。
  • 规则与规则之间为或(||)关系 。
    每个实例可以指定一个或多个审计规则,只要符合任意一个规则,就应该审计。如 A 规则指定只审计 user1 的执行时间 >= 1秒的操作,B 规则审计 user1 并且执行时间 < 1的语句,那么最终对 user1 所有语句都要审计。

规则详解

对于客户端 IP、数据库帐户、数据库名支持【包含、不包含、等于、不等于】运算,一次只支持一个运算符设置,如“不等于”。
“等于”和“不等于”时,可以写多个值,多个值之间用逗号分隔,包含、不包含只能写唯一值。如运算符为”相等“,值可以为 user1,user2,user3。

对于数据库名的说明

如果是以下的表对象类型的语句:

SQLCOM_SELECT, SQLCOM_CREATE_TABLE, SQLCOM_CREATE_INDEX, SQLCOM_ALTER_TABLE,
SQLCOM_UPDATE, SQLCOM_INSERT, SQLCOM_INSERT_SELECT, SQLCOM_DELETE, SQLCOM_TRUNCATE, SQLCOM_DROP_TABLE

对这一类型动作,数据库名以语句中实际操作的数据库名为准。例如,当前是 use db3 库,语句为:

select *from db1.test,db2.test;

那么会以 db1 和 db2 作为目标库进行规则判断,如果规则配置要审计 db1 的库则会进行审计,规则配置要审计 db3 的库则不会进行审计。
如果不是上面的表对象类型语句,以当前 use 的库作为目标库进行判断。如当前库为 use db1,执行语句为show databases,那么以当前库 db1 作为目标库进行规则判断,若规则配置审计 db1 则会进行审计。

特别说明

包含、不包含只能写一个值;如果写多个会被当成一个串,造成匹配不对。