RDS PostgreSQL支持设置SSL链路加密,对网络连接进行加密,保证传输链路的安全。本文介绍开启SSL链路加密功能的入门配置。
背景信息
SSL(Secure Sockets Layer)指安全套接字协议,是为了安全通信、数据安全性专门设计的安全协议,SSL 3.0之后更名为TLS(Transport Layer Security)。本文以配置云端证书为例,指导您快速配置SSL链路加密。
说明 RDS PostgreSQL支持的TLS版本为1.0、1.1和1.2。
前提条件
- 实例为RDS PostgreSQL 10或以上的云盘版本。
- 已下载pgAdmin 4客户端。
注意事项
- 开启SSL链路加密后,会造成CPU使用率上升、读写时延增长。
- 开启SSL链路加密后,已有连接需要断开重连,加密才会生效。
- 开启云端证书、更改云端证书保护的连接地址或关闭SSL链路加密,将会重启您的数据库实例,用时约3分钟左右,请在业务低峰期操作。
步骤一:使用云端证书开启SSL链路加密
步骤二:下载CA证书
开启云端证书后,RDS PostgreSQL数据库提供数据库CA证书供您下载,当您通过客户端远程连接RDS PostgreSQL数据库时,使用数据库CA证书可以对数据库真伪进行校验。
- 切换证书来源为使用云端证书,单击下载CA证书。
- 解压下载的CA证书。下载的文件为压缩包,包含如下三个文件:
- p7b文件:用于Windows系统中导入CA证书。
- PEM文件:用于其他系统或应用中导入CA证书。
- JKS文件:Java中的truststore证书存储文件,密码统一为apsaradb,用于Java程序中导入CA证书链。
步骤三:客户端连接数据库
本连接示例中以pgAdmin客户端通过SSL连接RDS PostgreSQL数据库为例。
RDS PostgreSQL数据库还支持以下方式SSL远程连接:
- 启动pgAdmin 4客户端。 说明 高版本客户端首次登录需要设置Master Password用于保护保存的密码和其他凭据。
- 右键单击Servers,选择 。
- 在General页签设置连接名称。
- 选择Connection标签页,输入要连接的实例信息。
参数 说明 Host name/address RDS PostgreSQL实例的连接地址及对应的端口。 - 若通过内网连接,需输入RDS实例的内网地址和内网端口。
- 若使用外网连接,需输入RDS实例的外网地址和外网端口。
您可以在RDS PostgreSQL实例的数据库连接页面查看。更多信息,请参见查看或修改连接地址和端口。
Port Username RDS PostgreSQL实例的账号和密码。 创建RDS实例的账号请参见创建账号和数据库。
Password - 选择SSL标签页,配置SSL认证方式和证书。
参数 说明 SSL mode 为了使用SSL安全连接,请配置Require、Verify-CA或Verify-Full连接方式,参数含义如下:- Require:只对数据链路加密,并不验证数据库服务器的真实性。
- Verify-CA:加密数据链路,同时验证数据库的真实性。
- Verify-Full:加密数据链路,验证数据库的真实性,同时比对证书内的CN或DNS与连接时配置的Host name/address的一致性。
Root certificate 当SSL mode取值为Verify-CA或Verify-Full时,需要配置此参数,表示数据库CA证书路径。 说明- 本示例中,从SSL页面下载的CA证书解压路径为D:\CA\aliyunCA\,您可以将证书解压到您本地的任意位置。
- pgAdmin客户端中使用的数据库CA证书为PEM文件。
- 单击Save。若连接信息无误,会出现如下界面,则表示连接成功。警告 postgres是RDS实例默认的系统数据库,请勿在该数据库中进行任何操作。