密码与SSL安全增强

AnalyticDB PostgreSQL版7.0版本对数据库账号的密码以及SSL的安全性方面均进行了增强。

密码

新增了SCRAM-SHA-256加密方式,相比MD5加密方式,具有更高的安全性。

目前AnalyticDB PostgreSQL版默认使用MD5加密方式,如需使用SCRAM-SHA-256加密方式,可以连接数据库后执行以下语句开启:

SET password_encryption to 'SCRAM-SHA-256'
重要

AnalyticDB PostgreSQL版7.0版本不支持创建UNENCRYPTED(无密码)的用户。

SSL

  • 新增pg_stat_ssl视图用于查看SSL连接情况。查询语句如下:

    SELECT * FROM pg_stat_ssl;

    返回示例如下:

      pid   | ssl | version |           cipher            | bits | compression | client_dn | client_serial | issuer_dn
    --------+-----+---------+-----------------------------+------+-------------+-----------+---------------+-----------
     508802 | f   |         |                             |      |             |           |               |
     508808 | f   |         |                             |      |             |           |               |
     508815 | f   |         |                             |      |             |           |               |
     509930 | t   | TLSv1.2 | ECDHE-RSA-AES256-GCM-SHA384 |  256 | f           |           |               |
     508800 | f   |         |                             |      |             |           |               |
     508799 | f   |         |                             |      |             |           |               |
     508801 | f   |         |                             |      |             |           |               |
    (7 rows)
  • contrib/sslinfo模块中添加ssl_extension_info()函数。

    ssl_extension_info()函数用于打印当前连接使用的X509证书中存在的SSL扩展的信息。示例如下:

    1. 启用sslinfo模块。

      CREATE EXTENSION sslinfo;
    2. 打印当前连接使用的X509证书中存在的SSL扩展的信息。

      SELECT ssl_extension_info();
  • 允许SSL配置在reload加载期间更新。

    通过使用pg_ctl reloadSELECT pg_reload_conf()或发送SIGHUP信号几种方式,可以在不重启服务器的情况下重新配置SSL。

    重要

    如果服务器的SSL密钥需要密码,那么重新加载SSL配置的任务将失败。