更新时间:2022-08-16 GMT+08:00

(可选)设置SSL连接

GaussDB(DWS) 支持SSL认证方式的连接,以加密GaussDB(DWS) 客户端与数据库之间传输的数据。SSL连接方式的安全性高于普通模式,集群默认开启SSL功能允许来自客户端的SSL连接或非SSL连接,从安全性考虑,建议用户在客户端使用SSL连接方式。如果要强制使用SSL连接,需要为集群开启“服务器端是否强制使用SSL连接”

在集群的“安全设置”页面可以设置是否开启“服务器端是否强制使用SSL连接”

  • 修改安全配置参数并保存生效可能需要重启集群,将导致集群暂时不可用。
  • 修改集群安全配置必须同时满足以下两个条件:
    • 集群状态为“可用”“非均衡”
    • 任务信息不能处于“创建快照中”“节点扩容”“配置中”“重启中”

本章节为您介绍以下内容:

设置SSL连接

  1. 登录GaussDB(DWS) 管理控制台。
  2. 在左侧导航树中,单击“集群管理”
  3. 在集群列表中,单击指定集群的名称,然后单击“安全设置”

    默认显示“配置状态”“已同步”,表示页面显示的是数据库当前最新结果。

  4. “SSL连接”区域中,单击“服务器端是否强制使用SSL连接”的设置开关进行设置,建议开启。

    :开启,表示服务器端强制要求SSL连接。

    :关闭,表示服务器端对是否通过SSL连接不作强制要求,默认为关闭。

    • 如果使用GaussDB(DWS) 提供的gsql客户端或ODBC驱动,GaussDB(DWS) 支持的SSL协议为TLSv1.2。
    • 如果使用GaussDB(DWS) 提供的JDBC驱动,支持的SSL协议有SSLv3、TLSv1、TLSv1.1、TLSv1.2。客户端与数据库之间实际使用何种SSL协议,依赖客户端使用的JDK(Java Development Kit)版本,一般JDK支持多个SSL协议。

  5. 单击“应用”

    系统将自动应用保存SSL连接设置,在“安全设置”页面,“配置状态”显示“应用中”。当“配置状态”显示为“已同步”,表示配置已保存生效。

客户端和服务器端SSL连接参数组合情况

客户端最终是否使用SSL加密连接方式、是否验证服务器证书,取决于客户端参数sslmode与服务器端(即GaussDB(DWS) 集群侧)参数ssl、require_ssl。参数说明如下:

  • ssl(服务器)
    ssl参数表示是否开启SSL功能。on表示开启,off表示关闭。
    • 对于集群版本高于1.3.1(包括1.3.1)的集群,默认为on,不支持在GaussDB(DWS) 管理控制台上设置。
    • 对于集群版本低于1.3.1的集群,默认为on。ssl参数可通过GaussDB(DWS) 管理控制台上集群的“安全设置”页面中的“SSL连接”进行设置。
  • require_ssl(服务器)
    require_ssl参数是设置服务器端是否强制要求SSL连接,该参数只有当ssl为on时才有效。on表示服务器端强制要求SSL连接。off表示服务器端对是否通过SSL连接不作强制要求。
    • 对于集群版本高于1.3.1(包括1.3.1)的集群,默认为off。require_ssl参数可通过GaussDB(DWS) 管理控制台上集群的“安全设置”页面中的“服务器端是否强制使用SSL连接”进行设置。
    • 对于集群版本低于1.3.1的集群,默认为off,不支持在GaussDB(DWS) 管理控制台上设置。
  • sslmode(客户端)
    可在SQL客户端工具中进行设置。
    • 在gsql命令行客户端中,为“PGSSLMODE”参数。
    • 在Data Studio客户端中,为“SSL模式”参数。

客户端参数sslmode与服务器端参数ssl、require_ssl配置组合结果如下:

表1 客户端与服务器端SSL参数组合结果

ssl(服务器)

sslmode(客户端)

require_ssl(服务器)

结果

on

disable

on

由于服务器端要求使用 SSL,但客户端针对该连接禁用了 SSL,因此无法建立连接。

disable

off

连接未加密。

allow

on

连接经过加密。

allow

off

连接未加密。

prefer

on

连接经过加密。

prefer

off

连接经过加密。

require

on

连接经过加密。

require

off

连接经过加密。

verify-ca

on

连接经过加密,且验证了服务器证书。

verify-ca

off

连接经过加密,且验证了服务器证书。

off

disable

on

连接未加密。

disable

off

连接未加密。

allow

on

连接未加密。

allow

off

连接未加密。

prefer

on

连接未加密。

prefer

off

连接未加密。

require

on

由于客户端要求使用 SSL,但服务器端禁用了 SSL,因此无法建立连接。

require

off

由于客户端要求使用 SSL,但服务器端禁用了 SSL,因此无法建立连接。

verify-ca

on

由于客户端要求使用 SSL,但服务器端禁用了 SSL,因此无法建立连接。

verify-ca

off

由于客户端要求使用 SSL,但服务器端禁用了 SSL,因此无法建立连接。