如何自动创建防火墙规则?

如何自动创建防火墙规则?

有一个复杂的实时系统 - 几个 VLAN。每个服务器都有linux服务器,每个服务器上都有服务。服务连接在一起 - 例如主机 A 上的服务 http 连接到主机 B 上的服务 mysql 端口 3306/tcp。

我想自动将这种类型的配置映射到数据库,并为每个服务器创建防火墙规则 - 以仅允许主机之间必要的连接。

我想:

  • 在每台服务器上使用 netstat 获取连接列表(或从 iptables 记录连接?),然后将其放入数据库中,
  • 使用 graphvis 或类似的东西将其可视化,
  • 根据数据库中的规则创建防火墙规则
  • 创建 iptables 规则来记录不符合先前规则的连接并发出警告。

有什么可以做得更好/更快/更自动化的方法吗?也许没有必要重新发明轮子?

更新:“困难”部分不是创建防火墙规则,而是自动创建,然后管理所需连接的列表。

答案1

在我看来,你最好的选择是使用配置管理类似工具木偶,厨师,CF引擎或者安西布尔因此您可以根据主机类型定义策略并将其应用到任何新主机。

答案2

前段时间我用过费姆以及一个自定义的简单 bash 脚本,用于生成规则集并通过“include”指令将其以正确的顺序插入费姆。

如果您想要记录连接等...您可以使用ulog-mysql,并在 mysql 中保存与特定 iptables 规则匹配的特定数据,并从此时开始绘制您想要的任何内容。

另一种可能性是使用iptables 在 ansible 中的作用,也许您会找到更适合您场景的角色。

答案3

考虑使用 fwbuilder (http://www.fwbuilder.org/)。它是一个管理某种防火墙的开源工具。

相关内容