华为云云数据库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加密相关参数配置
参数名称 |
值 |
描述 |
---|---|---|
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证书可在界面上下载。
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)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家