Azure PostgreSQL服务器上的TLSv1.2

问题描述 投票:0回答:1

我正在尝试确保PostgreSQL客户端到Azure PostgreSQL服务器(版本10.7)的连接正在使用TLSv1.2。当我执行psql命令时,连接头会显示协议TLSv1.2

[user ~]# psql -h psql_server.postgres.database.azure.com -p 5432 -U psql_admin_accnt@psql_server -W postgres
Password:
psql (10.7)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

但是,当我查询pg_stat_ssl表时,我得到的信息是当前连接正在使用TLSv1.1,并且cipher信息也不相同。

postgres=> SELECT * FROM pg_stat_ssl;
  pid   | ssl | version |        cipher        | bits | compression | clientdn
--------+-----+---------+----------------------+------+-------------+----------
 168648 | t   | TLSv1.1 | ECDHE-RSA-AES256-SHA |  256 | f           |
(1 row)

哪些信息是正确的,我应该依靠?我的psql连接确实使用TLSv1.2还是从PostgreSQL系统表中看到的是TLSv1.1

postgresql azure ssl tls1.2
1个回答
0
投票

似乎该问题已由Microsoft自行解决

[user@host ~]$ /usr/pgsql-10/bin/psql "host=psql_server.postgres.database.azure.com port=5432 dbname=dbname user=psql_admin_accnt@psql_server sslmode=require sslrootcert=/path/to/BaltimoreCyberTrustRoot.cer"
Password:
psql (10.11)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

dbname=> SELECT * FROM pg_stat_ssl WHERE pid = pg_backend_pid();
  pid   | ssl | version |           cipher            | bits | compression | clientdn
--------+-----+---------+-----------------------------+------+-------------+----------
 812820 | t   | TLSv1.2 | ECDHE-RSA-AES256-GCM-SHA384 |  256 | f           |
(1 row)

dbname=> SELECT VERSION();
                           version
-------------------------------------------------------------
PostgreSQL 10.11, compiled by Visual C++ build 1800, 64-bit
(1 row)

现在,已正确返回TLS版本。

© www.soinside.com 2019 - 2024. All rights reserved.