
# 数据库脏表检测
#### 操作场景
数据库安全审计规则可增加一条"数据库脏表检测"的高风险操作。用户预设无用的库、表或列作为"脏表"，无风险程序不会访问用户自建的"脏表"，用于检测访问"脏表"的可能的恶意程序。
通过数据库脏表检测，可以帮助您监控识别访问"脏表"的SQL语句，及时发现数据安全风险。
#### 前提条件
用户需要在待审计的实例中添加无用的数据库、表或字段，作为脏表检测的对象。
#### 配置数据库脏表检测
1. [登录DBSS控制台](https://console.huaweicloud.com/dbss/#/dbss/home)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002524454332.png)，选择区域。
3. 在左侧导航树中，选择"审计规则"，进入"审计规则"界面。
4. 在"选择实例"下拉列表框中，选择需要配置数据库脏表检测的实例。
5. 选择"风险操作"页签。单击"添加风险操作"增加脏表检测规则。
6. 基本信息中将"风险等级"配置为"高"。
7. （可选）配置"客户端IP/IP段"，不配置系统默认检测全部。
8. 配置操作类型，选择"操作"和"全部操作"。添加操作对象填写实例中添加无用的数据库、表或字段，如[图1]所示。
   
   图1添加脏表检测规则   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000001240353769.png "点击放大")
   
   
9. 单击"保存"。
 
#### 查看数据库脏表检测结果
数据库脏表检测开启后，您可以在"数据报表 \> 语句"中，查看原始审计日志访问脏表的SQL语句。
1. 在左侧导航树中，选择"数据报表"，进入"数据报表"界面。
2. 在"选择实例"下拉列表框中，选择需要查看数据库脏表检测语句信息的实例。
3. 选择"语句"页签。
4. 您可以按照以下方法，查询指定的SQL语句。 
   - 在列表左上方下拉框，可选择时间："全部时间"、"近30分钟"、"近1小时"、"今日"、"近7天"或"近30天"或"自定义"。单击"自定义"，选择开始时间和结束时间，单击"确定"，列表显示该时间段的SQL语句。
   
   - 单击列表右上方输入框，可选择属性筛选，或输入关键字搜索。选择"风险等级"（"高"，数据库脏表检测规则默认为高），单击"提交"，列表显示该级别的SQL语句。
   
   
   ![](https://support.huaweicloud.com/bestpractice-dbss/public_sys-resources/note_3.0-zh-cn.png)
   一次查询最多可查询10,000条记录。
   
   
5. 在需要查看数据库脏表检测详情的SQL语句所在行的"操作"列，单击"详情"，在详情提示框中，查看数据库访问脏表的SQL语句的详细信息，如[图2]所示，相关参数说明如[表1]所示。
   
   图2"详情"提示框   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002494106230.png "点击放大")
    表1SQL语句详情参数说明 
   | 参数名称     | 说明                  |
   |:---|:---|
   | 会话ID     | SQL语句的ID，由系统自动生成。   |
   | 数据库实例    | SQL语句所在的数据库实例。      |
   | 数据库类型    | 执行SQL语句所在的数据库的类型。   |
   | 数据库用户    | 执行SQL语句的数据库用户。      |
   | 客户端MAC地址 | 执行SQL语句所在客户端MAC地址。  |
   | 数据库MAC地址 | 执行SQL语句所在数据库MAC地址。  |
   | 客户端IP    | 执行SQL语句所在客户端的IP地址。  |
   | 数据库IP/域名 | 执行SQL语句所在的数据库的IP地址。 |
   | 客户端端口    | 执行SQL语句所在的客户端的端口。   |
   | 数据库端口    | 执行SQL语句所在的数据库的端口。   |
   | 客户端名称    | 执行SQL语句所在客户端名称。     |
   | 操作类型     | SQL语句的操作类型。         |
   | 操作对象类型   | SQL语句的操作对象的类型。      |
   | 响应结果     | 执行SQL语句的响应结果。       |
   | 影响行数     | 执行SQL语句的影响行数。       |
   | 开始时间     | SQL语句开始执行的时间。       |
   | 响应结束时间   | SQL语句结束的时间。         |
   | SQL请求语句  | SQL语句的名称。           |
   | 请求结果     | SQL语句请求执行的结果。       |
      
   
   
 
#### 查看脏表检测规则
您可以在"审计规则 \> 风险操作"中查看数据库慢SQL检测规则，并根据需要执行以下操作：
图3数据库脏表检测检测   
![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002526225887.png "点击放大")
- 启用 在数据库脏表检测规则所在行的"操作"列，单击"启用"，数据库安全审计将对该规则进行审计。
  
- 编辑 在数据库脏表检测规则所在行的"操作"列，单击"编辑"，在风险操作界面，您可以修改数据库脏表检测规则。
  
- 禁用 在数据库脏表检测规则所在行的"操作"列，单击"禁用"，在弹出的对话框中，单击"确定"，可以禁用该数据库脏表检测规则。禁用数据库脏表检测规则后，该规则将不在审计中执行。
  
- 删除 在数据库脏表检测规则所在行的"操作"列，单击"删除"，在弹出的对话框中，单击"确定"，可以删除该规则。删除数据库脏表检测规则后，如果需要对该规则进行安全审计，请重新添加**数据库脏表检测** 规则。详细操作步骤，请参见：[添加风险操作](https://support.huaweicloud.com/usermanual-dbss/dbss_01_0192.html#section1)。
  
 
