
# 无法使用数据库安全审计
#### 问题现象
触发数据库流量后，在SQL语句列表页面搜索执行的语句，不能搜索到相关的审计信息。
建议您按照本章节的操作步骤排查无法审计SQL语句的原因并进行修改。
- [检查数据库信息是否正确以及数据库的审计是否已开启]
- [检查审计范围中对应数据库是否已启用]
- [检查数据库的Agent程序运行状态]
- [检查数据库安全审计实例安全组规则是否开放]
 
 #### 检查数据库信息是否正确以及数据库的审计是否已开启
1. [登录DBSS控制台](https://console.huaweicloud.com/dbss/#/dbss/home)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/dbss_faq/zh-cn_image_0000002524454332.png)，选择区域。
3. 在左侧导航树中，选择"数据库列表"，进入"数据库列表"界面。
4. 在"实例列表"下拉列表框中选择数据库所在的实例。
5. 查看数据库信息。
6. 检查数据库信息是否正确。 
   - 如果数据库信息正确，请执行[7]。
   
   - 如果数据库信息错误，请先单击"删除"，删除该数据库，再单击"添加数据库"，重新添加该数据库。
     - 如果问题已解决，结束操作。
     
     - 如果问题仍存在，请执行[7]。
      
   
   
   
   
7. 检查数据库的审计是否已开启。
   
   - 如果"审计状态"为"已开启"，请执行[检查审计范围中对应数据库是否已启用]。
   
   - 如果"审计状态"为"已关闭"，请单击"开启"，开启数据库审计。
     - 如果问题已解决，结束操作。
     
     - 如果问题仍存在，请执行[检查审计范围中对应数据库是否已启用]。
      
   
   
   
   
 
 #### 检查审计范围中对应数据库是否已启用
在左侧导航树中，选择"数据库安全审计 \> 审计规则"，进入审计范围列表页面。
- 如果"状态"为"已启用"，请执行[检查数据库的Agent程序运行状态]。
- 如果"状态"为"已禁用"，请单击"启用"，启用数据库对应的审计范围规则。
  - 如果问题已解决，结束操作。
  
  - 如果问题仍存在，请执行[检查数据库的Agent程序运行状态]。
   
 
 #### 检查数据库的Agent程序运行状态
1. 使用跨平台远程访问工具（例如PuTTY）以**root**用户通过SSH方式，登录Agent的安装节点。
2. 执行以下命令，查看Agent程序的运行状态。 
   ```
   ps -ef|grep audit_agent
   ```
   - 如果界面回显以下信息，说明Agent程序运行正常，请执行[4]。
     ```
     /opt/dbss_audit_agent/bin/audit_agent
     ```
     
   
   - 如果界面无回显信息，说明Agent程序运行异常，请执行[3]。
   
   
   
   
3. 执行以下命令，重新启动Agent。
   
   ```
   service audit_agent restart
   ```
   - 如果问题已解决，结束操作。
   
   - 如果问题仍存在，请执行[4]。
   
   
   
   
4. 执行以下命令，检查Agent与数据库安全审计实例之间的通信状态。
   
   ```
   tailf /opt/dbss_audit_agent/log/audit_agent.log
   ```
   - 如果界面回显类似以下信息，说明Agent与数据库安全审计实例之间通信正常，请执行[效果验证]。
     图1通信正常   
     ![](https://support.huaweicloud.com/dbss_faq/zh-cn_image_0000002298731248.png "点击放大") 
   
   - 如果界面回显类似以下信息，说明Agent与数据库安全审计实例之间通信异常，请[检查数据库安全审计实例安全组规则是否开放]。
     图2通信异常   
     ![](https://support.huaweicloud.com/dbss_faq/zh-cn_image_0000002298731208.png "点击放大") 
   
   
   
   
 
 #### 检查数据库安全审计实例安全组规则是否开放
1. 进入数据库安全服务管理界面。
2. 在左侧导航树中，选择"数据库安全审计 \> 数据库列表"，进入数据库列表页面。
3. 在"实例列表"下拉列表框中选择数据库所在的实例。
4. 记录**Agent安装节点IP信息。**
   
   单击数据库左侧的![](https://support.huaweicloud.com/dbss_faq/zh-cn_image_0000002298731236.png)展开Agent的详细信息，并记录"安装节点IP"。
   
   
5. 在数据库列表的上方，单击"添加安全组规则"。
6. 在弹出的弹框中，记录数据库审计实例的"安全组名称"（例如default）。
7. 单击"前往处理"，进入"安全组"列表界面。
8. 在列表右上方的搜索框中输入安全组"default"后，单击![](https://support.huaweicloud.com/dbss_faq/zh-cn_image_0000002332690625.png)或按"Enter"，列表显示"default"安全组信息。
9. 单击"default"，进入"入方向规则"页面。
10. **检查安全组的入方向规则。**
    
    请检查该安全组的入方向规则是否已为[4]中的安装节点IP配置了TCP协议（端口为8000）和UDP协议（端口为7000-7100）规则。
    - 如果该安全组已配置安装节点的入方向规则，请执行[效果验证]。
    
    - 如果该安全组未配置安装节点的入方向规则，请执行[11]。
     
    
    
11. **为安装节点添加入方向安全规则。**
    
    1. 在入方向规则页面，单击"添加规则"。
    
    2. 在"添加入方向规则"对话框中，为安装节点IP添加TCP协议（端口为8000）和UDP协议（端口为7000-7100）规则。
    
    3. 单击"确定"，完成添加入方向规则。
    
    
    
    
 
 #### 效果验证
在数据库中输入一条SQL语句后，在SQL语句列表页面搜索执行的语句。
- 如果可以搜索到输入的SQL语句信息，说明问题已解决。
- 如果不能搜索到输入的SQL语句信息，说明问题仍存在，请联系技术支持。
 
