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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
密钥管理服务KMS,1000个密钥,100个凭据,1个月
云原生数据库 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
打赏
0
0
0
0
80
分享
相关文章
YashanDB HA节点间SSL连接配置
本指南介绍HA内部节点链路的SSL连接配置,包括客户端监听与HA节点自身监听两种方式。需使用OpenSSL工具生成证书,具体步骤参考数据库服务端SSL连接配置文档。此外,还需在数据库中开启HA的SSL连接开关并设置证书路径(仅支持绝对路径,长度≤254字节),最后重启数据库以完成配置。确保服务器已安装所需工具,详细操作请查阅相关文档。
YashanDB HA节点间SSL连接配置
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。
MySQL 8.4 配置SSL组复制(八个步骤)
MySQL 8.4 配置SSL组复制(八个步骤)
22 0
PostgreSQL 入门指南:安装、配置与基本命令
本文从零开始,详细介绍如何在 Windows、Linux 和 macOS 上安装和配置 PostgreSQL,涵盖30+个实操代码示例。内容包括安装步骤、配置远程访问和用户权限、基础数据库操作命令(如创建表、插入和查询数据),以及常见问题的解决方案。通过学习,你将掌握 PostgreSQL 的基本使用方法,并为后续深入学习打下坚实基础。
1139 1
nginx配置证书和私钥进行SSL通信验证
nginx配置证书和私钥进行SSL通信验证
165 4
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
351 60
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
436 60
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
312 10

热门文章

最新文章

下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等