华为云云数据库rdsSSL加密相关配置_云淘科技

创建RDS for PostgreSQL实例时默认开启SSL,实例创建完成后,不支持关闭。使用SSL加密通信可确保客户端和服务器之间的所有通信都经过加密,防止数据被泄露和篡改,确保数据的完整性。

服务端查看是否开启SSL加密

PostgreSQL实例服务端默认开启SSL,可登录数据库,使用sql命令查看:

show ssl;

如果该参数的值为“on”,则表示服务端SSL连接已启用。
如果该参数的值为“off”,则表示服务端SSL连接未启用。

服务端SSL默认开启,不支持关闭。

客户端查看是否开启SSL加密

客户端是否使用SSL加密,可通过以下方式查看:

使用psql连接数据库时,连接成功后出现如下信息:

SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)

protocol表示SSL连接协议是TLSv1.2。
cipher表示使用SSL连接的加密算法为ECDHE-RSA-AES256-GCM-SHA384。
bits表示密钥长度为256位。

可以通过查询“pg_stat_ssl”视图来查看客户端连接是否使用SSL。如果客户端使用SSL连接,则该视图中会显示相应的连接信息。

SELECT * FROM pg_stat_ssl;

该查询将返回所有当前SSL连接的统计信息,包括连接的进程ID、客户端IP地址、SSL协议版本、SSL加密算法、客户端证书的有效性和到期时间等。如果客户端连接使用SSL,则可以在该视图中看到相关信息。

服务端SSL加密相关参数配置

表1 服务端SSL加密相关参数

参数名称

描述

ssl

on

默认启用SSL连接,不可修改

ssl_cert_file

/CA/server.pem

SSL服务器证书文件的位置,不可修改

ssl_ciphers

ALL:!ADH:!LOW:!EXP:!MD5:!3DES:!DES:@STRENGTH;

指定一个SSL密码列表,用于安全连接。用户可根据安全要求进行修改。推荐使用 EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EDH+aRSA+AESGCM:EDH+aDSS+AESGCM:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!SRP:!RC4

ssl_key_file

/CA/server.key

SSL服务器私钥文件的位置,不可修改

ssl_min_protocol_version

TLSv1.2

设置要使用的最小SSL/TLS协议版本,用户可根据安全要求进行修改,推荐使用TLSv1.2及以上版本。

客户端SSL加密相关参数配置

PostgreSQL数据库开启SSL加密后,表示允许客户端通过SSL连接数据库。

在客户端连接数据库时,可根据不同场景选择“sslmode”参数取值。

客户端使用SSL连接时,“sslmode”选择“allow”、“prefer”、“Require”、“Verify-CA”或“Verify-Full”。默认值是“prefer”。
客户端不使用SSL连接时,“sslmode”选择“Disable”。

当“sslmode”取值为“Verify-CA”或“Verify-Full”时,需要配置“Root certificate”参数,表示数据库CA证书的路径,CA证书可在界面上下载。

表2 sslmode参数值说明

sslmode参数值

说明

disable

客户端不使用SSL连接。

allow

客户端将尝试建立SSL/TLS连接,但如果服务器不支持SSL/TLS连接,客户端将以普通文本方式连接。

prefer

默认模式,客户端将首先尝试建立SSL连接,如果服务器不支持SSL连接,则以普通文本方式连接。

require

客户端只尝试SSL连接,只对数据链路加密,并不验证服务器证书的有效性。

verify-ca

客户端使用SSL加密连接到服务器,并验证服务器证书的有效性。

verify-full

客户端使用SSL加密连接到服务器,并验证服务器证书的有效性,同时比对证书内的CN或DNS与连接时配置的数据库连接地址是否一致。

相关操作

通过JDBC连接RDS for PostgreSQL实例

通过psql命令行内网连接实例

通过psql命令行公网连接实例

父主题: 连接管理

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家