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

    从CA认证中心申请到正式的服务器、客户端的证书和密钥。(假设服务器的私钥为server.key,证书为server.crt,客户端的私钥为client.key,证书为client.crt,CA根证书名称为cacert.pem。)

    • 当用户远程连接到数据库主节点时,需要使用sha256的认证方式。
    • 当内部服务器之间连接时,需要使用trust的认证方式,支持IP白名单认证。

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

    配置SSL认证相关的数字证书参数,具体要求请参见。

    • 配置客户端参数。

      已从CA认证中心申请到客户端默认证书,私钥,根证书以及私钥密码加密文件。假设证书、私钥和根证书都放在“/home/omm”目录。

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

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

      1. export PGSSLROOTCERT="/home/omm/cacert.pem"
    • 修改客户端密钥的权限。

      客户端根证书,密钥,证书以及密钥密码加密文件的权限,需保证权限为600。如果权限不满足要求,则客户端无法以SSL连接到openGauss。

    表 1 认证方式

    在服务器端的postgresql.conf文件中配置相关参数,详细信息请参见。

    表 2 服务器参数

    在客户端配置SSL认证相关的环境变量,详细信息请参见。

    表 3 客户端参数

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

    SSL传输支持一系列不同强度的加密和认证算法。用户可以通过修改postgresql.conf中的ssl_ciphers参数指定数据库服务器使用的加密算法。目前本产品SSL支持的加密算法如表4所示。

    表 4 加密算法