PostgreSQL 还本机支持使用 GSSAPI 加密客户端/服务器通信以提高安全性。支持要求在客户端和服务器系统上都安装了 GSSAPI 实现(例如 MIT Kerberos),并且在构建时启用了 PostgreSQL 中的支持(请参阅 第 17 章)。
PostgreSQL 服务器将在同一 TCP 端口上侦听正常连接和 GSSAPI 加密连接,并将与任何连接的客户端协商是否使用 GSSAPI 进行加密(以及身份验证)。默认情况下,此决策由客户端决定(这意味着攻击者可以降级它);请参阅 第 21.1 节,了解如何设置服务器以要求某些或所有连接使用 GSSAPI。
在使用 GSSAPI 进行加密时,通常也使用 GSSAPI 进行身份验证,因为底层机制无论如何都会确定客户端和服务器标识(根据 GSSAPI 实现)。但这并不是必需的;可以选择另一种 PostgreSQL 身份验证方法来执行其他验证。
除了协商行为的配置之外,GSSAPI 加密不需要超出 GSSAPI 身份验证所需的设置。(有关如何配置的更多信息,请参阅 第 21.6 节。)