我可以获得一些帮助来解决难题吗: 我注意到 AWS RDS 上的 ca 证书已于 2024 年 8 月 22 日过期。但是,我仍然能够通过 psql 和 dbeaver 建立新连接,并且连接在 pg_stat_ssl 中显示为 SSL true。 RDS 的参数组具有 rds.force_ssl=1 和 ssl=1。为什么所有连接都启用了 SSL,且 SSL 证书已过期?
select s.*, query from pg_stat_ssl s inner join pg_stat_activity a using(pid) where usename<>'rdsadmin' and application_name='psql';
pid | ssl | version | cipher | bits | client_dn | client_serial | issuer_dn | query
------+-----+---------+-----------------------------+------+-----------+---------------+-----------+--------------------------------------------------------------------------------------------------------------------------------------
3075 | t | TLSv1.2 | ECDHE-RSA-AES256-GCM-SHA384 | 256 | | | | select s.*, query from pg_stat_ssl s inner join pg_stat_activity a using(pid) where usename<>'rdsadmin' and application_name='psql';
(1行)
请参阅 PostgreSQL 连接的不同 SSL 模式此处。
您显然正在使用
allow
、prefer
或 require
的 SSL 模式设置进行连接。这些都没有真正检查数据库服务器的 SSL 证书是否有效。
您必须使用
verify-ca
或 verify-full
才能收到有关过期 RDS SSL 证书的错误。