
# 审计RDS关系型数据库（安装Agent）
#### 方案概述
本文档介绍了如何对关系型数据库（应用部署于ECS）进行安全审计。对于部分关系型数据库，DBSS服务支持免安装Agent模式，无需安装Agent，即可开启数据库安全审计。
- 如果您需要安全审计的数据库类型如[表1]所示，请参见[审计RDS关系型数据库（免安装Agent）](https://support.huaweicloud.com/bestpractice-dbss/dbss_06_0020.html)。
   表1支持免Agent安装的关系型数据库 
  | 数据库类型                                                                                                                                                                                                                                                                                                                                                         | 支持的版本                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  |:---|:---|
  | TaurusDB                                                                                                                                                                                                                                                                                  | 默认都支持                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | RDS for SQLServer （华为云审计实例：23.02.27.182148 及其之后的版本支持）                                                                                                                                                                                                                 | 默认都支持                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | RDS for MySQL                                                                                                                                                                                                                                                                                                                                                 | - 5.6（5.6.51.1及以上版本）  - 5.7（5.7.29.2及以上版本）  - 8.0（8.0.20.3及以上版本）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  | DWS                                                                                                                                                                                                                                                                                                                                                           | - 8.2.0.100及以上版本                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | PostgreSQL （华为云审计实例：23.04.17.123301及其之后的版本支持） 须知： 当SQL语句大小超过4KB审计时会被截断，会导致审计到的SQL语句不完整。 | - 14（14.4及以上版本）  - 13（13.6及以上版本）  - 12（12.10及上版本）  - 11（11.15及以上版本）  - 9.6（9.6.24及以上版本）  - 9.5（9.5.25及以上版本）   |
  | RDS for MariaDB                                                                                                                                                                                                                                                                                                                                               | 默认都支持                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     
  
- 如果您需要安全审计的数据库类型不在[表1]范围内，请参见本节内容。
 
#### 方案架构
数据库安全审计采用旁路部署模式，通过在访问数据库的应用系统服务器上部署数据库安全审计Agent，获取访问数据库流量，Agent将获取的流量数据上传到审计系统、接收审计系统配置命令和上报数据库状态监控数据，实现对数据库的安全审计。
图1审计RDS关系型数据库（安装Agent）架构图   
![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0297146314.png "点击放大")
本文以POSTGRESQL 7.4版本的关系型数据库为例，详细信息如[表2]所示，您需要对该数据库内部违规和不正当操作进行定位追责，满足等保测评数据库审计需求。本节详细介绍该场景下开启数据库安全审计功能和验证审计结果的具体操作。
 表2数据库示例信息说明 
|                        数据库类型                         |  POSTGRESQL   |
|---|---|
| **数据库版本**                                            | 7.4           |
| **数据库IP地址**                                          | 192.168.1.31  |
| **应用端IP地址 （安装节点IP地址）** | 192.168.1.132 |
| **端口**                                               | 8000          |
| **操作系统**                                             | LINUX64       |
   
#### 约束与限制
- 使用数据库安全审计需要关闭数据库的SSL。
- 待审计数据库与数据库安全审计需要在同一区域。
- 购买数据库安全审计配置"VPC"参数时，需与Agent安装节点所在VPC相同。 数据库安全审计的Agent安装节点，请参见：[如何选择数据库安全审计的Agent安装节点？](https://support.huaweicloud.com/dbss_faq/dbss_01_0282.html)
  
 
#### 步骤一：购买数据库安全审计
您需要根据您的业务需求购买数据库安全审计规格并配置数据库安全审计参数，详细操作请参见[购买数据库安全审计](https://support.huaweicloud.com/usermanual-dbss/dbss_01_0260.html)。
![](https://support.huaweicloud.com/bestpractice-dbss/public_sys-resources/note_3.0-zh-cn.png)
为保证审计功能的正常使用，购买数据库安全审计配置"VPC"参数时，请与Agent安装节点所在VPC相同。
数据库安全审计的Agent安装节点，请参见：[如何选择数据库安全审计的Agent安装节点？](https://support.huaweicloud.com/dbss_faq/dbss_01_0282.html)
#### 步骤二：添加数据库并开启审计
购买成功后，您需要先将目标数据库添加至数据库安全审计实例并开启该数据库的审计功能。
1. [登录DBSS控制台](https://console.huaweicloud.com/dbss/#/dbss/home)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002524454332.png)，选择区域。
3. 在左侧导航树中，选择"数据库列表"，进入数据库列表界面。
4. 在"选择实例"下拉列表框中，选择需要添加数据库的实例，并单击"添加数据库"。
5. 在弹出的对话框中，按[表2]所示信息填写数据库参数，如[图2]所示。
   
   数据库安全审计支持"UTF-8"和"GBK"两种数据库字符集的编码格式，请根据业务情况选择编码格式。
   图2"添加数据库"对话框
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002492460674.png "点击放大")
   
   
6. 单击"确定"，该数据库添加到数据库列表中，且"审计状态"为"已关闭"。
7. 在该数据库所在行的"操作"列，单击"开启"，开启审计功能。
 
#### 步骤三：添加Agent
1. 在数据库所在行的"Agent"列，单击"添加Agent"。 
   图3添加Agent   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002497946214.png "点击放大")
   
   
2. 在弹出的对话框中，选择添加方式。 
   - **方式一：** 选择"创建Agent"。
     如果数据库安全审计实例的数据库未添加Agent，您需要创建新的Agent。
     "安装节点类型"选择"应用端"，输入[表2]所示的应用端IP地址，如[图4]所示。
     图4在应用端添加Agent   
     ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002492454164.png "点击放大") 
   
   - **方式二：** "选择已有Agent"。
     在什么场景下需要选择"选择已有Agent"添加方式的详细介绍，请参见[在什么场景下需要选择"选择已有Agent"添加方式？](https://support.huaweicloud.com/dbss_faq/dbss_01_0286.html)
     ![](https://support.huaweicloud.com/bestpractice-dbss/public_sys-resources/note_3.0-zh-cn.png)
     选择"选择已有Agent"添加方式，如果您已在应用端安装了Agent，该数据库添加Agent后，数据库安全审计即可对该数据库进行审计。
     图5选择已有Agent   
     ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002524454083.png "点击放大") 
   
   
   
   
3. 单击"确定"，Agent添加成功。
 
#### 步骤四：添加安全组规则
Agent添加完成后，您需要为数据库安全审计实例所在的安全组添加入方向规则TCP协议（8000端口）和UDP协议（7000-7100端口），使Agent与审计实例之间的网络连通，数据库安全审计才能对添加的数据库进行审计。
- 如果该安全组已配置安装节点的入方向规则，请执行[步骤五：安装Agent]。
- 如果该安全组未配置安装节点的入方向规则，请按照本节内容进行配置。
![](https://support.huaweicloud.com/bestpractice-dbss/public_sys-resources/note_3.0-zh-cn.png)
安全组规则也可以在成功安装Agent后进行添加。
1. 获取[安装节点IP地址]。
2. 在数据库列表的上方，单击"添加安全组规则"。
3. 在弹出的弹框中，记录数据库安全审计实例的"安全组名称"（例如default）。 
   图6添加安全组规则   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002524454757.png "点击放大")
   
   
4. 单击"前往处理"，进入"安全组"界面。
5. 在列表右上方的搜索框中输入安全组"default"后，单击![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000001072442596.png)或按"Enter"，列表显示"default"安全组信息。
6. 单击"default"，进入"基本信息"页面。
7. 选择"入方向规则"页签，单击"添加规则"，如[图7]所示。
   
   图7添加规则   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000001073279740.png "点击放大")
   
   
8. 在弹出的"添加入方向规则"对话框中，为[表2]中的安装节点IP添加TCP协议（端口为8000）和UDP协议（端口为7000-7100）规则，如[图8]所示。
   
   图8"添加入方向规则"对话框   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000001073120072.png "点击放大")
   
   
9. 单击"确定"，完成添加入方向规则。
 
 #### 步骤五：安装Agent
添加安全组规则后，您需要下载Agent包并将下载的Agent安装包上传到待安装Agent的节点上进行安装。使添加的数据库连接到数据库安全审计实例，数据库安全审计才能对添加的数据库进行审计。
![](https://support.huaweicloud.com/bestpractice-dbss/public_sys-resources/note_3.0-zh-cn.png)
每个Agent都有唯一的AgentID，是Agent连接数据库安全审计实例的重要密钥。若您将添加的Agent删除，在重新添加Agent后，请重新下载Agent和安装Agent。
1. 在左侧导航树中，选择"数据库列表"，进入数据库列表界面。
2. 在"选择实例"下拉框中，选择需要下载Agent的数据库所属实例。
3. 在数据库所在行的"Agent"列，单击"查看Agent"。在Agent所在行的"操作"列，单击"下载agent"。 
   将Agent安装包下载到本地。
   图9下载Agent   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002498201388.png "点击放大")
   
   
4. 使用跨平台传输工具（例如WinSCP），将下载的Agent安装包"xxx.tar"上传到待安装Agent的节点（即[图9]中的"安装节点IP"）。
5. 使用跨平台远程访问工具（例如PuTTY）以**root**用户通过SSH方式，登录该安装节点。在RDS数据库场景下，若数据库节点无法连接，可将Agent安装在应用节点上。
6. 执行以下命令，进入Agent安装包"xxx.tar"所在目录。 
   ```
   cd Agent安装包所在目录
   ```
   
   
7. 执行以下命令，解压缩"xxx.tar"安装包。 
   ```
   tar -xvf xxx.tar
   ```
   
   
8. 执行以下命令，进入"install.sh"脚本所在目录。 
   ```
   cd install.sh脚本所在目录
   ```
   
   
9. 执行以下命令，安装Agent。 
   ```
   sh install.sh
   ```
   如果界面回显以下信息，说明安装成功。
   ```
   start agent
   starting audit agent
   audit agent started
   start success
   install dbss audit agent done!
   ```
   
   
 
#### 步骤六：验证Agent与数据库安全审计实例之间的网络通信正常
待审计的数据库与数据库安全审计实例连接成功后，您需要验证Agent与数据库安全审计实例之间的网络通信是否正常。
1. 在安装Agent的节点执行一条SQL语句或对数据库进行操作（例如，"Select 1;"）。
2. 在左侧导航树中，选择"数据报表"，进入"数据报表"界面。
3. 在"选择实例"下拉列表框中，选择需要查看数据库慢SQL语句信息的实例。
4. 选择"语句"页签。
5. SQL语句列表将显示登录数据库操作的记录，如[图10]所示。
   
   如果不能查询到SQL语句，请您参照[如何处理Agent与数据库安全审计实例之间通信异常？](https://support.huaweicloud.com/dbss_faq/dbss_01_0246.html)进行排查。
   图10查看SQL语句   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0297146323.png "点击放大")
   
   
 
#### 步骤七：查看审计结果
验证成功后，您可参照本节内容在总览界面查看审计结果信息，同时也可根据需求在报表界面进行设置生成报表、下载或预览报表。
1. 查看总览信息。 
   进入总览入口，如[图11]所示，查看总览信息。
   
   在总览界面，展示了该实例的审计时长、SQL语句总量、风险总量以及今日语句、今日风险、今日会话量。
   在左侧导航树中，选择"数据报表"。您可以选择"语句"或"会话"页签，分别查看SQL语句信息和会话分布图。
   图11进入总览入口   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0301033340.png "点击放大")
   
   
2. 生成报表、下载或预览报表。 
   1. 参照[图12]进入报表管理界面。
      图12进入报表管理入口   
      ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0301033261.png "点击放大") 
   
   2. 在左侧导航树中，选择"报表"。
   
   3. 在"选择实例"下拉列表框中，选择需要生成审计报表的实例。选择"报表管理"页签。
   
   4. 在需要生成报表的模板所在行的"操作"列，单击"立即生成报表"。
   
   5. 在弹出的对话框中，单击![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0297146326.png)，设置报表的开始时间和结束时间，选择生成报表的数据库。
   
   6. 单击"确定"。 单击"报表结果"页面，您可以查看报表的生成进度。报表生成后，您可以"预览"或"下载"报表。
      ![](https://support.huaweicloud.com/bestpractice-dbss/public_sys-resources/notice_3.0-zh-cn.png)
      如果您需要在线预览报表，请使用Google Chrome或Mozilla FireFox浏览器。
      图13预览或下载报表   
      ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002524601893.png "点击放大") 
   
   
   
   
 
