你会开启Postgresql 的SSL单向认证 配置?

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 你会开启Postgresql 的SSL单向认证 配置?

大家好 ,我是阿萨。随着安全越来越重要,数据库的连接也开始启用SSL连接了。 有不了解SSL 连接方式的,可以参考如下文章:

HTTPS 通信原理

HTTP 常见认证方式

今天主要讲解下Postgresql 配置单向SSL 证书连接的方式。


一,什么是单向认证?


SSL 单向认证过程:客户端校验下服务器端证书的合法性就可以了。就类似你给家里的箱子上了锁,只要你有钥匙 就可以开门。不需要其他的信息。

单向认证过程,客户端不需要整证书。服务器端需要一个crt 和一个key 组合成一个证书文件。


二, 如何生成证书?


先查看下openssl 版本


openssl version

先创建key


openssl genrsa -out server.key 2048openssl genrsa -des3 -out server.key 2048

再生成crt


openssl req -new -x509 -key server.key -out server.crt -days 365


三, 如何配置Postgresql?

先找到Postgresql的data 目录


cd /var/lib/pgsql/12/data

复制server.crt 和 server.key 到对应的目录下


cp server.crt @pgData/server.crtcp server.key @pgData/server.key

修改这2个文件的权限,(一定要修改,否则等会无法重启)


chmod 600 server.*

修改这2个文件的宿主


chown postgres:postgres server.*

修改postgres.conf 文件,增加如下内容


vi postgres.confssl = on                         ssl_cert_file = 'server.crt'     ssl_key_file = 'server.key'


修改pg_hba.conf,增加如下内容:


hostssl      all    all    0.0.0.0/0    md5

然后重启postgres


systemctl restart postgresql-12


四. 客户端连接


我用的dbeaver 连接的,第一页信息和其他一样,重点是SSL 的配置:

我截图展示下:点测试成功即可。



五, SSL 连接模式介绍


sslmode 窃听保护 中间人 保护 描述
disable 不支持 不支持 我不在乎安全,我也不想支付加密的开销。
allow 可能支持 不支持

我不关心安全问题,但如果服务器坚持要加密的话,我会支付加密的开销。

prefer 可能支持 不支持 我不关心加密,但如果服务器支持加密,我愿意支付加密的开销。
require 支持 不支持 我希望我的数据被加密,我接受开销。我相信网络将确保我始终连接到我想要的服务器
verify-ca 支持 引来CA策略 我希望我的数据加密,我接受开销。我想确保我连接到一个我信任的服务器。
verify-full 支持 不支持 我想加密我的数据,我接受开销。我希望确保连接到我信任的服务器,并且它是我指定的服务器。

最简单的postgresSQL 配置就完成了。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
28天前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
|
1月前
|
jenkins 应用服务中间件 持续交付
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
54 8
|
1月前
|
负载均衡 前端开发 应用服务中间件
使用Nginx配置SSL以及部署前端项目
本文介绍了如何使用Nginx配置SSL证书以启用HTTPS,并展示了如何通过Nginx部署前端项目,包括配置SSL证书、设置代理和负载均衡的示例。
75 2
|
26天前
|
存储 网络安全 Windows
【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
|
2月前
|
应用服务中间件 网络安全 nginx
使用Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书
本文引导如何用Nginx Proxy Manager (NPM)配置Halo的反向代理与SSL证书。NPM简化了Nginx的配置流程,适合无Nginx基础的用户。安装NPM无需额外安装Nginx,避免端口冲突。通过`docker-compose.yaml`启动NPM服务,并映射必要的端口。配置Halo反向代理需登录NPM面板,添加代理主机,设置域名、转发IP等参数。NPM支持自动申请与续期SSL证书,确保网站安全访问。更多Halo安装细节,请参考[如何在Linux云服务器上通过Docker Compose部署安装Halo](https://zhangfeidezhu.com/?p=631).
126 0
使用Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书
|
1月前
|
缓存 Ubuntu 应用服务中间件
如何在 Ubuntu 14.04 上配置 Varnish Cache 4.0 实现 SSL 终止
如何在 Ubuntu 14.04 上配置 Varnish Cache 4.0 实现 SSL 终止
37 0
|
1月前
|
存储 安全 Linux
如何在 CentOS VPS 上配置 vsftpd 使用 SSL/TLS
如何在 CentOS VPS 上配置 vsftpd 使用 SSL/TLS
19 0
|
1月前
|
应用服务中间件 Linux API
Linux 利用 Cloudflare API 配置 acme.sh 自动续签 SSL (Apache、Nginx适用)
安装acme.sh工具,命令为`curl https://get.acme.sh | sh -s email=你的邮箱`。接着配置Cloudflare API,创建并记录API令牌及Zone ID。最后通过`acme.sh --issue -d 你的域名 --dns dns_cf`签发SSL证书,对于Nginx可使用`acme.sh --install-cert`命令安装证书,并设置自动重载Nginx服务。
|
3月前
|
网络安全
宝塔配置ssl证书没有生效
宝塔配置ssl证书没有生效
84 4
|
3月前
|
前端开发 小程序 应用服务中间件
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
213 4