同时使用 iptables 和 tcp_wrappers 有充分的理由吗?

同时使用 iptables 和 tcp_wrappers 有充分的理由吗?

我接管了一些机器的管理,但对它们的配置没有任何了解。

有些使用 iptables。有些正在使用 tcp_wrappers (即/etc/hosts.allow)。有些人同时使用两者。它们的配置都不一致。

在许多情况下,iptables 和 tcp_wrappers 似乎有多余的规则。在一种情况下,它们是冲突的。这是一场维护噩梦,我倾向于转而只使用一个系统。

在这样做之前,我想问一下,在某些情况下是否适合在同一台机器上使用两者?

答案1

tcp_wrappers对于任何认真对待安全性的人来说,曾经在 90 年代风靡一时,并且在处理安全性时,强烈鼓励大多数 OSI 第 7 层的解决方案;世界在不断发展,如今我们在不同层面和不同技术上拥有更多的解决方案。

在设计解决方案时,并不存在完全错误或完全正确的方法。

根据软件或用例,通常当您在应用程序级别处理它时,您可能会简化其他配置。

此外,现在您可能会在公司防火墙或虚拟化方面定义所有防火墙规则,并且您可能不希望iptables在所有服务器中都有规则。

应该注意的是,也可能编译有问题的二进制文件/程序没有libwrap 例如不支持tcp_wrappers,通常你最好先仔细检查一下。

正如之前所说,你必须考虑几个角度来决定什么是最好的方法为你

答案2

hosts_access(5)手册页给出了一些关于为什么您可能想要使用允许/拒绝条目而不是 iptables 的可能性:

  1. 用户匹配(如果客户端支持):我不知道有任何现有主机实现RFC 931或不再是朋友了,因为这似乎是一个巨大的安全漏洞!
  2. 诱杀装置/程序调用:如果您正在实施比登录规则更复杂的事情。
  3. 每个程序的规则:如果您基于进程路径而不是网络端口进行过滤。如果您需要此功能但没有该功能,这可能会有所帮助owner模块可用在iptables.
  4. Keepalive/linger 选项(来自hosts_options(5)): 如果程序不执行此操作并且您的初始化系统也不执行此操作(?)

我从来没有使用过hosts.alloworhosts.deny因为iptables规则可以满足我需要的一切,但是对于边缘情况场景,您可能需要 (2) 甚至 (4) 的一些功能。如果这些文件没有做任何疯狂的事情,我想您可以用等效的iptables规则替换它们:它当然应该简化管理!

相关内容