数据库安全服务容器化部署数据库安全审计Agent

场景说明

数据库安全审计支持批量部署流量采集Agent,针对大规模业务场景(容器化部署应用、数据库(RDS关系型数据库)数量大),能够显著提升产品配置的效率,降低配置的复杂度,减少运维人员的日常维护压力。

数据库安全审计工作原理

数据库安全审计采用旁路部署模式,通过在访问数据库的应用系统服务器上部署数据库审计Agent,获取访问日志数据用于日志审计,实现对RDS关系型数据库的审计。

添加数据库并导出数据库配置

按照以下步骤您可以将待审计的数据库添加至数据库安全审计实例并开启数据库的审计功能,开启审计功能后再将数据库配置导入OBS桶。

  • 约束与限制

    1在添加数据库前,您需要梳理集群工作负载中绑定的数据库,并注意以下规则:

    1. 相同的数据库不能同时添加在多个不同审计实例上
    2. 同一个工作负载所访问的数据库,必须添加在同一个审计实例中
    3. 多个工作负载所访问的数据库有交集时,这些工作负载所访问的所有数据库必须添加在同一个审计实例中。

    2数据库安全审计实例配置有如下变动时,您必须重新“导出数据库配置”并重新“导入对象存储卷”和“添加云存储”。

    变动包括:购买数据库安全审计实例、添加数据库、删除数据库。

    3.使用数据库安全审计需要关闭数据库的SSL。

    1在添加数据库前,您需要梳理集群工作负载中绑定的数据库,并注意以下规则:

    1. 相同的数据库不能同时添加在多个不同审计实例上
    2. 同一个工作负载所访问的数据库,必须添加在同一个审计实例中
    3. 多个工作负载所访问的数据库有交集时,这些工作负载所访问的所有数据库必须添加在同一个审计实例中。

    2数据库安全审计实例配置有如下变动时,您必须重新“导出数据库配置”并重新“导入对象存储卷”和“添加云存储”。

    变动包括:购买数据库安全审计实例、添加数据库、删除数据库。

    3.使用数据库安全审计需要关闭数据库的SSL。

  • 添加数据库并开启审计

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

    购买数据库安全审计的详细操作请参见:购买数据库安全审计

    1.登录管理控制台。

    2.在页面上方选择“区域”后,单击页面左上方的,选择“安全与合规 > 数据库安全服务”,进入数据库安全审计“总览”界面。

    3.在左侧导航树中,选择“数据库列表”,进入数据库列表界面。

    4.在“选择实例”下拉列表框中,选择需要添加数据库的实例,并单击“添加数据库”。

    5.在弹出的对话框中,按表1所示信息填写数据库参数,如图1所示。

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

    6.单击“确定”,该数据库添加到数据库列表中,且“审计状态”为“已关闭”。

    7.在该数据库所在行的“操作”列,单击“开启”,开启审计功能。

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

    购买数据库安全审计的详细操作请参见:购买数据库安全审计。

    1.登录管理控制台。

    2.在页面上方选择“区域”后,单击页面左上方的,选择“安全与合规 > 数据库安全服务”,进入数据库安全审计“总览”界面。

    3.在左侧导航树中,选择“数据库列表”,进入数据库列表界面。

    4.在“选择实例”下拉列表框中,选择需要添加数据库的实例,并单击“添加数据库”。

    5.在弹出的对话框中,按表1所示信息填写数据库参数,如图1所示。

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

    6.单击“确定”,该数据库添加到数据库列表中,且“审计状态”为“已关闭”。

    7.在该数据库所在行的“操作”列,单击“开启”,开启审计功能。

  • 导出数据库配置

    开启审计功能后,您需要将数据库配置导入OBS桶。

    1.在左侧导航树中,选择“实例列表”,进入“实例列表”界面。

    2.单击“导出数据库配置”。

    须知:

    “导出数据库配置”为隐藏按钮,请在“实例列表”界面的访问链接后面添加“?exportCfg”,添加完成后,按“Enter”进行访问。

    数据库配置包含:待审计数据库配置信息和数据库安全审计Agent。

    3.在弹出的对话框中,单击“确定”,同意授权。

    4.同意授权后,DBSS将在对象存储服务为您创建名为“dbss-audit-agent-{projectid}”的桶。

    说明:

    数据库安全审计实例配置有如下变动时,您必须重新导出数据库配置。

    变动包括:购买数据库安全审计实例、添加数据库、删除数据库。

    开启审计功能后,您需要将数据库配置导入OBS桶。

    1.在左侧导航树中,选择“实例列表”,进入“实例列表”界面。

    2.单击“导出数据库配置”。

    须知:

    “导出数据库配置”为隐藏按钮,请在“实例列表”界面的访问链接后面添加“?exportCfg”,添加完成后,按“Enter”进行访问。

    数据库配置包含:待审计数据库配置信息和数据库安全审计Agent。

    3.在弹出的对话框中,单击“确定”,同意授权。

    4.同意授权后,DBSS将在对象存储服务为您创建名为“dbss-audit-agent-{projectid}”的桶。

    说明:

    数据库安全审计实例配置有如下变动时,您必须重新导出数据库配置。

    变动包括:购买数据库安全审计实例、添加数据库、删除数据库。


在CCE集群节点中安装Agent

  • 导入对象存储卷

    导出数据库配置后,您需要为待审计数据库连接的集群在对象存储卷中导入数据库配置(dbss-audit-agent-{projectid}),用于Agent容器工作负载的云存储中,实现批量部署数据库安全审计Agent。

    准备工作

    为了确保挂载方式使用对象存储桶的可靠性和稳定性,请在创建对象存储前先配置密钥。详细操作步骤请参见:配置密钥

    操作步骤

    1.登录管理控制台。

    2.在页面上方选择“区域”后,单击,选择“容器 > 云容器引擎”,进入云容器引擎“总览”界面。

    3.在左侧导航树中选择“资源管理 > 存储管理”,选择“对象存储卷”页签,单击“导入”。

    4.在弹出的“导入对象存储”对话框中,从列表里选择要导入的对象存储(dbss-audit-agent-{projectid})。

    5.选择需要导入的对象存储的集群和命名空间。

    6.单击“确定”。

    在对象存储卷列表中,会新创建一条对象存储卷。

    说明:当数据库配置有变动时,您需要重新导出数据库配置、导入对象存储和挂载云存储。

    导出数据库配置后,您需要为待审计数据库连接的集群在对象存储卷中导入数据库配置(dbss-audit-agent-{projectid}),用于Agent容器工作负载的云存储中,实现批量部署数据库安全审计Agent。

    准备工作

    为了确保挂载方式使用对象存储桶的可靠性和稳定性,请在创建对象存储前先配置密钥。详细操作步骤请参见:配置密钥。

    操作步骤

    1.登录管理控制台。

    2.在页面上方选择“区域”后,单击,选择“容器 > 云容器引擎”,进入云容器引擎“总览”界面。

    3.在左侧导航树中选择“资源管理 > 存储管理”,选择“对象存储卷”页签,单击“导入”。

    4.在弹出的“导入对象存储”对话框中,从列表里选择要导入的对象存储(dbss-audit-agent-{projectid})。

    5.选择需要导入的对象存储的集群和命名空间。

    6.单击“确定”。

    在对象存储卷列表中,会新创建一条对象存储卷。

    说明:当数据库配置有变动时,您需要重新导出数据库配置、导入对象存储和挂载云存储。


  • 创建配置项

    用于存储工作负载所需待审计的数据库信息,在Agent容器工作负载中作为文件使用。

    操作步骤

    1.在左侧导航树中,选择“配置中心 > 配置项”,单击“创建配置项”。

    2.在“创建配置项”页面中,设置配置参数。

    说明:

    若还需要为VPC配置,则单击“添加更多配置数据”,输入“键”、“值”。

    键:vpc_config

    值:工作负载所属的CCE集群的vpc id

    3.单击“创建”。

    用于存储工作负载所需待审计的数据库信息,在Agent容器工作负载中作为文件使用。

    操作步骤

    1.在左侧导航树中,选择“配置中心 > 配置项”,单击“创建配置项”。

    2.在“创建配置项”页面中,设置配置参数。

    说明:

    若还需要为VPC配置,则单击“添加更多配置数据”,输入“键”、“值”。

    键:vpc_config

    值:工作负载所属的CCE集群的vpc id

    3.单击“创建”。

  • 创建Agent守护进程集工作负载

    配置项创建完成后,您需要把数据库安全审计Agent和待审计数据库信息部署到创建的Agent守护进程集中,使待审计的数据库成功连接到数据库安全审计实例,开启数据库安全审计功能。

    创建Agent守护进程集

    1.在左侧导航树中,选择“工作负载 > 守护进程集”,单击“创建守护进程集”。

    2.设置工作负载基本信息。

    3.单击“下一步,容器设置 > 添加容器”,在弹出的对话框中,选择“开源镜像中心 > centos”,选择后单击“确认”。

    4.设置“centos”镜像参数。

    a.展开“基本信息”页签,“镜像版本”选择“centos7.5.1804”,其他保持默认即可。

    若所在区域暂不支持选择“centos7.5.1804”版本,请参照更换镜像版本变更为目标镜像版本。

    b.展开“生命周期”页签,设置容器启动和运行时需要的命令。输入以下参数,其他保持默认。

    启动命令:容器启动时执行的命令。

    /bin/bash

    -c

    while true; do sleep 10; done;

    启动后处理:容器成功运行后执行的命令。

    处理方式:根据您实际的CPU架构类型选择对应的安装包并执行如下命令

    CPU为X86架构,请执行如下命令:

    /bin/bash

    -c

    tar xvf /tmp/dbss/agent/audit_agent-x86_64-linux-cce.tar.gz -C /opt;/opt/dbss_agent/install.sh;rm -rf /opt/dbss_agent

    CPU为ARM架构,请执行如下命令:

    /bin/bash

    -c

    tar xvf /tmp/dbss/agent/audit_agent-aarch64-linux-cce.tar.gz -C /opt;/opt/dbss_agent/install.sh;rm -rf /opt/dbss_agent

    c.展开“数据存储”页签,为容器挂载额外存储。

    1.选择“本地磁盘”页签,单击“添加本地磁盘”,在弹出的对话框中,输入以下参数,其他保持默认.

    存储类型:配置项。

    配置项:创建配置项中创建的配置项名称。

    挂载路径:挂载配置文件到指定容器目录(/tmp/dbss/db)。

    2.单击“确定”

    3.选择“云存储”页签,单击“添加云存储”,在弹出的对话框中,输入以下参数,其他保持默认。

    1. 云存储类型:对象存储
    2. 分配方式:使用已有存储
    3. 云存储名称:导入对象存储卷中创建的对象存储PVC名称。
    4. 挂载路径:将数据存储挂载到容器上的路径(/tmp/dbss/agent)

    4.单击“确定”。

    说明:

    当数据库配置有变动时,您需要重新挂载云存储并卸载之前配置的云存储。

    操作步骤:单击工作负载名称,进入工作负载详细信息界面,选择“更新升级 > 高级设置 > 数据存储 > 云存储 > 添加云存储”,添加云存储。

    5.工作负载访问设置和高级设置不需要配置,单击“下一步:工作负载访问设置 > 下一步:高级设置 > 创建”,完成创建守护进程工作负载。

    6.完成创建后,请返回“工作负载 > 守护进程集”界面,在工作负载列表的“操作”列,单击“更多 > 编辑YAML”。

    7.在弹出的“编辑YAML”对话框中,请在spec.template.spec字段后面添加“hostNetwork: true”。

    8.单击“修改”,完成编辑YAML。

    9.查看守护进程集工作负载状态。

    在工作负载列表中,当工作负载的状态为“运行中”时,表示Agent容器工作负载创建成功。

    10.等待2~3分钟,部署生效后返回数据库安全服务控制台。查看Agent状态。

    在“数据库列表 > Agent列表”中,当“Agent”“通用”为“是”;“运行状态为”“正在运行”时,如图9所示,表示Agent与数据库安全审计实例连接成功。

    更换镜像版本

    若所在区域暂不支持“centos7.5.1804”版本,请参照以下步骤更换为目标镜像版本“centos7.5.1804”。

    1.配置镜像名称

    a.在管理控制台选择“容器 > 容器镜像服务”进入容器镜像服务界面(建议新打开一个窗口进行配置)。

    b.在左侧导航树中,选择“镜像资源 > 镜像中心”,进入“镜像中心”界面。

    c.单击“镜像加速器”,在弹出的“镜像加速器”弹框中,复制加速器地址(不需要“https://”),并在地址尾端添加“/library/centos:centos7.5.1804”。

    例如:7b01ab6xxxxfb06b2.mirror.swr.myhuaweicloud.com/library/centos:centos7.5.1804

    2.更换镜像版本

    a.返回设置“centos”镜像参数界面。

    b.单击“镜像名称”栏的“更换镜像”,在弹出的“选择镜像”弹框中,选择“第三方镜像”页签。

    c.在“镜像名称”的输入框中输入镜像名称。

    d.单击“确定”。

    配置项创建完成后,您需要把数据库安全审计Agent和待审计数据库信息部署到创建的Agent守护进程集中,使待审计的数据库成功连接到数据库安全审计实例,开启数据库安全审计功能。

    创建Agent守护进程集

    1.在左侧导航树中,选择“工作负载 > 守护进程集”,单击“创建守护进程集”。

    2.设置工作负载基本信息。

    3.单击“下一步,容器设置 > 添加容器”,在弹出的对话框中,选择“开源镜像中心 > centos”,选择后单击“确认”。

    4.设置“centos”镜像参数。

    a.展开“基本信息”页签,“镜像版本”选择“centos7.5.1804”,其他保持默认即可。

    若所在区域暂不支持选择“centos7.5.1804”版本,请参照更换镜像版本变更为目标镜像版本。

    b.展开“生命周期”页签,设置容器启动和运行时需要的命令。输入以下参数,其他保持默认。

    启动命令:容器启动时执行的命令。

    /bin/bash

    -c

    while true; do sleep 10; done;

    启动后处理:容器成功运行后执行的命令。

    处理方式:根据您实际的CPU架构类型选择对应的安装包并执行如下命令

    CPU为X86架构,请执行如下命令:

    /bin/bash

    -c

    tar xvf /tmp/dbss/agent/audit_agent-x86_64-linux-cce.tar.gz -C /opt;/opt/dbss_agent/install.sh;rm -rf /opt/dbss_agent

    CPU为ARM架构,请执行如下命令:

    /bin/bash

    -c

    tar xvf /tmp/dbss/agent/audit_agent-aarch64-linux-cce.tar.gz -C /opt;/opt/dbss_agent/install.sh;rm -rf /opt/dbss_agent

    c.展开“数据存储”页签,为容器挂载额外存储。

    1.选择“本地磁盘”页签,单击“添加本地磁盘”,在弹出的对话框中,输入以下参数,其他保持默认.

    存储类型:配置项。

    配置项:创建配置项中创建的配置项名称。

    挂载路径:挂载配置文件到指定容器目录(/tmp/dbss/db)。

    2.单击“确定”

    3.选择“云存储”页签,单击“添加云存储”,在弹出的对话框中,输入以下参数,其他保持默认。

    1. 云存储类型:对象存储
    2. 分配方式:使用已有存储
    3. 云存储名称:导入对象存储卷中创建的对象存储PVC名称。
    4. 挂载路径:将数据存储挂载到容器上的路径(/tmp/dbss/agent)

    4.单击“确定”。

    说明:

    当数据库配置有变动时,您需要重新挂载云存储并卸载之前配置的云存储。

    操作步骤:单击工作负载名称,进入工作负载详细信息界面,选择“更新升级 > 高级设置 > 数据存储 > 云存储 > 添加云存储”,添加云存储。

    5.工作负载访问设置和高级设置不需要配置,单击“下一步:工作负载访问设置 > 下一步:高级设置 > 创建”,完成创建守护进程工作负载。

    6.完成创建后,请返回“工作负载 > 守护进程集”界面,在工作负载列表的“操作”列,单击“更多 > 编辑YAML”。

    7.在弹出的“编辑YAML”对话框中,请在spec.template.spec字段后面添加“hostNetwork: true”。

    8.单击“修改”,完成编辑YAML。

    9.查看守护进程集工作负载状态。

    在工作负载列表中,当工作负载的状态为“运行中”时,表示Agent容器工作负载创建成功。

    10.等待2~3分钟,部署生效后返回数据库安全服务控制台。查看Agent状态。

    在“数据库列表 > Agent列表”中,当“Agent”“通用”为“是”;“运行状态为”“正在运行”时,如图9所示,表示Agent与数据库安全审计实例连接成功。

    更换镜像版本

    若所在区域暂不支持“centos7.5.1804”版本,请参照以下步骤更换为目标镜像版本“centos7.5.1804”。

    1.配置镜像名称。

    a.在管理控制台选择“容器 > 容器镜像服务”进入容器镜像服务界面(建议新打开一个窗口进行配置)。

    b.在左侧导航树中,选择“镜像资源 > 镜像中心”,进入“镜像中心”界面。

    c.单击“镜像加速器”,在弹出的“镜像加速器”弹框中,复制加速器地址(不需要“https://”),并在地址尾端添加“/library/centos:centos7.5.1804”。

    例如:7b01ab6xxxxfb06b2.mirror.swr.myhuaweicloud.com/library/centos:centos7.5.1804

    2.更换镜像版本。

    a.返回设置“centos”镜像参数界面。

    b.单击“镜像名称”栏的“更换镜像”,在弹出的“选择镜像”弹框中,选择“第三方镜像”页签。

    c.在“镜像名称”的输入框中输入镜像名称。

    d.单击“确定”。


开启数据库安全审计

待审计的数据库与数据库安全审计实例连接成功后,您需要返回数据库安全服务并开启数据库安全审计。

  • 开启数据库安全审计

    操作步骤

    1. 返回数据库安全服务控制台。
    2. 在左侧导航树中,选择“数据库列表”,进入数据库列表界面。
    3. 在待开启数据库安全审计行的“操作”列,单击“开启”。

    操作步骤

    1. 返回数据库安全服务控制台。
    2. 在左侧导航树中,选择“数据库列表”,进入数据库列表界面。
    3. 在待开启数据库安全审计行的“操作”列,单击“开启”。



数据库安全服务常见问题

数据库安全服务常见问题

  • 数据库安全服务产品咨询类

    数据库安全服务支持哪些类型的数据库?

    数据库安全服务支持华为云的以下数据库:

    1. 关系型数据库(Relational Database Service,RDS)
    2. 弹性云服务器(Elastic Cloud Server ,ECS)的自建数据库
    3. 裸金属服务器(Bare Metal Server,BMS)的自建数据库
  • 数据库安全服务购买类

    购买实例时如何选择“子网”?

    需要选择与数据库同一VPC的子网。

  • 数据库安全服务审计功能类

    数据库安全审计可以跨区域使用吗?


    数据库安全审计不支持跨区域(Region)使用。待审计的数据库和购买的数据库安全审计实例必须在同一区域,您才能使用数据库安全审计功能。

    如果您购买的数据库安全审计实例在“华北-北京四”,而待审计的数据库部署在“华东-上海一”,则您将不能使用数据库安全审计功能。


  • 数据库安全服务审计Agent相关

    Agent运行时会消耗安装节点多少资源?

    Agent在运行时会消耗一定的系统资源(CPU不超过5%,内存不超过300MB),并有以下两个监控措施:

    1. 监控系统整体的CPU和内存。当CPU或内存超过设定的阈值(默认80%),Agent将停止运行,不进行流量获取。
    2. 监控Agent进程本身的CPU和内存。
  • 数据库安全服务审计操作类

    PC通过内网访问RDS(即应用端在云下)时,如何使用数据库安全审计?

    当PC通过专线内网访问RDS时,您可以将Agent安装到自建的代理端。此时,PC通过代理端访问数据库,数据库安全审计只能审计代理与后端数据库之间的访问记录,无法审计应用端与后端数据库的访问记录。

    1. 有关Agent安装节点的详细介绍,请参见如何选择数据库安全审计的Agent安装节点?


  • 数据库安全服务审计故障排查类

    告警邮件异常

    故障现象

    数据库安全审计实例功能正常,邮件收到高风险语句告警,但控制台未显示高风险SQL语句。

    告警邮件发送延迟。

    可能原因

    审计日志量超过了实例的处理能力,导致数据审计的延迟。

    处理建议

    新增DBSS实例,分担当前数据审计流量或者更改审计规则,优化缩小审计范围。

    制定自动小时备份任务,避免数据量存储磁盘达到85%触发日志清理机制。