# 19.7.防止服务器欺骗

在服务器运行时,恶意用户不可能取代正常的数据库服务器。但是,当服务器关闭时,本地用户可以通过启动自己的服务器来欺骗正常服务器。欺骗服务器可以读取客户端发送的密码和查询,但无法返回任何数据,因为PGDATA由于目录权限,目录仍然是安全的。欺骗是可能的,因为任何用户都可以启动数据库服务器;除非经过特殊配置,否则客户端无法识别无效的服务器。

防止欺骗的一种方法地方的连接是使用Unix域套接字目录(unix_插座_目录)仅对受信任的本地用户具有写入权限的。这可以防止恶意用户在该目录中创建自己的套接字文件。如果您担心某些应用程序仍可能引用/tmp对于套接字文件,因此容易受到欺骗,请在操作系统启动期间创建一个符号链接/tmp/。s、 PGSQL。5432指向重新定位的套接字文件。您可能还需要修改/tmp清除脚本,以防止删除符号链接。

另一个选择地方的连接是供客户端使用的复仇者指定连接到套接字的服务器进程的所需所有者。

为了防止在TCP连接上进行欺骗,可以使用SSL证书并确保客户端检查服务器的证书,或者使用GSSAPI加密(如果它们在不同的连接上,则两者都使用)。

为了防止SSL欺骗,必须将服务器配置为仅接受SSLhostssl联系(第21.1节)并拥有SSL密钥和证书文件(第19.9节)。TCP客户端必须使用sslmode=验证ca验证完整并安装了相应的根证书文件(第34.19.1节).

为了防止使用GSSAPI进行欺骗,必须将服务器配置为仅接受格森酒店联系(第21.1节)使用gss与他们进行身份验证。TCP客户端必须使用gssencmode=require.