postgresql数据库配置ssl

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

1、生成服务器私钥
cd /var/lib/postgresql/data
openssl genrsa -des3 -out server.key 2048
此处需输入密码,并需要再次确认输入密码


2、服务器私钥生成后,需移除密码,否则数据库重启时会出现异常

openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
writing RSA key


3、生成服务器证书
 openssl req -new -key server.key -days 2650 -out server.crt -x509
 此处可以一路Enter,不用输入

4、生成根证书
由于没有公证机构提供,只能使用自签名证书,因此可以将服务器证书作为根证书
cp server.crt root.crt

5、服务器端配置
postgresql的ssl配置默认是关闭的,需更改配置文件进行开启

vi /var/lib/postgresql/data/postgresql.conf
ssl=on
ssl_ca_file='root.crt'
ssl_key_file='server.key'
ssl_cert_file='server.crt'

还需要更改服务器的pg_hba.conf文件禁止用户以非SSL连接数据库

vi /var/lib/postgresql/data/pg_hba.conf
# host all all all md5

你可能感兴趣的:(运维,linux,数据库,数据库,服务器,postgresql)