我有 6 个节点,它们在 eth1 上可以访问互联网,在 eth0 上可以私下访问彼此。目前,我为 eth0 设置了防火墙规则,用于 memcached 和 NFS 等。这有必要吗?这确实很令人头疼,因为 NFS 会在大量不同的端口上进行通信,而且我最近引入了 glusterfs,它还需要更多端口。弄清楚要解锁哪些后端端口的麻烦是否值得增强安全性?
我应该提到,我当然仍会在 eth0 上设置防火墙规则来阻止同一数据中心内其他人拥有的服务器。
谢谢
答案1
我同意,这很麻烦。你可以不用它(只要你仍然阻止 eth0 上的其他所有内容,正如你已指出的那样)。
唯一的风险是:如果您的 6 台服务器中有 1 台受到攻击,那么“坏人”就更容易入侵其他 5 台服务器
。它们可能运行与第一台服务器相同的操作系统,并且存在相同的漏洞,因此攻击者可能首先能够通过 eth1 入侵它们。
但如果这 6 台服务器运行不同的操作系统或在 eth1 上提供不同的服务,那么 eth0 上的额外 FW 可能能够阻止攻击者访问其他 5 台服务器。
无论您做出何种选择:我都希望您为这些机器设置不同的帐户/密码。您可能已经在 eth0 上启用了 SSH。如果攻击者在 1 上获得一个帐户,他只需 ssh 进入下一个机器(如果它们相同)。有时在基于密钥的身份验证之上进行用户 ID/密码身份验证是个好主意。
答案2
如果允许每台服务器通过每个开放端口联系其他每台服务器,那么防火墙实际上没有做任何事情,您不妨使用一揽子接受。如果有一些内部流量不被允许,那么这取决于绕过这些限制的后果与管理工作量之间的比较。
答案3
打开 NFS 和 glusterfs 端口并不是一件令人头疼的事。
Glusterfs 使用许多端口,但这是一个已知且有限的列表,因此可以编写脚本。NFS 可以配置为使用特定端口(在/etc/sysconfig/nfs
RHEL 和类似的 NFS 服务器上),而不是随机端口。