root用户登录进行操作:
1 执行openssl
若提示找不到openssl.cnf文件,可将/etc/pki/tls/openssl.cnf拷贝到对应目录即可。
2 创建server.key文件
openssl genrsa -des3 -out server.key 1024
需要输入一个密码,任意4个字符以上。
还可以删除密码:openssl rsa -in server.key -out server.key
3 创建基于server.key文件的服务器证书
openssl req -new -key server.key -days 3650 -out server.crt -x509
所有内容可填可不填
4 得到自己签名的证书
为了得到自己签名的证书,把生成的服务器证书作为受信任的根证书,复制并取个合适的名字,例如:
cp server.crt root.crt
openssl req -new -text -out server.req
openssl rsa -in privkey.pem -out server.key
openssl req -x509 -in server.req -text -key server.key -out server.crt
chmod 600 server.key
5 为数据库开通ssl访问
mv server.crt server.key $DATA (GP的话,只需要放在/data/master/gpseg-1/下)
修改master的postgresql.conf文件
ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
修改master的pg_hba.conf文件,使连接需要通过hostssl。
重启数据库
抓包客户端到master的内容,tcpdump在master上启动
执行操作的客户端不能在master上,需要通过-h远程连接,否则抓不到内容。