更新时间:2023-06-16 GMT+08:00

审计ECS自建数据库

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

审计ECS/BMS自建数据库架构图如图1所示。
图1 审计ECS/BMS自建数据库架构图

场景说明

假设您在华为云的弹性云服务器(Elastic Cloud Server ,以下简称ECS)上自建了一个数据库,数据库的详细信息如表1所示,您需要对该数据库内部违规和不正当操作进行定位追责,满足等保测评数据库审计需求。本章节详细介绍该场景下,在数据库端安装Agent,开启数据库安全审计功能和验证审计结果的操作。

表1 ECS自建数据库信息说明

数据库类型

MySQL

数据库版本

5.7

数据库IP地址

192.168.1.5

端口

3306

操作系统

LINUX64

约束与限制

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

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

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

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

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

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

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

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

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

    图2 “添加数据库”对话框

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

步骤三:添加Agent

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

    图3 添加Agent

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

    图4 在数据库端添加Agent

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

步骤四:添加安全组规则

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

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

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

    图5 添加安全组规则

  4. 单击“前往处理”,进入“安全组”界面。
  5. 在列表右上方的搜索框中输入安全组“default”后,单击或按“Enter”,列表显示“default”安全组信息。
  6. 单击“default”,进入“基本信息”页面。
  7. 选择“入方向规则”页签,单击“添加规则”
  8. “添加入方向规则”对话框中,为安装节点IP添加TCP协议(端口为8000)和UDP协议(端口为7000-7100)规则。
  9. 单击“确定”,完成添加入方向规则。

步骤五:安装Agent

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

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

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

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

  5. 使用跨平台传输工具(例如WinSCP),将下载的Agent安装包“xxx.tar”上传到待安装Agent的节点(即图6中的“安装节点IP”)。
  6. 使用跨平台远程访问工具(例如PuTTY)以root用户通过SSH方式,登录该安装节点。
  7. 执行以下命令,进入Agent安装包“xxx.tar”所在目录。
  8. cd Agent安装包所在目录
  9. 执行以下命令,解压缩“xxx.tar”安装包。
  10. tar -xvf xxx.tar
  11. 执行以下命令,进入“install.sh”脚本所在目录。
  12. cd install.sh脚本所在目录
  13. 执行以下命令,安装Agent。
  14. sh install.sh
  15. 如果界面回显以下信息,说明安装成功。

    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语句列表将显示登录数据库操作的记录。

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

步骤七:查看审计结果

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

  1. 查看总览信息。

    在左侧导航树中,选择“总览”,进入“总览”界面。

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

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

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

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

      图7所示。

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

      图7 预览或下载报表