使用过滤规则可以定义您信任的操作。数据库审计系统不审计您在过滤规则中定义的操作,帮助您提高告警准确率,并节省审计日志存储空间。本文介绍如何配置过滤规则。
背景信息
数据库审计系统支持配置以下三种过滤规则。
按IP过滤:支持自定义可信任的IP地址,数据库审计系统不审计这些IP地址发起的SQL请求。
按SQL模板过滤:提供内置的可信任的SQL模板,数据库审计系统不审计已启用的可信任模板中的SQL请求。
按规则过滤:支持自定义可信任的访问源需要满足的规则,支持设置客户端信息、服务端信息、SQL请求和SQL结果等。数据库审计系统不审计满足规则的SQL请求。
新增IP过滤规则
此处添加的IP地址会对全部资产生效。即保存规则后,数据库审计系统不审计全部资产中来自该IP地址的请求,建议您谨慎配置IP过滤规则。
- 登录数据库审计系统。具体操作,请参见登录数据库审计系统。
- 在左侧导航栏,选择 。
在按IP过滤页签,单击新增。
在新增IP过滤面板,填写规则名称和不审计的IP地址,并单击保存。
按SQL模板过滤
按SQL模板过滤以常见的可信任的SQL模板为基础提供了内置的SQL过滤模板,内置SQL过滤模板默认对所有数据库生效。不支持自定义SQL过滤模板。您可以参考以下步骤启用或禁用内置SQL模板过滤。
- 登录数据库审计系统。具体操作,请参见登录数据库审计系统。
- 在左侧导航栏,选择 。
- 在过滤规则页面,单击按SQL模板过滤页签。
选中目标SQL模板,单击启用选中项或禁用选中项。
如果需要启用或禁用全部SQL模板,您可以单击启用全部或禁用全部。
按规则过滤
使用按规则过滤功能,您可以自定义过滤规则。数据库审计系统不会审计符合规则的请求。您可以参考以下步骤自定义过滤规则。
- 登录数据库审计系统。具体操作,请参见登录数据库审计系统。
- 在左侧导航栏,选择 。
- 在过滤规则页面,单击按规则过滤页签。
在按规则过滤页签,单击新增。
在新增规则面板,完成规则配置,并单击保存。
类别
配置项
支持的逻辑符
说明
基本信息
名称
不涉及
规则名称。 长度为1~64个字符,支持中文、英文、半角句号(.)、下划线(_)和短划线(-)。
重要同一数据库下的所有规则的名称不允许重复。
描述
不涉及
规则描述信息。
客户端
客户端来源
等于、不等于
客户端的IP地址,支持IP和IP分组。支持填写多个值,多个值之间以半角逗号(,)分隔。例如192.168.XX.XX,192.168.XX.XX。
客户端工具
等于、不等于
客户端使用的工具名称。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,db2bp.exe,javaw.exe,plsqldev.exe。
客户端端口
不涉及
客户端的访问端口号。支持填写多个值或区间,多个值之间以半角逗号(,)分隔。例如,10-15,20,25,30-40。
客户端MAC地址
等于、不等于
客户端机器的MAC地址。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,fe:58:c0:39:**:**,fe:58:c0:55:**:**。
操作系统用户名
等于、不等于
客户端操作系统的登录用户名。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,user01,user02。
主机名
等于、不等于
客户端的主机名。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,HostUser01,HostUser02。
应用IP
等于、不等于
客户端的IP地址,支持IP和IP分组。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,192.168.XX.XX,192.168.XX.XX。
应用用户名
等于、不等于
客户端的应用用户名,支持自定义和分组选择。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,TestUser01,TestUser02。
服务端
服务端IP
等于、不等于
服务端的IP地址。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,192.168.XX.XX,192.168.XX.XX。
服务端端口
不涉及
服务端的端口号。支持填写多个值或区间,多个值之间以半角逗号(,)分隔。例如,10-15,20,25,30-40。
数据库账号
等于、不等于
数据库的登录用户名,支持自定义和分组选择。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,system,sys。
服务端MAC地址
等于、不等于
服务端所在服务器的MAC地址。支持填写多个值,多个值之间以半角逗号(,)分隔。例如,fe:58:c0:39:**:**,fe:58:c0:55:**:**。
数据库名(SID)
不涉及
服务端的数据库名。Oracle数据库输入SID,其他数据库输入数据库名称。支持填写多个值,多个值之间以半角逗号(,)分隔。
行为
对象组
不涉及
SQL语句所属的对象组。支持包含任一对象则满足、包含所有对象才满足。
操作类型
不涉及
对数据库的操作类型,取值:
DDL:Truncate、Create、Alter、Drop、Comment、Rename。
DML:Select、Insert、Update、Delete、Call、Explain、Lock、Merge。
DCL:Grant、Revoke。
其他:UNKNOWN、Savepoint、Commit、Rollback等。
SQL模板ID
不涉及
SQL模板的ID。支持填写多个值,多个值之间以半角逗号(,)分隔。
SQL关键字
不涉及
配置方式如下:
添加条件。
在条件框中输入要匹配的报文内容,支持使用正则表达式。单击添加条件可以添加多个条件。
添加一个条件后,您可以执行正则校验,验证指定的内容是否与设置的正则表达式相匹配。操作步骤如下:
单击条件下的正则校验。
在正则校验对话框,确认正则表达式,并输入校验的内容。
单击校验。
编写条件运算逻辑表达式。
通过与(&)、或(|)、非(~)和括号描述条件间的组合运算关系,条件使用序号表示,例如,“1”表示条件1。
示例: 1&2,表示有两个SQL关键字条件,且两个关键字都要满足,才命中规则并触发告警。
SQL长度
大于等于
SQL语句的长度。允许的范围为1字节到65536字节。
关联表数
大于等于
SQL操作关联表的个数。SQL操作涉及表的个数大于等于此值时,数据库审计系统不审计该操作,允许输入最大值为255。
WHERE子句
不涉及
是否包含WHERE子句。取值:不判断、有WHERE子句、没有WHERE子句。
结果
执行时长
大于等于、小于等于、区间
SQL语句的执行时长。单位取值:秒、毫秒、微秒。取值范围为0~1800秒。SQL语句的执行时长属于此范围,则命中规则。
影响行数
大于等于、小于等于、区间
SQL语句的影响行数。取值范围为0~999999999。SQL操作返回的记录数或受影响的行数属于此范围,数据库审计系统不审计该操作。
返回结果集
不涉及
配置方式如下:
添加条件。
在条件框中输入要匹配的报文内容,支持使用正则表达式。单击添加条件可以添加多个条件。
添加一个条件后,您可以执行正则校验,验证指定的内容是否与设置的正则表达式相匹配。操作步骤如下:
单击条件下的正则校验。
在正则校验对话框,确认正则表达式,并输入校验的内容。
单击校验。
编写条件运算逻辑表达式。
通过与(&)、或(|)、非(~)和括号描述条件间的组合运算关系,条件使用序号表示,例如,“1”表示条件1。
示例: 1&2,表示有两个SQL关键字条件,且两个关键字都要满足,才命中规则并触发告警。
执行状态
不涉及
执行结果中包含的执行状态。
执行结果描述
匹配、不匹配
执行结果中包含的关键词,支持以正则表达式的方式进行匹配。
其他
生效时间
不涉及
规则的生效周期,支持自定义和分组选择。
选中目标规则,并单击启用选中项。
保存规则后,您必选启用该规则,该规则才能生效。如果需要启用全部规则,您可以单击启用全部。
在选择资产对话框,选择该规则生效的资产,并单击确定。