我的服务器上有一个 PHP 脚本,需要访问数据库用户才能正常工作。编写 PHP 脚本的人告诉将以下内容添加到 pg_hba.conf :
host all all 127.0.0.1/32 trust
这会对我造成任何与安全相关的问题吗?根据我的理解,该行的作用是它允许本地托管的脚本在没有密码的情况下连接到 pgsql。这个对吗 ?
该行的存在是否会导致在没有数据库密码的情况下建立到我的数据库的任何远程连接?
我的服务器上有一个 PHP 脚本,需要访问数据库用户才能正常工作。编写 PHP 脚本的人告诉将以下内容添加到 pg_hba.conf :
host all all 127.0.0.1/32 trust
这会对我造成任何与安全相关的问题吗?根据我的理解,该行的作用是它允许本地托管的脚本在没有密码的情况下连接到 pgsql。这个对吗 ?
该行的存在是否会导致在没有数据库密码的情况下建立到我的数据库的任何远程连接?
是的,除了非常有限的特殊情况之外,您通常应该避免这种配置:
请注意,在不提供任何密码的情况下允许连接可能已经是这种情况,因为许多发行版默认通过 unix 套接字作为连接用户来验证连接。这通常会导致
www-data
系统www-data
用户无需密码即可使用 postgres 用户。检查其余的身份验证配置,看看是否是这种情况。建议:提供密码或证书身份验证,不要继续使用该
trust
选项。另请注意,仅将某些内容限制为环回地址通常不足以保证防止外部访问。通过充当非预期代理的其他软件访问环回绑定服务的历史由来已久。