我有一个想法,只允许我的计算机访问 POSTGRES。最好的方法是什么?
使用 IPTABLES 删除与 Postgresql PORT 的 INPUT 连接?
使用 Postgresql 文件配置仅允许 localhost 连接?
答案1
下面的pg_hba.conf允许本地和指定Ip有权限登录,但是拒绝其他Ip。
TYPE DATABASE USER ADDRESS METHOD
local all all trust
host testdb testuser 192.168.1.1/32 md5
host all all 0.0.0.0/0 reject
答案2
设置listen_addresses = '127.0.0.1, ::1'
在postgresql.conf
。
如果您使用的是较旧的计算机或不想允许 IPv6 连接,请省略, ::1
。
这将导致 PostgreSQL 甚至不监听来自其他地方的连接。
你可以还配置pg_hba.conf
为拒绝对此类连接进行身份验证,正如这里的其他答案所示,但最好一开始就不要接受它们。