更新时间:2026-09-23 GMT+08:00

加密代理服务

加密代理服务是一种面向数据库的网络反向代理。在数据库加密系统中,当需要配置以代理(Proxy)模式进行数据加密时,首先需配置加密代理服务。

反之,当选择使用插件(Application-Plugin)模式对数据加密时,则不需要配置加密代理服务。加密代理服务逻辑架构如图1所示。

图1 加密代理服务逻辑架构

在加密系统中,一旦对数据库完成加解密配置,用户通过SQL语句直接访问数据库时,所查看的内容为密文。相对地,加密代理服务充当了一道安全屏障,它在原有数据库服务端口的基础上引入了代理服务的端口进行请求转发。在此过程中,不仅实现了数据的加解密处理,而且确保授权用户所见及所操作的数据始终为明文信息。数据库中的数据则始终保持加密状态以保障安全。

本模块的核心职责在于设置真实数据库服务与代理服务之间的连接参数,确保数据在传输过程中的安全性与准确性。

概念解释

  • 主服务器:主服务器是加密代理服务的宿主机,根据运行环境不同,主服务器是一台云主机或者一台物理主机,一个主服务器技术上可以运行几个加密代理服务。具体依赖服务器的配置以及业务的并行度、业务复杂性等因素。

    在当前版本中,不支持配置多台主服务器。

  • 加密代理服务:加密代理服务是一种面向数据库的网络反向代理服务。加密代理服务是代理模式下完成数据加解密的主要执行单元。
  • 资产库:资产库是在资产库管理模块中纳管的数据库。

约束与限制

  • 关于是否开启SSL的特别说明:为实现非侵入式旁路解析流量进行加密,因此无法使用TLS加密通道,可能存在安全风险。
  • 加密代理功能,暂不支持的数据操作方式:
    • select查询数据类型语句中,包含temp关键字暂不支持。
    • insert插入数据类型的自循环的批量插入数据;insert包含嵌套格式。
    • update更新数据类型的包含嵌套格式。
    • 加密字段不支持大小比较,如大于、小于、order by、between等。
    • 不支持函数计算操作,如AVG、MAX、MIN、SUM及计算表达式。
    • 不支持视图、触发器及存储过程操作,涉及where等条件后的‘=’比较,必须在‘=’号两端字段均做加密或者均未做加密。
    • 加密表名及字段名含有通配符的不支持进行配置加密。

新增主服务器

主服务器是加密代理服务的宿主主机,根据运行环境不同,主服务器是一台云主机或者一台物理主机。一台主服务器技术上可以支持几个加密代理服务。具体依赖服务器的配置,自业务的并行度和业务复杂性等因素。

当前版本尚不支持多台主服务器,支持多台主服务器的功能将在后续的版本中发布。因此当前一般不需要新增主服务器。

  1. 以系统管理员sysadmin账号登录数据库加密系统。
  2. 在左侧导航树中选择“加密代理服务”。
  3. 在右侧区域,单击“新增”,如图2所示。

    图2 新增加密代理服务器或代理服务

  4. 选择“新增主服务器”后,在弹窗中配置对应的服务器信息,如图3所示。配置主服务器,参数说明如表1所示。

    图3 新增主服务器
    表1 新增主服务器参数说明

    参数名称

    说明

    主服务器名称

    自定义字符串,可根据业务填写。

    机器名

    自定义字符串,可根据业务填写。

    公网IP

    非必填项,可填写该主机的公网IP。

    MAC

    非必填项,可填写该主机的MAC地址。

新增代理服务

加密代理服务是一种数据库的反向代理服务,这个服务是完成数据加解密和脱敏的主要执行单元。加密代理服务相当于一个虚拟的数据库,配置完成加密代理服务后,业务系统的数据库连接需要指向新增的代理服务。如图4所示,业务系统的数据库连接IP应该修改为数据库加密服务实例的虚拟IP,虚拟IP可在“数据库安全服务 DBSS”管理控制端获取,端口应该改为2099。

图4 代理服务实例
  1. 以系统管理员sysadmin账号登录数据库加密系统。
  2. 在左侧导航树中选择“加密代理服务”。
  3. 在右侧区域,单击“新增”,如图5所示。

    图5 新增加密代理服务器或代理服务

  4. 选择“新增代理服务”后,在弹窗中配置新增的代理服务的属性,如图6所示。配置代理服务的参数说明如表2所示。

    图6 新增代理服务
    表2 新增代理服务参数说明

    参数名称

    说明

    主服务器

    下拉选择已配置完成的主服务器。

    代理服务名称

    自定义字符串,可根据实际业务填写。

    端口号

    执行代理服务的端口号,范围为:2026-3036。

    被代理的数据库将通过这个端口对应用或者运维工具提供服务。例如:这里选择2999,则需要将业务系统数据库连接端口改成2999。

    数据库类型

    下拉选择所需的数据库类型,即被代理的数据库的数据库类型。

    如:被代理的数据库是MySQL,则选择MySQL。如果被代理的数据库是其他类型的数据库,则选择对应的数据库。

    数据资产

    下拉选择已经配置完成的数据资产(需在“资产库”模块提前配置)。如何配置一个资产库,详细操作请参见资产库。

    备注

    非必填,可填写该代理服务更多说明。

    最大内存

    当前代理服务允许分配的最大内存数量,单位是MB。允许分配的最大内存值不能大于可用内存,否则将不能创建代理服务。

    可用内存

    整个系统最大可供代理服务分配的内存,单位是MB。

    最大缓存内存

    分配给代理服务的内存中用于缓存表的字段信息、字段的加密规则、解析后的SQL等缓存所占用的内存百分比。可配置1-50之间的数值,此值取决于字段的数量,系统的SQL是否较多,可先设置为50,后期根据业务情况再调整。

  5. 单击“确定”,进行保存。

查看代理服务

当需要修改应用使用代理服务时,需要查看代理服务的相关信息。

  1. 以系统管理员sysadmin账号登录数据库加密系统。
  2. 在左侧导航树中选择“加密代理服务”,如图7所示。

    图7 加密代理服务列表

编辑或删除代理服务

调整现有服务器的配置,以适应业务需求的变化。

  1. 使用系统管理员sysadmin账号登录数据库加密系统。
  2. 在左侧导航树中选择“加密代理服务”。
  3. 查看服务器列表,单击操作列“编辑”进行编辑,如图8所示。

    图8 编辑代理服务

  4. 在弹窗中,编辑代理服务器配置信息,如图9所示。

    图9 编辑代理服务器

  5. 编辑完成后,单击“确定”进行保存。
  6. 也可以根据业务需求,删除相应的服务器信息。
  • 服务中断:加解密和脱敏操作依赖于特定的代理服务配置。如果在这些操作正在进行时编辑或删除代理服务,可能会导致相关服务中断,影响系统的正常运行。
  • 数据丢失:加解密操作涉及敏感数据的处理。如果在这些操作正在进行时编辑或删除代理服务,可能会导致相关数据无法正确解密或恢复,从而导致数据丢失。
  • 安全风险:加解密和脱敏操作涉及敏感数据的处理。如果在这些操作正在进行时编辑或删除代理服务,可能会导致安全漏洞,使敏感数据暴露在风险之中。
  • 配置错误:规则配置通常与系统的其他部分紧密集成。如果在规则配置正在进行时编辑或删除代理服务,可能会导致配置错误,影响系统的正常运行。