码迷,mamicode.com
首页 > 其他好文 > 详细

PG-SSL安全配置

时间:2020-12-01 12:31:00      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:cert   x509   create   inf   客户   tmp   res   mod   需要   

配置SSL安全连接

服务端配置

服务器端需生成三个文件: root.crt(根证书)server.crt(服务器证书)server.key(服务器私钥)

生成服务器私钥文件
## 此处需输入密码,并需要再次确认输入密码
openssl genrsa -des3 -out server.pem 2048

需移除服务器私钥文件中密码

需移除密码,否则数据库重启时会出现异常

openssl rsa -in server.pem -out server.key
生成服务器证书
# 此处可以一路enter,不用输入
openssl req -new -key server.key -days 3650 -out server.crt -x509


openssl req -new -key server.key -days 3650 -out server.crt -x509 -subj ‘/C=CA/ST=British Columbia/L=Comox/O=TheBrain.ca/CN=thebrain.ca/emailAddress=info@thebrain.ca‘

说明:

Unit 说明 示例
/C= Country CN
/ST= State guangzhou
/L= Location gz
/O Organization Global Security
/OU=(optional) Organizational Unit IT Department
/CN= Common Name example
/emailAddress= Email email@example.com
生成根证书

由于没有公证机构提供,只能使用自签名证书,因此可以将服务器证书作为根证书

cp server.crt root.crt
检查确认server.key文件权限
ls -l server.key

chown postgres:postgres server.key
chmod 600 server.key

错误信息:

private key file "server.key" has group or world access
File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root.
开启postgresql.conf文件参数配置属性
ssl = on
ssl_ca_file = ‘root.crt‘
ssl_cert_file = ‘server.crt‘
ssl_key_file = ‘server.key‘
pg_hba.conf文件禁止用户以非SSL连接数据库
hostssl all         postgres    0.0.0.0/0             md5 clientcert=1
重启postgres服务
pg_ctl stop
pg_ctl start
使用SSL连接验证登录
psql "sslmode=require host=localhost dbname=postgres"
客户端配置

客户端需要三个文件: root.crt(根证书)postgresql.crt(客户端证书)postgresql.key(客户端私钥)

生成客户端私钥
## 此处需输入密码,并需要再次确认输入密码
openssl genrsa -des3 -out postgresql.pem 2048
移除密码
openssl rsa -in postgresql.pem -out postgresql.key
生成客户端csr文件
# Common Name (e.g. server FQDN or YOUR name) []:postgres该项必须设置为要连接postgresql数据库的用户名,否则会默认使用当前计算机的用户名,导致证书使用时,认证失败。
openssl req -new -key postgresql.key -out postgresql.csr

or
openssl req -new -key /tmp/postgresql.key -out /tmp/postgresql.csr -subj ‘/C=CA/ST=British Columbia/L=Comox/O=TheBrain.ca/CN=www-data‘
生成客户端证书
openssl x509 -req -days 3650 -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserial
客户端SSL连接

技术图片

PG-SSL安全配置

标签:cert   x509   create   inf   客户   tmp   res   mod   需要   

原文地址:https://www.cnblogs.com/binliubiao/p/14044573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!