文档首页 > > 最佳实践> 数据库安全审计最佳实践>

审计RDS关系型数据库

审计RDS关系型数据库

分享
更新时间:2021/01/22 GMT+08:00

本文档介绍了如何对RDS关系型数据库(应用部属于ECS)进行安全审计。

场景说明

数据库安全审计采用旁路部署模式,通过在访问数据库的应用系统服务器上部署数据库安全审计Agent,获取访问数据库流量、将流量数据上传到审计系统、接收审计系统配置命令和上报数据库状态监控数据,实现对RDS关系型数据库的安全审计。
图1 审计RDS关系型数据库(ECS)架构图

假设您在华为云上的关系型数据库(Relational Database Service,以下简称RDS)的详细信息如表1所示,您需要对该数据库内部违规和不正当操作进行定位追责,满足等保测评数据库审计需求。本章节详细介绍该场景下,开启数据库安全审计功能和验证审计结果的操作。

表1 RDS关系型数据库信息说明

数据库类型

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. 进入添加数据库入口,如图2所示。
    图2 进入添加数据库入口
  3. 在弹出的对话框中,按表1所示信息填写数据库参数,如图3所示。
    数据库安全审计支持“UTF-8”“GBK”两种数据库字符集的编码格式,请根据业务情况选择编码格式。
    图3 “添加数据库”对话框
  4. 单击“确定”,该数据库添加到数据库列表中,且“审计状态”“已关闭”
  5. 在该数据库所在行的“操作”列,单击“开启”,开启审计功能。

步骤三:添加Agent

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

    图4 添加Agent

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

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

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

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

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

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

      图6 选择已有Agent

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

步骤四:添加安全组规则

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

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

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

    图7 添加安全组规则

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

    图8 添加规则

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

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

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

步骤五:安装Agent

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

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

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

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

  5. 使用跨平台传输工具(例如WinSCP),将下载的Agent安装包“xxx.tar”上传到待安装Agent的节点(即图10中的“安装节点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. 进入SQL语句列表入口,如图11所示。

    图11 进入SQL语句列表入口

  3. SQL语句列表将显示登录数据库操作的记录,如图12所示。

    如果不能查询到SQL语句,请您参照如何处理Agent与数据库安全审计实例之间通信异常?进行排查。

    图12 查看SQL语句

步骤七:查看审计结果

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

  1. 查看总览信息。

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

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

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

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

    1. 进入报表管理入口,如图14所示。
      图14 进入报表管理入口
    2. 在需要生成报表的模板所在行的“操作”列,单击“立即生成报表”
    3. 在弹出的对话框中,单击,设置报表的开始时间和结束时间,选择生成报表的数据库。
    4. 单击“确定”

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

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

      图15 预览或下载报表

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问