本文介绍了在云盾数据库审计系统中管理数据库下的用户规则以及用户规则下的白名单设置的具体操作。

背景信息

用户规则指自定义审计规则。添加数据库后,您可以为其添加用户规则。用户规则在数据库之间互不通用。

添加用户规则后,您可以在为数据库配置审计规则时启用用户规则。这样,当审计记录命中启用的用户规则时,会触发告警。

添加用户规则后,您可以为用户规则添加白名单设置。满足白名单设置的审计记录,即使命中了用户规则,也不会触发告警。

添加用户规则

  1. 登录云盾数据库审计系统。具体操作请参见登录系统
  2. 在左侧导航栏,单击规则配置
  3. 定位到要操作的数据库,单击其操作列下的管理
    说明 您也可以单击目标数据库下的任意一个规则记录,进入数据库的规则管理页面。


  4. 在目标数据库的规则管理页面,根据需要在用户规则目录下添加子级目录。
    您可以直接在用户规则目录下添加用户规则,或者在用户规则下添加子级目录,然后在子级目录中添加规则。参照以下步骤,添加一个子级目录:
    1. 单击新增 > 目录

    2. 新增目录侧边页,输入目录名称,并选择上级目录
      说明 同一个数据库下的所有子级目录的名称不允许重复。


    3. 单击保存
    成功添加子级目录。您可以在左侧规则导航树中看到已添加的目录。单击一个子级目录进入其信息页;在目录信息页,您可以单击右上角的编辑或删除图标,执行相应操作。

  5. 在目标数据库的规则管理页面,单击新增 > 规则

  6. 新增规则侧边页,完成规则配置(即规则的命中条件),并单击保存。规则配置描述见下表。
    类别 配置项 支持的逻辑符 说明
    基本信息 名称 - 规则名称。
    说明 同一数据库下的所有用户规则的名称不允许重复。
    描述 - 规则描述信息。
    等级 - 命中规则后触发的告警等级,取值:高风险、中风险、低风险。
    上级目录 - 规则隶属的上级目录。
    说明 只允许在用户规则目录中选择。关于创建用户目录,请参见步骤4。
    客户端 客户端IP 等于、不等于 客户端的IP地址。支持填写多个值,多个值之间以逗号(,)分隔。
    客户端工具 等于、不等于 客户端使用的工具名称。支持填写多个值,多个值之间以逗号(,)分隔。例如,db2bp.exe,javaw.exe,plsqldev.exe。
    客户端端口 - 客户端的访问端口号。支持填写多个值或区间,多个值之间以逗号(,)分隔。例如,10-15,20,25,30-40。
    客户端MAC地址 等于、不等于 客户端机器的MAC地址。支持填写多个值,多个值之间以逗号(,)分隔。
    操作系统用户 等于、不等于 客户端操作系统的登录用户名。支持填写多个值,多个值之间以逗号(,)分隔。
    主机名 等于、不等于 客户端的主机名。支持填写多个值,多个值之间以逗号(,)分隔。
    服务端 服务端IP 等于、不等于 服务端的IP地址。支持填写多个值,多个值之间以逗号(,)分隔。
    服务端端口 - 服务端的端口号。支持填写多个值或区间,多个值之间以逗号(,)分隔。例如,10-15,20,25,30-40。
    数据库账号 等于、不等于 数据库的登录用户名。支持填写多个值,多个值之间以逗号(,)分隔。例如,system,sys。
    服务端MAC地址 等于、不等于 服务端机器的MAC地址。支持填写多个值,多个值之间以逗号(,)分隔。
    数据库名(SID) - Oracle数据库输入SID,其他数据库输入数据库名称。支持填写多个值,多个值之间以逗号(,)分隔。
    行为 操作类型 - 对数据库的操作类型,取值:
    • DDL:Truncate、Create、Alter、Drop、Comment、Rename
    • DML:Select、Insert、Update、Delete、Call、Explain、Lock、Merge
    • DCL:Grant、Revoke
    SQL模板 - SQL模板的ID。支持填写多个值,多个值之间以逗号(,)分隔。
    SQL关键字 - 配置方式如下:
    1. 添加条件。

      在条件框中输入要匹配的报文内容,支持使用正则表达式。单击添加条件可以添加多个条件。

      添加一个条件后,您可以执行正则校验,验证指定的内容是否与设置的正则表达式相匹配。操作步骤如下:
      1. 单击条件下的正则校验
      2. 正则校验对话框中,确认正则表达式,并输入校验的内容
      3. 单击校验
    2. 编写条件运算逻辑表达式

      通过与(&)、或(|)、非(~)和括号描述条件间的组合运算关系,条件使用序号表示,例如,“1”表示条件1。

      示例: 1&2,表示有两个SQL关键字条件,且两个关键字都要满足,才命中规则并触发告警。

    SQL长度 - SQL的长度。允许的范围为1字节到64K。
    WHERE子句 - 是否包含WHERE子句,取值:不判断、有WHERE子句、没有WHERE子句。
    结果 执行时长 大于等于、小于等于、区间 SQL的执行时长,单位为微秒。取值范围为0~2147483647。SQL的执行时长属于此范围,则命中规则。
    影响行数 大于等于、小于等于、区间 SQL的影响行数。取值范围为0~2147483647。SQL操作返回的记录数或受影响的行数属于此范围,则命中规则。
    返回结果集 - 配置方式如下:
    1. 添加条件。

      在条件框中输入要匹配的报文内容,支持使用正则表达式。单击添加条件可以添加多个条件。

      添加一个条件后,您可以执行正则校验,验证指定的内容是否与设置的正则表达式相匹配。操作步骤如下:
      1. 单击条件下的正则校验
      2. 正则校验对话框中,确认正则表达式,并输入校验的内容
      3. 单击校验
    2. 编写条件运算逻辑表达式

      通过与(&)、或(|)、非(~)和括号描述条件间的组合运算关系,条件使用序号表示,例如,“1”表示条件1。

      示例: 1&2,表示有两个SQL关键字条件,且两个关键字都要满足,才命中规则并触发告警。

    执行状态 - 执行结果中包含的执行状态,取值:全部、成功、失败。
    执行结果描述 匹配、不匹配 执行结果中包含的关键词,支持以正则表达式的方式进行匹配。
    其他 生效时间 - 规则的生效周期,取值:任意时间、每天、每周、每月。


成功添加用户规则。您可以在左侧的规则导航树中看到已添加的用户规则。单击一个用户规则进入其信息页;在用户规则信息页,您可以单击右上角的编辑、删除、克隆图标,执行相应操作。

管理规则白名单

  1. 登录云盾数据库审计系统。具体操作请参见登录系统
  2. 在左侧导航栏,单击规则配置
  3. 定位到要操作的数据库,单击其操作列下的管理
  4. 在目标数据库的规则管理页面,通过左侧的规则导航树,定位到要操作的用户规则,并单击其名称。
  5. 在右侧的规则信息页,单击白名单下的管理

  6. 白名单管理侧边页,您可以新增白名单。操作步骤如下:
    1. 单击新增

    2. 新增白名单侧边页,完成白名单配置。配置描述如下:
      • 名称:白名单的名称。
      • 描述:白名单的描述。
      • 白名单规则:具体的客户端服务端行为结果其他配置描述,请参见添加用户规则步骤6中的用户规则配置描述。


    3. 单击保存

    成功添加白名单。您可以在白名单管理侧边页查看所有白名单。单击一个白名单的操作列下的编辑删除,可以执行相应操作。同一个数据库下的所有白名单相互通用,您需要为用户规则引用白名单,才能使白名单设置生效。

  7. 在目标规则的规则信息页,单击白名单下的添加,并从白名单下拉框中选择要引用的白名单。

成功为用户规则引用白名单设置。启用用户规则后,命中白名单设置的审计记录,不会触发告警。