文档首页/ 数据库安全服务 DBSS/ 最佳实践/ 审计RDS关系型数据库(安装Agent)
更新时间:2024-10-15 GMT+08:00
分享

审计RDS关系型数据库(安装Agent)

方案概述

本文档介绍了如何对关系型数据库(应用部署于ECS)进行安全审计。对于部分关系型数据库,DBSS服务支持免安装Agent模式,无需安装Agent,即可开启数据库安全审计。

  • 如果您需要安全审计的数据库类型如表1所示,请参见审计RDS关系型数据库(免安装Agent)
    表1 支持免Agent安装的关系型数据库

    数据库类型

    支持的版本

    GaussDB for MySQL

    默认都支持

    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及以上版本)

    GaussDB(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)架构图

本文以POSTGRESQL 7.4版本的关系型数据库为例,详细信息如表1所示,您需要对该数据库内部违规和不正当操作进行定位追责,满足等保测评数据库审计需求。本节详细介绍该场景下开启数据库安全审计功能和验证审计结果的具体操作。

表2 数据库示例信息说明

数据库类型

POSTGRESQL

数据库版本

7.4

数据库IP地址

192.168.1.31

应用端IP地址

(安装节点IP地址)

192.168.1.132

端口

8000

操作系统

LINUX64

约束与限制

  • 使用数据库安全审计需要关闭数据库的SSL。
  • 待审计数据库与数据库安全审计需要在同一区域。
  • 购买数据库安全审计配置“VPC”参数时,需与Agent安装节点所在VPC相同。

    数据库安全审计的Agent安装节点,请参见:如何选择数据库安全审计的Agent安装节点?

步骤一:购买数据库安全审计

您需要根据您的业务需求购买数据库安全审计规格并配置数据库安全审计参数,详细操作请参见购买数据库安全审计

为保证审计功能的正常使用,购买数据库安全审计配置“VPC”参数时,请与Agent安装节点所在VPC相同。

数据库安全审计的Agent安装节点,请参见:如何选择数据库安全审计的Agent安装节点?

步骤二:添加数据库并开启审计

购买成功后,您需要先将目标数据库添加至数据库安全审计实例并开启该数据库的审计功能。

  1. 登录管理控制台
  2. 在页面上方选择“区域”后,单击页面左上方的,选择安全与合规 > 数据库安全服务,进入数据库安全审计“总览”界面。
  3. 在左侧导航树中,选择数据库列表,进入数据库列表界面。
  4. “选择实例”下拉列表框中,选择需要添加数据库的实例,并单击“添加数据库”
  5. 在弹出的对话框中,按表2所示信息填写数据库参数,如图2所示。

    数据库安全审计支持“UTF-8”“GBK”两种数据库字符集的编码格式,请根据业务情况选择编码格式。
    图2 “添加数据库”对话框

  6. 单击“确定”,该数据库添加到数据库列表中,且“审计状态”“已关闭”
  7. 在该数据库所在行的“操作”列,单击“开启”,开启审计功能。

步骤三:添加Agent

  1. 在数据库所在行的“Agent”列,单击“添加Agent”,如图3所示。

    图3 添加Agent

  2. 在弹出的对话框中,选择添加方式。

    • 方式一:选择“创建Agent”

      如果数据库安全审计实例的数据库未添加Agent,您需要创建新的Agent。

      “安装节点类型”选择“应用端”“安装节点IP”输入表2所示的应用端IP地址,如图4所示。
      图4 在应用端添加Agent
    • 方式二:“选择已有Agent”图5所示。

      在什么场景下需要选择“选择已有Agent”添加方式的详细介绍,请参见在什么场景下需要选择“选择已有Agent”添加方式?

      选择“选择已有Agent”添加方式,如果您已在应用端安装了Agent,该数据库添加Agent后,数据库安全审计即可对该数据库进行审计。

      图5 选择已有Agent

  3. 单击“确定”,Agent添加成功。

步骤四:添加安全组规则

Agent添加完成后,您需要为数据库安全审计实例所在的安全组添加入方向规则TCP协议(8000端口)和UDP协议(7000-7100端口),使Agent与审计实例之间的网络连通,数据库安全审计才能对添加的数据库进行审计。
  • 如果该安全组已配置安装节点的入方向规则,请执行步骤五:安装Agent
  • 如果该安全组未配置安装节点的入方向规则,请按照本节内容进行配置。

安全组规则也可以在成功安装Agent后进行添加。

  1. 获取安装节点IP地址
  2. 在数据库列表的上方,单击“添加安全组规则”
  3. 在弹出的弹框中,记录数据库安全审计实例的“安全组名称”(例如default),如图6所示。

    图6 添加安全组规则

  4. 单击“前往处理”,进入“安全组”界面。
  5. 在列表右上方的搜索框中输入安全组“default”后,单击或按“Enter”,列表显示“default”安全组信息。
  6. 单击“default”,进入“基本信息”页面。
  7. 选择“入方向规则”页签,单击“添加规则”,如图7所示。

    图7 添加规则

  8. 在弹出的“添加入方向规则”对话框中,为表2中的安装节点IP添加TCP协议(端口为8000)和UDP协议(端口为7000-7100)规则,如图8所示。

    图8 “添加入方向规则”对话框

  9. 单击“确定”,完成添加入方向规则。

步骤五:安装Agent

添加安全组规则后,您需要下载Agent包并将下载的Agent安装包上传到待安装Agent的节点上进行安装。使添加的数据库连接到数据库安全审计实例,数据库安全审计才能对添加的数据库进行审计。

每个Agent都有唯一的AgentID,是Agent连接数据库安全审计实例的重要密钥。若您将添加的Agent删除,在重新添加Agent后,请重新下载Agent和安装Agent。

  1. 登录控制台进入数据库安全服务。
  2. 在左侧导航树中,选择数据库列表,进入数据库列表界面。
  3. “选择实例”下拉框中,选择需要下载Agent的数据库所属实例。
  4. 单击该数据库左侧的展开Agent的详细信息,在Agent所在行的“操作”列,单击“下载agent”,如图9所示。

    将Agent安装包下载到本地。
    图9 下载Agent

  5. 使用跨平台传输工具(例如WinSCP),将下载的Agent安装包“xxx.tar”上传到待安装Agent的节点(即图9中的“安装节点IP”)。
  6. 使用跨平台远程访问工具(例如PuTTY)以root用户通过SSH方式,登录该安装节点。
  7. 执行以下命令,进入Agent安装包“xxx.tar”所在目录。

    cd Agent安装包所在目录

  8. 执行以下命令,解压缩“xxx.tar”安装包。

    tar -xvf xxx.tar

  9. 执行以下命令,进入“install.sh”脚本所在目录。

    cd install.sh脚本所在目录

  10. 执行以下命令,安装Agent。

    sh install.sh

    如果界面回显以下信息,说明安装成功。
    1
    2
    3
    4
    5
    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与数据库安全审计实例之间通信异常?进行排查。

    图10 查看SQL语句

步骤七:查看审计结果

验证成功后,您可参照本节内容在总览界面查看审计结果信息,同时也可根据需求在报表界面进行设置生成报表、下载或预览报表。

  1. 查看总览信息。

    进入总览入口,如图11所示,查看总览信息。

    在总览界面,展示了该实例的审计时长、SQL语句总量、风险总量以及今日语句、今日风险、今日会话量

    您可以选择“语句”“会话”页签,分别查看SQL语句信息和会话分布图。
    图11 进入总览入口

  2. 生成报表、下载或预览报表。

    1. 参照图12进入报表管理界面。
      图12 进入报表管理入口
    2. 在左侧导航树中,选择报表
    3. “选择实例”下拉列表框中,选择需要生成审计报表的实例。选择“报表管理”页签。
    4. 在需要生成报表的模板所在行的“操作”列,单击“立即生成报表”
    5. 在弹出的对话框中,单击,设置报表的开始时间和结束时间,选择生成报表的数据库。
    6. 单击“确定”

      系统跳转到报表结果页面,您可以查看报表的生成进度。报表生成后,您可以“预览”“下载”报表,如图13所示。

      如果您需要在线预览报表,请使用Google Chrome或Mozilla FireFox浏览器。

      图13 预览或下载报表

相关文档