Azure Postgres SSL允许无需证书即可登录

问题描述

我正在尝试连接启用了SSL的Azure Postgres实例。我的理解是,如果启用了SSL,我必须提供用于身份验证的证书,但它允许我在不通过任何证书的情况下进行连接。

我正在使用以下命令:-

psql "host=ServerName.postgres.database.azure.com port=5432 dbname=postgres user=postgres@ServerName password=Password"

如果我们不通过SSLmode,则psql首先尝试使用SSL,但是我的问题是它如何获得证书以启动与启用SSL的Postgres的连接。

解决方法

我无法谈论Azure,可以对其进行修改,但是PostgreSQL允许您默认情况下不使用客户端证书进行连接。在这种情况下,SSL的目的不是对客户端进行身份验证,而是对通信进行加密以防止其被窃听。

请注意,使用默认设置,PostgreSQL不会保护您免受中间人攻击。

如果希望客户端验证服务器证书或希望服务器从客户端请求证书,则可以更改默认行为。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...