我们目前正在使用过滤器(一般来说是球,在我们的操作规模上是超级球),我过去曾在其他工作中使用过隔离墙(这比过滤器更好,但我认为有必要做那些比那更好的东西).
我们为任何替换系统提出的“必须”是:
>必须相当快地生成规则集(在我们的规则集上运行filtergen需要15-20分钟;这只是疯了) – 这与下一个点有关:
>必须生成一个iptables-restore样式文件并在一次命中中加载,而不是为每个规则插入调用iptables
>在规则集重新加载时,不得长时间取下防火墙(同样,这是上述观点的结果)
>必须支持IPv6(我们不会部署任何与IPv6不兼容的新内容)
>必须无DFSG
>必须使用纯文本配置文件(因为我们通过版本控制运行所有内容,使用标准的Unix文本操作工具是我们的SOP)
>必须同时支持RedHat和Debian(打包首选,但至少不得对发行版的标准公然存在敌意)
>必须支持运行任意iptables命令以支持不属于系统“本地语言”的功能的能力
任何不符合所有这些标准的内容都不予考虑.以下是我们的“好东西”:
>应该支持配置文件“片段”(也就是说,你可以在目录中删除一堆文件并对防火墙说“在规则集中包含此目录中的所有内容”;我们广泛使用配置管理并希望使用此功能自动提供特定于服务的规则)
>应该支持原始表
>应该允许您在传入数据包和REJECT规则中指定特定的ICMP
>应该优雅地支持解析为多个IP地址的主机名(我们已经被filtergen捕获了几次;这是一个相当皇家的痛苦)
>该工具支持的更多可选/奇怪的iptables功能(本机或通过现有或易于编写的插件)越多越好.我们偶尔会使用iptables的奇怪功能,而那些“正常工作”的功能越多,对每个人来说都越好.
解决方法
优点:
>支持多个防火墙 – 基于主机的核心规则 – 来自1组对象
> sql-esque“告诉我你想要什么”而不是“告诉我该怎么做”的方法(NB我不是说那里有任何sql!只是它是描述性的程序性的:-)
>这是一个GUI,有点像商用硬件供应商的界面,所以可以将一些任务推到员工/技能堆栈
>支持我尝试过的大多数“奇怪”用法
>可以为各种f / w实现生成规则 – BSD / cicso / iptables / etc.
>从规则编译器中分离出前端,这让我对速度成为作者关注的问题充满希望. NB我没有提到你所指的那个规模
>文件格式不是二进制
> IPv6
>为原子和快速加载创建iptables-save stylee配置
缺点:
>这是一个GUI
>移动现有规则集不太可能没有痛苦
>虽然GPL和Debian,Windows OSX客户端都是30天的评估,因为没有人为这些操作系统交叉编译免费版本;因此,开发商的商业部门垄断了这些二进制文件
>文件格式在技术上是XML; NB不要让这个让你失望:看看他们提供的工具(你可以使用gui二进制文件通过CLI操作它),已经存在的CLI XML工具,并记住 – 在你的规模 – 一些相似的元数据结构不是/坏/东西!它在IIRC的编辑中非常不同.