为已部署系统构建防火墙

为已部署系统构建防火墙

我有一种方法,希望得到反馈,用于为已部署的系统构建防火墙(即现场运行的多个服务器,没有任何防火墙)。所有相关服务器都运行 Linux(确切地说是 RHEL 6)。

我的想法是,在每台服务器上运行 netstat 并查找监听端口(netstat -lnp | grep $pid,查找我关心的每个 pid),然后将每个端口添加到 iptables 配置中(使用 system-config-firewall-tui)。 /etc/sysconfig/iptables 文件随后将被保存并控制,以供下一个部署的系统使用。

我确信我的计划存在漏洞,但有人能给出一些建议吗?除了每台服务器上的监听端口外,我是否还需要包含其他端口?netstat 是否足以找到这些端口,还是我需要使用其他工具(例如 wireshark)?

答案1

您需要了解正在运行的应用程序的预期和期望连接,这些连接很可能与它们当前的配置不同。因此,获取开放端口列表是一个好的开始,但这只是等式的一半。

只需激活带有规则的防火墙以允许所有传入流量到达当前打开的每个端口,这不会破坏任何东西,但也不会提高您的安全性......

例如,在 LAMP 堆栈上,MYSQL 服务器可能配置为接受端口 3307 上的网络连接,即使使用该数据库服务器的所有 Web 应用程序都将在该服务器本身上运行。
那么,您的防火墙就没有任何理由允许端口 3307 上的传入远程网络连接。

相关内容