PostgreSQL 13是发布一些很酷的功能,如指数提高,分区增强,和许多其他人。随着这些增强功能,有一些与安全相关的增强,需要一些解释。主要有两个:一是有关libpq postgres_fdw相关,另一个是。众所周知postgres_fdw被认为是一个“参考实现”的其他数据包装,所有其他数据包装跟随他们的脚步在发展。这是一个支持数据包装。这个博客将解释安全postgresq_fdw的变化。

1 -超级用户可以允许non-superusers postgres_fdw上建立一个无密码连接

以前,只有超级用户可以建立一个无密码连接使用postgres_fdw PostgreSQL。没有其他无密码认证方法是允许的。它被观察到,在某些情况下不需要密码,所以是没有意义的,限制。因此,PostgreSQL 13引入了一个新选项允许超级用户(password_required)可以给non-superusers postgres_fdw使用无密码连接。

当我们从non-superuser执行相同的查询,然后我们将得到这个错误信息:

错误:密码是必需的
细节:Non-superusers必须提供一个密码的用户映射

现在执行相同的查询设置新的参数后,从non-superuser password_required“假”在创建用户映射。

2 -通过SSL证书身份验证

提供了一个新选项在postgres_fdw使用SSL证书进行身份验证。为了达到这个目标,这两个新选项添加到使用该特性sslkey sslcert。

在执行这个任务之前,我们需要为服务器和客户端配置SSL。有许多可用的博客(如何启用SSL身份验证的教育局Postgres先进的服务器SSL证书为PostgreSQL为PostgreSQL)设置SSL,这个博客试图配置SSL的最低要求。

第一步:生成的关键PGDATA美元

步骤2:改变server.key的模式

第三步:生成证书

现在我们需要生成客户端证书。

第四步:生成一个客户机密钥

第五步:复制根。crt到客户端

第六步:测试连接使用一个证书

现在我们已经准备好了,我们可以创建一个外国在PostgreSQL服务器证书。

现在我们已经做好准备,将查询通过postgres_fdw外国表使用证书身份验证。

注意:只有超级用户可以修改用户映射选项sslcertsslkey设置。


我们的白皮书”为什么选择PostgreSQL ?”看着PostgreSQL的特点和优点,提出了一些实际的用法示例。我们还研究如何对企业有用PostgreSQL从Oracle迁移。

下载

订阅
通知的
客人

4评论
最古老的
最新的 大多数投票
内联反馈
查看所有评论
Md Athar Ishteyaque

Ibrar Ahmed . .我看到你的视频在索引甚至更多的文章PostgreSQL . .其惊人的和你解释也是完美的。
我也想做一些文章教育局PostgreSQL。像巴特,EFM层叠复制、pg_backrest pg_receivewal甚至一些话题,因为文章没有从头开始. .是否可以联系你. .

leiyanliang

openssl点播以及其他关键/ tmp / postgresql。关键的治疗
- - > > >这个命令是不正确的!

本尼乔治

创建服务器myserver外国数据包装postgres_fdw选项(xx.xx.xx dbname“xxx”,主人”。xx”,端口5555,sslcert / tmp /客户端/客户端。crt, sslkey / tmp /客户端/客户端。关键’, sslrootcert ‘/tmp/client/root.crt’);
创建用户映射为xxxx服务器myserver;
创建外国表服务器myserver abcd(名称文本);

psql '主机=本地主机端口= 5555美元dbname = postgres用户= ibrar sslmode = verify-full sslcert = / tmp / postgresql。crt sslkey = / tmp / postgresql。关键sslrootcert = / tmp /根。crt’
工作好…

但通过postgresql_fdw不工作
从abcd select count (*);
错误:无法连接到服务器“myserver”
(细节:致命的连接需要一个有效的客户端证书)

我用postgresql-13 . .
谢谢