我们有一个由多个不同组件组成的分布式应用程序。例如,我们有 Python 应用服务器、PostgreSQL DB 服务器、Redis 服务器、Memcached 等。其中一些服务位于不同的服务器中。所有这些服务器都运行 CentOS Linux,并且我们目前仅在需要连接的基础上启用服务器之间的访问(即,我们不是向每个 Redis 目标主机中的所有主机开放端口 6379,而是按主机开放它)。
我的问题是:在涉及多台服务器的情况下,管理 iptables 环境的良好做法是什么?我是否应该使用其他工具,或者是否有更好的多台服务器之间的安全管理方案?如果有比普通防火墙更好的方案,请告诉我。
任何建议都将不胜感激。非常感谢您抽出时间!
答案1
在我看来,很难在 Linux 服务器上“做得比现有的 iptables 更好”。该工具简单、有效,并且为许多 Linux 系统管理员所熟知。
在我看来,你真正要解决的问题与防火墙本身关系不大,而与管理跨多个主机的安全策略关系更大。这对我来说就是配置管理。根据你的技能和环境限制,你可以使用两类软件来解决此问题:基础设施自动化软件,如木偶或者厨师;或者 Linux 的众多配置管理软件之一:参见开源配置管理软件比较。
根据软件组件、组件需求以及各种特定主机如何映射到这些“角色”来定义安全策略。然后,您可以根据配置管理或自动化软件来定义该策略,以定义哪个 iptables 策略应在哪个主机上。
我知道这个答案不是很具体,但如果您有疑问,我很乐意澄清。