• 沒有找到結果。

4.3 使用 gsql 命令行客户端连接集群

4.3.4 使用 SSL 进行安全的 TCP/IP 连接

如果客户端或JDBC/ODBC应用程序要使用SSL连接方式,用户必须在客户端或应用程 序代码中配置相关的SSL连接参数。GaussDB(DWS) 管理控制台提供了客户端所需的 SSL证书,该SSL证书包含了客户端所需的默认证书、私钥、根证书以及私钥密码加密 文件。请将该SSL证书下载到客户端所在的主机上,然后在客户端中指定证书所在的路 径。

说明

使用默认的证书可能存在安全风险,为了提高系统安全性,强烈建议用户定期更换证书以避免被 破解的风险。如果需要更换证书,请联系客服。

了解SSL证书的更多信息,请参见(可选)下载SSL证书。本章节主要介绍以下内容:

● 在gsql客户端配置SSL认证相关的数字证书参数

SSL认证方式及客户端参数介绍

gsql 客户端配置 SSL 认证相关的数字证书参数

GaussDB(DWS) 在集群部署完成后,默认已开启SSL认证模式。服务器端证书,私钥 以及根证书已经默认配置完成。用户需要配置客户端的相关参数。

步骤1 登录GaussDB(DWS) 管理控制台,进入“连接管理”页面,下载SSL证书。

关于SSL证书的更多信息,请参见(可选)下载SSL证书。

4-6 SSL 证书下载

步骤2 使用文件传输工具(例如WinSCP工具)将SSL证书上传到客户端主机。

例如,将下载的证书“dws_ssl_cert.zip”存放到“/home/dbadmin/dws_ssl/”目录 下。

步骤3 使用SSH远程连接工具(例如PuTTY)登录gsql客户端主机,然后执行以下命令进入 SSL证书的存放目录,并解压SSL证书:

cd /home/dbadmin/dws_ssl/

unzip dws_ssl_cert.zip

步骤4 在gsql客户端主机上,执行export命令,配置SSL认证相关的数字证书参数。

SSL认证有两种认证方式:双向认证和单向认证,认证方式不同用户所需配置的客户端 环境变量也不同,详细介绍请参见SSL认证方式及客户端参数介绍。

双向认证需配置如下参数:

export PGSSLCERT="/home/dbadmin/dws_ssl/sslcert/client.crt"

export PGSSLKEY="/home/dbadmin/dws_ssl/sslcert/client.key"

export PGSSLMODE="verify-ca"

export PGSSLROOTCERT="/home/dbadmin/dws_ssl/sslcert/cacert.pem"

单向认证需要配置如下参数:

export PGSSLMODE="verify-ca"

export PGSSLROOTCERT="/home/dbadmin/dws_ssl/sslcert/cacert.pem"

须知

chmod 600 client.key chmod 600 client.crt chmod 600 client.key.cipher chmod 600 client.key.rand chmod 600 cacert.pem

----结束

● PGSSLCER T

● PGSSLKEY

● PGSSLRO OTCERT

● PGSSLMO DE

认证方

● PGSSLRO OTCERT

● PGSSLMO DE

客户端环境变量的路径以“/home/dbadmin/dws_ssl/”为例,在实际操作中请使用实际路径进 行替换。

export PGSSLCERT='/home/dbadmin/dws_ssl/sslcert/

client.crt'

export PGSSLKEY='/home/dbadmin/dws_ssl/sslcert/

client.key'

默认值:空

环境变

● disable:只尝试非SSL连接。

● allow:首先尝试非SSL连接,如果连接失 败,再尝试SSL连接。

● prefer:首先尝试SSL连接,如果连接失 败,将尝试非SSL连接。

● require:只尝试SSL连接。如果存在CA文 件,则按设置成verify-ca的方式验证。

● verify-ca:只尝试SSL连接,并且验证服务 器是否具有由可信任的证书机构签发的证 书。

● verify-full:GaussDB(DWS) 不支持此模 式。

export PGSSLROOTCERT='/home/dbadmin/dws_ssl/sslcert/

certca.pem'

export PGSSLCRL='/home/dbadmin/dws_ssl/sslcert/sslcrl-file.crl'

默认值:空

4.3.5 (可选)设置 SSL 连接

GaussDB(DWS) 支持SSL认证方式的连接,以加密GaussDB(DWS) 客户端与数据库之 间传输的数据。SSL连接方式的安全性高于普通模式,集群默认开启SSL功能允许来自

● 设置SSL连接

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

设置 SSL 连接

步骤1 登录GaussDB(DWS) 管理控制台。

步骤2 在左侧导航树中,单击“集群管理”。

步骤3 在集群列表中,单击指定集群的名称,然后单击“安全设置”。

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

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

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

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

4-7 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配置组合结果如下:

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 连接未加密。

ssl

prefer off 连接未加密。

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

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

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

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

4.3.6 (可选)下载 SSL 证书

GaussDB(DWS) 支持SSL标准协议(TLS 1.2),SSL协议是安全性更高的协议标准,

它们加入了数字签名和数字证书来实现客户端和服务器的双向身份验证,保证了通信 双方更加安全的数据传输。为支持SSL连接方式,GaussDB(DWS) 已经从CA认证中心 申请到正式的服务器、客户端的证书和密钥(假设服务器的私钥为server.key,证书为 server.crt,客户端的私钥为client.key,证书为client.crt,CA根证书名称为

cacert.pem。)。

GaussDB(DWS) 集群(即服务器端)默认已开启SSL功能允许来自客户端的SSL连接或 非SSL连接,并且,GaussDB(DWS) 服务器端的证书、私钥以及根证书已经默认配置 完成。

如果客户端或JDBC/ODBC应用程序要使用SSL连接方式,用户必须在客户端或应用程 序代码中配置相关的SSL连接参数。GaussDB(DWS) 管理控制台提供了客户端所需的 SSL证书,该SSL证书包含了客户端所需的默认证书、私钥、根证书以及私钥密码加密

步骤1 登录GaussDB(DWS) 管理控制台。

步骤2 在左侧导航栏中,单击“连接管理”。

步骤3 在“下载驱动程序”区域,单击“下载SSL证书”进行下载。

4-8 下载 SSL 证书

----结束