PostgreSQL 用户及授权管理 06:启用 SSL 及验证
安全在外企中是非常受重视的,一般外企都会要求所有可以使用加密的地方都使用加密。本小节我们启用 PostgreSQL 的 SSL 加密连接并进行抓包验证。
SSL 连接加密
安全套接字层 (SSL) 允许 PostgreSQL 接受加密的网络连接,这意味着每个数据包中的每一条数据都经过加密,因此我们要处理好密钥及合适的证书。
为了启用 SSL 扩展,我们首先需要配置服务器,然后接受传入的 SSL 连接,最后检测及验证客户端以 SSL 模式进行连接。
生成相关的证书
证书分为手工创建及自签名及从证书厂商那里购买证书。手工创建的证书适合在测试环境中使用,如果是在生产环境,那么建议购买付费的证书。证书是有有效期的,一般是免费的证书的有效期大概是 3 个月,付费的证书有效期一般是 1 年。接下来我们就介绍这两种类型的证书。
通过 openssl 的方式创建证书
接下来我们使用 openssl
来生成证书,或者在证书网站上面进行购买专业的证书。
[root@developing ~]# su - lavenliu
# 进入 PGDATA 目录,这里大家的目录可能与我的不一样
# 可以根据实际情况进行修改
[lavenliu@developing ~]$ cd $PGDATA
[lavenliu@developing data]$ mkdir ssl
[lavenliu@developing data]$ cd ssl
[lavenliu@developing ssl]$ openssl req -new -x509 -nodes -out mypg.lavenliu.cn.pem -keyout mypg.lavenliu.cn.key -days 365
.....+.+.........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+..+....+...+..+......+..........+..+.+......+......+........+.+...............+...+.....+......+.+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+.......+......+...........+....+..+...+....+...+.....+...+..........+......+.....+.........................+...+..+.+...+..+...+..........+..+..................+.+........+...+....+...+...+...+.....+.+......+.....+.......+..+........................+....+.....+.+...........+....+..+............+.......+