以下内容来自https://www.postgresql.org/docs/current/static/creating-cluster.html,最初强调before
:
或者在运行 initdb 之后但在首次启动服务器之前修改生成的 pg_hba.conf 文件。
手册上这样说是为了防止未经授权的用户访问安全性差的 PG 服务器吗?pg_hba.conf
或者在第一次启动服务器之前应该编辑文件的其他原因?
以下内容来自https://www.postgresql.org/docs/current/static/creating-cluster.html,最初强调before
:
或者在运行 initdb 之后但在首次启动服务器之前修改生成的 pg_hba.conf 文件。
手册上这样说是为了防止未经授权的用户访问安全性差的 PG 服务器吗?pg_hba.conf
或者在第一次启动服务器之前应该编辑文件的其他原因?
是的,这纯粹是一种安全措施,可以防止即使是短暂的未经授权的访问。如果同一台机器上的敌对方知道您正在设置新集群,他们可以很容易地在一个循环中测试它是否可以通过信任身份验证连接。因此,即使您将其打开几秒钟,它也可能在那段时间内被利用。
如果您先启动服务器,然后编辑 pg_hba.conf 以使其更安全,但随后忘记执行 a
pg_ctl reload
或等效操作,它将仍然容易受到攻击。如果您确实进行了重新加载,现有的利用连接将保持活动状态,即使无法建立新连接也是如此。如果您执行 apg_ctl restart
或等效操作,现有的利用连接将被切断。但只需要几毫秒就可以造成严重的损害。例如,他们可以使用自己选择的密码创建一个新的 postgres 超级用户帐户。或者他们可以利用现有的默认 PostgreSQL 超级用户帐户以任意方式操纵运行 PostgreSQL 服务器的操作系统用户的主目录。包括向 . 添加条目之类的事情~/.ssh/authorized_keys
。