ZVVQ代理分享网

网络代理与防火墙:功能差异与现代融合深度分析

作者:zvvq博客网

网络代理与防火墙:功能差异与现代融合深度分析

全面解析传统边界定义、现代架构映射、共生研究及性能评估

网络安全网络架构云原生零信任eBPF

报告概述

在网络安全和流量管理领域,代理和防火墙作为基础支柱发挥着关键作用。传统上,它们占据着不同的角色:防火墙作为守门员,根据预定义规则过滤流量;而代理作为中介,代表客户端获取内容。然而,随着网络架构的演变、加密流量的兴起以及云原生计算和零信任等新范式的采用,它们的功能已显著融合。

核心研究问题

本报告将全面分析代理和防火墙之间的根本差异,考察它们如何演变为更复杂的形式如下一代防火墙(NGFW),并探索它们在服务网格和eBPF驱动系统等现代环境中的集成角色。我们将证明,尽管它们的核心设计理念不同,但它们的能力在高级安全解决方案中日益融合,以应对当代挑战。

 

边界定义

建立代理与防火墙之间的概念边界,从L3/L4与L7分离开始锚定后续比较。

 

架构映射

将边界叠加到三种现代执行范式:云边界、零信任控制点和服务网格数据路径。

 

性能视角

从供应商声明到独立基准测试,再到内核绕过加速(eBPF),逐步缩小性能差距。

基础原理:防火墙与代理

要理解它们在现代应用中的表现,首先必须确立传统防火墙和前向代理之间的定义和操作区别。

1.1 防火墙:网络守门员

防火墙本质上是一种安全设备,旨在监控和控制进出网络流量,基于一组安全规则进行决策。其主要目的是在受信任的内部网络和不受信任的外部网络(如互联网)之间建立屏障,防止未授权访问和阻止恶意活动。

操作层级

传统防火墙(通常称为包过滤防火墙)主要在OSI模型的第3层(网络)第4层(传输)运行:

  • 第3层:检查数据包头部,基于源和目标IP地址做出决策
  • 第4层:扩展此检查至包括TCP/UDP端口号和协议类型

工作机制

防火墙检查通过它的流量。当内部网络上的客户端想要连接到外部服务器时,防火墙会检查构成该连接尝试的数据包。如果数据包符合配置的规则(例如,允许从特定IP范围发出的端口443上的出站流量),则允许它们通过。理论上,客户端和服务器直接连接,防火墙作为内联检查器。

1.2 代理:中介代理

代理服务器(特别是前向代理)充当客户端请求资源的中介。客户端不直接连接到服务器,而是将其请求发送到代理服务器。代理评估请求后,如果获准,则代表客户端将请求转发到目标服务器。

操作层级

代理最常与OSI模型的第7层(应用)相关联。它们对设计处理的应用程序协议(如HTTP、HTTPS或FTP)有内在理解。这使它们能够检查和操作流量的实际内容,而不仅仅是头部信息。

工作机制

连接模型与防火墙截然不同。客户端建立到代理服务器的连接。代理服务器终止此连接,然后建立一个新的、独立的连接到目标服务器。这种"中间人"位置使代理能够实现超越简单过滤的各种功能:

  • 内容缓存:存储经常访问的资源,以便更快地为后续客户端提供服务
  • 匿名性和隐私:将客户端的原始IP地址隐藏在目标服务器眼中
  • 内容过滤和操作:检查HTTP请求和响应,阻止某些URL、删除广告或扫描恶意软件

防火墙与前向代理对比

特性 传统防火墙 前向代理
主要功能 访问控制、流量过滤 中介、内容获取/过滤
OSI层级 第3层(网络)、第4层(传输) 第7层(应用)
检查范围 IP地址、端口、协议 应用级数据(HTTP头部、负载)
连接模型 流量通过(直接连接) 终止客户端连接,启动新服务器连接
主要目标 保护网络边界 执行Web使用策略、提高性能、提供匿名性

模糊界限:NGFW与高级安全代理

上述概述的清晰区别已随着更先进技术的出现而变得越来越模糊。防火墙和代理都已发展出传统上与对方相关的功能。

2.1 下一代防火墙(NGFW)

NGFW代表了从传统包过滤防火墙的重大演变。它们整合了更深层次的检查和意识,在OSI模型的第2层到第7层运行。

应用感知

NGFW的定义特征是其能够根据应用程序而非仅端口或协议识别和控制流量。例如,它可以在所有使用TCP端口443(HTTPS)的流量中区分一般网页浏览、Facebook聊天和文件传输。这需要深度包检查(DPI)来分析流量的有效载荷,这是将NGFW带入第7层代理领域的必要条件。

集成安全服务

NGFW在一个平台上集成了多种安全功能,包括入侵防御系统(IPS)、防病毒/恶意软件扫描,以及关键的SSL/TLS检查

SSL/TLS检查

为了对加密流量执行应用程序级策略,NGFW必须能够解密、检查并重新加密SSL/TLS流量。此过程与显式前向代理执行SSL Bumping或拦截的方式在功能上相同。通过这样做,NGFW充当加密会话的透明代理。

2.2 性能、延迟与基准测试

NGFW和高级代理的深度检查能力带来了性能成本。解密和分析每个数据包的完整内容是CPU密集型操作,并且与简单的第3/4层过滤相比会引入延迟。

性能基准

虽然公开可用数据中精确的苹果对苹果性能比较很少,但一些基准测试提供了见解。例如,Palo Alto Networks或Fortinet等NGFW的性能测试通常包含特定的"SSL检查吞吐量"指标,该指标低于其原始防火墙吞吐量。

  • Palo Alto Networks NGFW可能被评为90 Gbps的防火墙吞吐量,但只有2.6 Gbps的SSL检查吞吐量
  • FortiGate 200F与Palo Alto Networks PA-460的基准测试显示,在处理TLS 1.3流量时,两者在负载下都显示出数百Mbps的吞吐量

基准测试差距

搜索结果缺乏已发布的、并排基准报告,比较典型的开源前向代理(如Squid)与领先的NGFW在持续1 Gbps SSL/TLS检查工作负载下的性能。这突显了公开可用性能数据中的差距,使得在没有专用实验室测试的情况下,对此特定场景的延迟和CPU利用率进行直接比较变得困难。

性能对比图表

不同安全设备SSL检查吞吐量对比

90 Gbps
传统防火墙
2.6 Gbps
NGFW SSL检查
~100 Mbps
TLS 1.3负载
~300 Mbps
FortiGate 200F

现代架构中的代理与防火墙

向分布式、短暂和默认加密系统的架构转变,已经深刻改变了代理和防火墙功能的实施位置和方式。

3.1 云原生与服务网格环境(Istio)

在微服务架构中,传统网络边界消失了。安全和流量控制必须移至应用程序集群内部,紧邻服务本身。这就是服务网格的领域,而代理是其基石。

Istio中的Envoy代理

Istio服务网格使用Envoy代理作为其数据平面,将其部署为伴随每个网格中微服务的"sidecar"容器。此sidecar拦截服务的所有入站和出站网络流量。

实现防火墙功能

在此模型中,Envoy充当与其关联服务的专用、可编程、第7层感知微防火墙。Istio控制平面将配置和策略推送给所有Envoy代理,使其能够执行传统上与防火墙相关的功能:

  • RBAC过滤器: Istio的`AuthorizationPolicy`通过Envoy内置的角色基于访问控制过滤器实现。这允许细粒度的访问控制规则,如"仅允许具有`frontend`身份的服务对`/api/v1/data`的GET请求"
  • `ext_authz`过滤器: 此HTTP过滤器允许Envoy将授权决策委托给外部服务。这启用了与复杂集中式策略引擎的集成,用于更复杂的访问控制,类似于高级防火墙策略服务器
  • EnvoyFilter资源: 对于高度自定义逻辑,Istio提供了`EnvoyFilter`自定义资源定义(CRD),允许操作员直接修补原生Envoy配置,例如插入Lua脚本过滤器来检查威胁或阻止恶意模式

"防火墙不再是边缘的单片设备,而是由附加到每个工作负载的代理执行的分布式、动态和应用程序感知功能。"

3.2 零信任架构(ZTA)

零信任基于"永不信任,始终验证"的原则,拒绝旧的受信任内部网络模型。在ZTA中,无论其来源如何,每个访问请求都必须经过身份验证和授权。在这里,代理和防火墙的功能融合为ZTA的核心组件。

策略执行点(PEPs)

ZTA依赖于PEPs来控制对资源的访问。这些PEPs通常采用"零信任网关"或"身份感知代理"的形式。

功能融合

这些网关执行两种设备的功能:像防火墙一样,它们是访问控制的瓶颈;像代理一样,它们终止连接、检查应用层流量(通常在解密后),并基于丰富的上下文数据(不仅是IP地址,还包括用户身份、设备状态、位置和时间)做出访问决策。

许多ZTA解决方案的核心架构是基于云的代理架构,它在流量到达应用程序之前检查所有流量,有效地用更智能的、基于代理的执行模型替换了传统防火墙。

零信任架构示意图
零信任架构中的身份感知代理作为主要策略执行点

内核级革命:基于eBPF的实现

网络和安全的新前沿是使用eBPF(扩展伯克利包过滤器),一种Linux内核技术,允许自定义的沙箱程序直接在内核中运行。这使得能够以内核性能实现网络逻辑,避免了将数据包传递给用户空间进程的开销,这是传统代理和软件防火墙的操作方式。

4.1 Cilium:融合代理与防火墙的内核技术

开源项目Cilium是基于eBPF的解决方案的领先示例,它结合了代理和防火墙功能。

内核级防火墙

Cilium使用eBPF完全替换传统的内核网络工具如`iptables`。它在内核中直接实现高效的第3层和第4层数据包过滤和网络策略执行,提供高性能的防火墙功能。

内核级第7层代理

关键的是,Cilium也是第7层协议感知的。它使用eBPF来理解HTTP、gRPC和Kafka等应用协议。这使其能够以内核速度执行应用级安全策略(如"允许`GET /public/*`但拒绝`POST /admin/*`"),而无需将每个数据包传递给较慢的用户空间sidecar代理。

4.2 eBPF优势

与传统的用户空间代理和防火墙相比,基于eBPF的解决方案如Cilium提供了显著的性能改进。

性能优势

通过在内核中处理策略执行,它们消除了在内核和用户空间之间进行昂贵的上下文切换和数据复制的需要,从而降低了延迟并提高了吞吐量。这使得能够以接近简单内核级数据包过滤的性能特征实现深度、第7层感知的策略执行。

eBPF技术优势

  • 高性能: 直接在内核中运行,避免用户空间开销
  • 低延迟: 无上下文切换和数据复制
  • 深度洞察: 同时实现第3-7层策略执行
  • 安全性: 沙箱环境确保程序安全执行
  • 灵活性: 可编程过滤器支持复杂策略
eBPF技术架构图
Cilium使用eBPF在内核级别实现防火墙和代理功能

结论

虽然防火墙(第3/4层流量过滤器)和代理(第7层中介)的基础概念仍然具有重要意义,但这些技术的实际应用已经经历了深刻的转变。曾经将它们分开的清晰界限已被创新抹去。

传统分离

防火墙专注于网络层安全,代理专注于应用层中介,两者功能明确分离。

NGFW融合

下一代防火墙吸收了代理的第7层检查能力,实现应用感知策略。

现代架构转变

服务网格中sidecar代理作为分布式微防火墙,零信任架构中身份感知代理成为主要策略执行点。

eBPF革命

Cilium等项目将防火墙和代理逻辑直接融合到操作系统内核中,实现前所未有的性能和安全粒度。

对于今天的架构师和安全专业人员,相关问题不再是"代理还是防火墙?",而是"我们如何最好地利用代理和过滤的组合能力,在我们的分布式系统中实施动态、身份感知和应用感知的安全策略?"理解这两种技术的不同起源,为掌握它们强大而集成的未来奠定了必要的基础。