我们安装了一台新的 CentOS 服务器进行测试,其配置与 debian 略有不同。我现在不确定端口 5432 对我们来说是否安全。如果没有,我如何保护运行 postgresql 的端口 5432,使其无法从互联网访问。虽然我记得添加了端口 5432 的规则,但我在 Iptables 中看不到它。
这不是 debian 系统。
iptables-S:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
netstat -tulpn | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2938/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 2938/postgres
答案1
如果你运行netstat -tulpn | awk 'NR==2 || /:5432/'
而不是你的,netstat ... grep
你也会得到列标题:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2938/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 2938/postgres
查看该Local Address
列,您可以看到它postgres
仅侦听环回地址 ( 127.0.0.1
)。在此基础上您可以放心,它不会接受任何其他系统的请求。
您提到的阻止此端口的防火墙规则显然不存在于当前规则集中,因此您可能没有确保保存它(iptables
除非您先保存了规则,否则规则在重新启动后不会保留)。根据CentOS 维基保存规则集的正确方法是/sbin/service iptables save
。