有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
DBbrain 合规审计具有合规、安全、追溯等特性,符合国家相关规定,是用户通过等保合规的刚需产品。通过对用户访问数据库行为的记录、分析,帮助用户事后生成安全合规审计报告,通过 AI 智能分析数据库操作,帮助用户及时发现风险行为,对违反安全策略的访问行为进行及时告警,保证数据库操作满足合规性要求,助力用户通过等保合规测评。
说明
合规审计功能目前仅支持云数据库 MySQL 5.6、5.7 两节点和三节点。
合规审计功能目前仅支持北京、上海、广州、成都地域。
合规审计功能以审计组为维度,进行合规审计服务的开通。
登录 DBbrain 控制台,在左侧导航选择数据库安全 > 合规审计,首次使用时,需在弹出页面单击前往体验,进入审计配置页面。n



新建审计组

审计配置 页面,单击新建,填写审计组名,选择数据库类型,单击确定即可创建审计组。
说明
新建的审计组在审计列表的状态为未开通
对于状态为未开通的审计组,可在审计列表开通合规审计服务,然后进行合规审计服务的配置、添加审计实例及审计规则。




开通配置合规审计服务

步骤一:开通审计组合规审计服务

1. 审计配置 页面,选择状态为未开通的审计组,在操作列单击开通。n


2. 在开通合规审计服务页面,选择日志保存时长,确认无误后,勾选服务条款,单击下一步
计费方式:支持按量计费。
日志保存时长:支持选择1个月、6个月、1年、3年、5年。
合规审计费用 = 审计日志存储费 + 安全服务费n



步骤二:添加审计实例

1. 在添加审计实例页面,单击添加实例
说明
添加审计实例页面展示了该审计组中已添加的审计实例详情,包括实例 ID /名称、数据库版本、内网地址。单击移除,可将单个或多个实例移除该审计组,移除后,该审计组的规则将不再对被移除的实例生效。



2. 在弹出的对话框,选择要添加的实例,然后单击合规审计开启检测,检测该实例是否能够开启合规审计,检测通过后,单击确定
注意
开通合规审计前,用户必须关闭 MySQL 控制台 的数据库审计服务或者开启其全审计,否则检测不通过。
如果检测到实例在 MySQL 控制台开通了数据库审计服务并已绑定规则审计策略或未绑定任何策略,用户可以选择 关闭数据库审计服务 或者 开启全审计 后,再开通合规审计。




关闭数据库审计服务

检测不通过时,在提示框单击一键关闭规则审计或者关闭规则审计,可关闭实例的数据库审计服务。
注意
数据库审计关闭后,实例对应的审计策略、日志和文件将被清空,数据库审计服务也将停止计费。




开启全审计

检测不通过时,在提示框单击一键开启全审计开启全审计,可开启实例的数据库全审计服务。
注意
全审计服务开启后,实例的审计策略将会转换为全审计,在 MySQL控制台 开启的数据库审计服务产生的日志存储量会增多,费用也会适量增多。

步骤三:添加审计规则

在添加审计规则页面,为审计组中的实例绑定审计规则,单击开通合规审计即可完成合规审计服务的开通及配置,将会对审计组内的实例进行审计。
审计规则包含 AI 审计规则自定义审计规则。默认情况下为未启用审计规则,此时用户不能开启合规审计服务。用户可以选择同时开启 AI 审计规则和自定义审计规则,也可以仅选择其中之一规则。n



AI 审计规则

推荐开启 AI 审计规则,可精准智能地识别 SQL 注入类风险。

自定义审计规则

如果需要开通自定义审计规则,请至少绑定一条审计规则。n单击创建新规则,可创建新的自定义审计规则,也可以单击从已有规则中选择选择之前已创建的自定义审计规则。n单击操作列中的解除绑定,可解除绑定该规则,解除绑定后,该审计组将不会对命中该规则的 SQL 进行安全合规审计,解除绑定不会删除该规则。
说明
每个实例可以指定一个或多个审计规则,规则与规则之间为或(||)关系 ,只要符合任意一个规则,就应该审计。如 rule1 规则指定只审计 user1 的影响行数 >= 50 的操作,rule2 规则只审计 user1 的影响行数 < 50的语句,那么最终对 user1 所有语句都要审计。
创建审计规则n创建审计规则包括设置该审计规则的规则名、实例类型、风险等级、规则备注以及设置审计规则的条件。
条件设置支持以下类型的设置:n数据库 IP、操作时间、客户端 IP、用户名、数据库名、SQL 类型、SQL 命令详情、影响行数、执行时间。
匹配方式支持以下方式的设置:n包含、不包含、等于、大于、小于、大等于、小等于、正则。
规则运算n每个规则内部不同类型为追加限制条件关系,即与(&&)关系。n如客户端 IP 指定为127.0.0.1,匹配类型为等于,数据库名指定为 test, 匹配类型为等于,那么仅审计客户端 IP 为127.0.0.1的用户对 test 库的动作,其它忽略。
从已有规则中选择n为审计组中的实例直接选择已创建的审计规则或内置规则。创建的审计规则支持查看、修改及删除规则。内置规则支持查看,不支持删除。
注意
删除规则同时会从所有应用该规则的审计组中移除该规则。
当规则已绑定其它审计组中的审计实例时,该规则不支持修改。
内置规则的规则级别及规则内容说明如下:
高危操作
风险级别:高。
规则内容:SQL 语句中包含以下一种或几种高风险操作:CREATE DATABASE、CREATE DATABASE PARTITION GROUP、DROP TABLE、DROP USER、DROP DATABASE、DROP TABLESPACE、DROP SCHEMA、DROP USER MAPPING、ALTER TABLE、ALTER TABLESPACE、ALTER DATABASE UPGRADE、ALTER DATABASE PARTITION GROUP、TRUNCATE。n各关键词间是“或”的关系。
权限变更
风险级别:中。
规则内容:SQL 语句中包含权限变更相关的操作:CREATE ROLE、CREATE USER、CREATE USER MAPPING、CREATE USERGROUP、DROP USER、DROP USER MAPPING、DROP USERGROUP、ALTER USER、ALTER USER MAPPING、ALTER USERGROUP、GRANT、REVOKE。n各关键词间是“或”的关系。
批量数据篡改
风险级别:中。
规则内容:UPDATE、DELETE 操作的影响行数大于等于1000行。
批量数据泄露
风险级别:中。
规则内容:CREATE TABLE AS SELECT、SELECT 操作的影响行数大于等于1000行。
无 WHERE 更新或删除
风险级别:中。
规则内容:UPDATE、DELETE 操作中,没有设置 WHERE 条件,会引起全量更新或删除的后果。
可疑的创建存储过程和包操作
风险级别:低。
规则内容:SQL 语句中包含可疑的创建存储过程和包操作:CREATE PROCEDURE、CREATE PACKAGE、DROP PROCEDURE、DROP PACKAGE、ALTER PROCEDURE、ALTER PACKAGE。n各关键词间是“或”的关系。
可疑的视图操作
风险级别:低。
规则内容:SQL 语句中包含可疑的视图操作:CREATE VIEW、CREATE MATERIALIZED VIEW、DROP VIEW、DROP MATERIALIZED VIEW、ALTER VIEW、ALTER MATERIALIZED VIEW。n各关键词间是“或”的关系。
MySQL - 数据库用户密码泄露
风险级别:中。
规则内容:对 MySQL 库的 user 表、password 字段的查询操作。攻击者可通过系统用户表获取了用户登录密码密文,根据一定的算法可以猜测出登录密码明文。
MySQL - 系统表非法操作
风险级别:中。
规则内容:对 MySQL 数据库系统表的 DELETE、INSERT 或 UPDATE 操作。
MySQL - SQL 中包含注入常用的时间函数
风险级别:中。
规则内容:SQL 中包含注入常用的时间函数:BENCHMARK 或 SLEEP。攻击者可通过注入时间函数进行盲注,以猜测被攻击数据库的表结构、数据类型、数据的值等,以作为进一步攻击的基础。
MySQL - SQL 中包含注入常用的字符串函数
风险级别:中。
规则内容:SQL 中包含注入常用的字符串函数:CHAR、LENGTH、CONCAT、SUBSTR、或 SUBSTRING。攻击者通常会利用一些常见函数进行盲注,以猜测被攻击数据库的表结构、数据类型、数据的值等,以作为进一步攻击的基础。
MySQL - SQL 中包含获取数据库用户名的函数
风险级别:中。
规则内容:SQL 中包含获取数据库用户名的函数:USER 或 CURRENT_USER。攻击者可以通过这些函数获取当前数据库用户信息,为口令猜测、注入提权等提供数据依据。通常这些函数不会在业务系统中被使用。
MySQL - SQL 中包含文件操作函数
风险级别:中。
规则内容:SQL 中包含获取文件操作的函数:LOAD_FILE。攻击者可以通过注入该函数,浏览数据库服务器操作系统上的目录及文件列表,作为攻击行为的基础。
MySQL - 系统表查询操作
风险级别:低。
规则内容:对 MySQL 数据库系统表的 SELECT 操作。

合规审计列表

审计配置 页面的列表,展示了每个审计组的具体配置详情,在右上角搜索栏中,可按审计组 ID、审计组名对审计列表中的审计组进行搜索。
审计组的基本参数字段说明如下:
审计组 ID:新建审计组时自动生成的唯一审计组 ID。
审计组名称:新建审计组时配置的审计组名称。
状态:审计组当前的执行状态,包括:未开通、运行中、已关闭、已欠费。
实例数:显示该审计组中包含的实例数量。
规则类型:审计组中包含的规则类型,包含 AI 规则和自定义规则。
起始时间:显示审计组开通合规审计的时间,即对该审计组进行合规审计服务的起始时间。
关闭时间:显示审计组关闭合规审计的时间,即对该审计组停止合规审计服务的时间。
风险日志量:审计组中的实例根据用户开启的规则检测出的总风险日志量。
备注:显示新建审计组时,对该审计组的备注。
操作:可开通、关闭审计组的合规审计服务及查看审计组的基本信息详情,也可删除审计组及对审计组中的实例、规则及修改日志保存时长。n


选择操作列的更多 > 查看,可查看审计组的基本信息,包括审计实例、审计规则及日志存储。
审计实例:展示了实例 ID /名称、数据库版本、内网地址。
审计规则:展示了 AI 规则和自定义规则的开启及关闭状态,及自定义规则的规则详情。
日志存储:展示了日志相关的一些统计项,包括日志保存时长(天)、日志存储量、前一日日志新增量及风险日志量。

关闭合规审计服务

审计配置 页面,选择状态为运行中的审计组,单击操作列的关闭,即可关闭合规审计服务。n关闭合规审计后,将会停止对该审计组内的实例进行审计且停止计费。n



修改审计实例

审计配置 页面,选择状态为运行中的审计组,选择操作列的更多 > 修改实例,修改审计组中的审计实例。n修改实例后,后续产生的审计日志将会以新的实例为准。n



修改规则

审计配置 页面,选择状态为运行中的审计组,选择操作列的更多 > 修改规则,即可修改审计组中的审计规则。n修改规则后,后续产生的审计日志将会以新的规则为准。n



修改日志保存时长

审计配置 页面,选择状态为运行中的审计组,选择操作列的更多 > 修改日志保存时长,即可修改审计组的日志保存时长。n若选择延长日志保存时长,将会立即生效;若选择缩短日志保存时长,历史超过存储期限的日志将会立即清除。n



删除审计组

审计配置 页面,选择状态为已关闭未开通的审计组,选择操作列的更多 > 删除,即可删除该审计组。n删除审计组后,该审计组的历史合规审计日志也将被清除。对于已删除的审计组,可以至回收站中查询该审计组的相关数据。n



回收站

对于已删除的审计组,可至回收站中查询该审计组的相关数据,包括审计组 ID /名称、起始时间、关闭时间、日志保存时长(天)、日志存储量及备注。n