用户通过JDBC连接数据库服务器时,可以通过开启SSL加密客户端和服务器之间 的通讯,为敏感数据在Internet上的传输提供了一种安全保障手段。本小节主要介绍应用程序通过JDBC如何采用SSL的方式连接GBase 8c数据库。在使用本小节所描述的方法前,默认用户已经获取了服务端和客户端所需要的证书和私钥文件。
服务端配置
当开启SSL模式后,必须提供根证书、服务器证书和私钥。
配置步骤(假设用户的证书文件放在数据目录//home/gbase/data/dn1/dn1_1/下,且采用默认文件名):
步骤1 以操作系统用户gbase登录数据库主节点。
步骤2 生成并配置证书。
将生成出的文件server.crt,server.key,cacert.pem拷贝到服务端数据目录下。
使用如下命令可以查询数据库节点的数据目录,instance列为数据目录。
gs_om -t status --detail
在Unix系统上,server.crt、server.key的权限设置必须禁止任何外部或组的访问,请执 行如下命令实现这一点。
chmod 0600 server.key
步骤3 开启SSL认证模式。
gs_guc set -D /home/gbase/data/dn1/dn1_1/ -c "ssl=on"
步骤4 配置客户端接入认证参数,IP为所要连接的主机IP。
gs_guc reload -D /home/gbase/data/dn1/dn1_1/ -h "hostssl all all 127.0.0.1/32 cert"
gs_guc reload -D /home/gbase/data/dn1/dn1_1/ -h "hostssl all all IP/32 cert"
表示允许127.0.0.1/32网段的客户端以ssl认证方式连接到数据库服务器。