以 SSL 模式连接到 PostgreSQL
当我们尝试连接数据库时,Postgres 使用 SSL 来验证连接的安全性。它在 HTTP 中默认禁用,但在 HTTPS 中,我们需要连接的 SSL 模式才能在 Postgres 数据库中执行任何操作。
如果连接不是私有的,则可以有多个攻击参数。任何人都可以通过数据库请求-响应轻松地使用嗅探工具。
PostgreSQL 中有哪些 SSL 模式
Postgres 提供了不同类型的 SSL 模式。首先,让我们看一下 Postgres 的通用连接字符串。
const connectionString = "postgres://<database_username>:<database_userpassword>@<hostaddress>:<port_no>/<database_name>"
现在,我们可以添加参数 sslmode
,如下所示。
const connectionString = "postgres://<database_username>:<database_userpassword>@<hostaddress>:<port_no>/<database_name>?sslmode=<ssl_mode>"
这是 Postgres 提供的 SSL 模式列表。
sslmode |
窃听保护 | 中间人保护 | 描述 |
---|---|---|---|
disable |
不 | 不 | 它不会关心安全性。不会加密任何数据。 |
allow |
也许 | 不 | 它不会关心安全性并加密连接。 |
prefer |
也许 | 不 | 它不会强制使用加密;如果服务器支持加密的开销,那么它将加密。 |
require |
是的 | 不 | 加密数据,它会面临一些加密的开销,而网络可以确保用户想要连接到正确的服务器。 |
verify-ca |
是的 | 取决于 CA 政策 | 加密数据,加密的开销并始终连接到受信任的服务器。 |
verify-full |
是的 | 是的 | 数据将被加密,用户接受开销,网络和服务器都是受信任的,并且只连接到被询问的特定服务器。 |
你也可以在环境变量中设置此标志。
PGSSLMODE=verify-full PGSSLROOTCERT=ca.pem
在这里,ca.pem
是关键。你需要从 CA 收集它; CA 代表证书颁发机构。
这是 Postgres 官方文档中关于 SSL 模式的说明。
Using NULL-SHA or NULL-MD5 ciphers, authentication can be done without any encryption overhead. A man-in-the-middle, on the other hand, might read and pass communications between the client and the server. In addition, as compared to the overhead of authentication, encryption has a low overhead. NULL ciphers are not recommended for these reasons.
此外,你可以查看官方文档此处。他们展示了如何在使用 SSL 模式时对证书进行自签名。
相关文章
在一个 PostgreSQL 查询中使用多个 WITH 语句
发布时间:2023/03/20 浏览次数:127 分类:PostgreSQL
-
在本教程中,我们将学习如何使用多个 WITH 语句在 PostgreSQL 中使用两个临时表执行查询。
在 Ubuntu 上的 PostgreSQL 中找到配置文件
发布时间:2023/03/20 浏览次数:130 分类:PostgreSQL
-
本文介绍如何在 Ubuntu 上找到 PostgreSQL 数据库的配置文件。
在 PSQL 中运行 SQL 文件
发布时间:2023/03/20 浏览次数:178 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
在 PostgreSQL 中使用循环
发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL
-
在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。
在 PostgreSQL 中重命名和更改列类型的单个查询
发布时间:2023/03/20 浏览次数:121 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中仅使用单个查询来重命名列以及更改其类型。
在 PostgreSQL 中使用 Select 连接列
发布时间:2023/03/20 浏览次数:202 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中使用 Select 方法连接列。