有没有办法在 Linux 中进行第 7 层过滤?

有没有办法在 Linux 中进行第 7 层过滤?

L7-filter 项目似乎已有 15 年历史,需要内核补丁,不支持 2.6 以上版本的内核,并且大多数模式文件似乎是在 2003 年编写的。

通常,当有一个项目那么旧、那么流行时,就会有新项目来取代它,但我找不到任何更新的 Linux 进行第 7 层过滤。

我是不是没找对地方?出于某种原因,第 7 层过滤的想法是否被完全放弃了?我想,如今,有了更强大的硬件,这会比以前更实用。

答案1

你一定是在谈论(前一个)项目Linux 应用层数据包分类器,它是作为 2.4 和 2.6 内核的补丁实现的。

该项目的主要问题是,它提出控制的技术很快就超过了实施的实用性和有效性。

据我记得,该项目的成员也没有时间(和金钱)进一步投资以超越技术的某些进步,然后出售实施权,这永远杀死了一个已经有问题的项目。

该项目/技术多年来面临的挑战(排名不分先后):

  • 使补丁适应3.x/4.x内核版本;
  • 处理能力的稀缺——在一些国家,如今即使是国内千兆宽带的速度也将要求 ASIC 进行高效的第 7 层流量整形;
  • BitTorrent 开始使用严重混淆;
  • HTTPS 开始被大量使用来封装多个协议和/或避免检测;
  • 对等协议停止使用固定端口,并开始尝试通过任何开放/允许的端口;
  • 无处不在的 VoIP 和实时视频的兴起,使得流量对即使很小的时间延迟也非常敏感:
  • VPN 连接的广泛使用。

随后,大量研发投入到专业的流量整形产品上。

十年前的最先进技术已经涉及特定的 ASIC 和(大量使用)启发式方法来检测加密/混淆的流量。

目前,除了十多年先进启发式的经验外,随着全球宽带的进步,流量整形(和防火墙)供应商也正在使用点对点实时共享全球数据,提高其解决方案的功效。

他们将先进的启发式方法与来自世界数千个地点的实时分析/共享数据相结合。

组装一个像 Allot NetEnforcer 一样高效工作的开源产品是非常困难的。

使用开源解决方案,出于基础设施带宽健康的目的,尝试根据 IP 地址使用的流量类型/性质来调整流量已不再常见在网络层面

如今,为了进行通用流量控制和保护基础设施的带宽容量,通常的策略是(除了防火墙之外),不使用先进的流量整形硬件,为每个IP地址分配一小部分带宽。

答案2

Netifyd 是一个开源深度包检测l7 过滤器的替代品。它是由 l7-filter 项目的最后一位维护者开发的,可用于 Linux 和 BSD。无需内核黑客攻击。

检测加密协议和现代 BitTorrent 之类的东西很棘手,但肯定是可以解决的。请记住,深度数据包检查不仅仅是检测协议(这是 l7-filter 项目的重点)。例如,Netify DPI 可以检测 SSL 会话中的弱密码 - 通常是运行旧固件的设备的标志。

正如 Rui F 提到的,持续的多千兆位速度需要 ASIC 或专用硬件。然而,在网络边缘,DPI 可以部署在普通计算机硬件上 - 即使速度为 1 GB。它确实需要一些马力才能运行 - 与有效的入侵检测/预防引擎大致相同。通常,仅处理网络会话的前 10 个数据包,因此它能够在狭小的空间中运行。

相关内容