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

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 你会开启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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
10天前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
|
1月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
1月前
|
Linux 应用服务中间件 Shell
利用 ACME 实现SSL证书自动化配置更新
【10月更文挑战第11天】多项式承诺原理是密码学中的重要工具,允许证明者向验证者承诺一个多项式并证明其某些性质。Kate多项式承诺是一种知名方案,基于有限域上的多项式表示,通过生成和验证简洁的证明来确保多项式的正确性和隐私。其安全性基于离散对数假设。应用场景包括区块链中的零知识证明和可验证计算,以及多方计算和身份认证协议。在区块链中,Kate多项式承诺可用于保护隐私币和智能合约中的敏感信息。
|
1月前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
137 0
|
3月前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
|
3月前
|
jenkins 应用服务中间件 持续交付
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
193 8
|
3月前
|
负载均衡 前端开发 应用服务中间件
使用Nginx配置SSL以及部署前端项目
本文介绍了如何使用Nginx配置SSL证书以启用HTTPS,并展示了如何通过Nginx部署前端项目,包括配置SSL证书、设置代理和负载均衡的示例。
112 2
|
3月前
|
存储 网络安全 Windows
【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
|
4月前
|
应用服务中间件 网络安全 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).
253 0
使用Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书
|
3月前
|
缓存 Ubuntu 应用服务中间件
如何在 Ubuntu 14.04 上配置 Varnish Cache 4.0 实现 SSL 终止
如何在 Ubuntu 14.04 上配置 Varnish Cache 4.0 实现 SSL 终止
48 0