强制 PostgreSQL 客户端在 Amazon RDS 上使用 SSL

csd*_*csd 5 postgresql ssl amazon-rds

我正在 Amazon RDS 上运行 PostgreSQL 9.4.x 实例。我可以使用类似于以下命令行的 SSL 成功连接到该服务器:

psql "host=x.y.z.rds.amazonaws.com dbname=aaa user=bbb sslmode=verify-full"
Run Code Online (Sandbox Code Playgroud)

如何强制客户端使用 SSL(使窃听更加困难)?以下情况应该无法连接:

psql "host=x.y.z.rds.amazonaws.com dbname=aaa user=bbb sslmode=disable"
Run Code Online (Sandbox Code Playgroud)

据我所知,在 Amazon RDS 上您无法编辑pg_hba.conf,因此我无法hostssl在其中添加条目。

这篇 AWS 博客文章建议了如何使用 MySQL 来完成此操作,但我找不到 PostgreSQL 类似信息的链接。

我的动机是防止自己(或其他用户)意外地通过网络传输未加密的敏感信息。

小智 4

看来终于加上这个了。来自文档

您可以使用 rds.force_ssl 参数强制与 PostgreSQL 数据库的连接使用 SSL。默认值为 0(关闭)。当您将此参数设置为 1(打开)并重新启动实例时,您的数据库将拒绝任何非 SSL 连接。此参数还将 PostgreSQL 参数 ssl 设置为 on 并修改实例的 pg_hba.conf 以支持此 SSL 配置。