洞察策略风险,用自然语言提问策略问题。 申请演示 →
Published:
防火墙实用发展史 - 第 1 部分:早期岁月
by FireMon
Jody Brazil
FireMon 首席执行官
本文既不是防火墙入门指南,也无意全面呈现防火墙的发展史。介绍防火墙历史的优质资料有很多,例如维基百科:https://en.wikipedia.org/wiki/Firewall_(computing)。此外,还有相当多为防火墙的发明作出贡献的人士未能在本系列中得到提及(如有兴趣,Dark Reading 上有一篇不错的文章:谁发明了防火墙)。我关注的重点是商用防火墙,以及推动这些技术被采用的市场动因。
作为互联网大规模普及相对早期阶段(90 年代中后期)的从业者,我亲历了防火墙技术的快速普及与演进。对于这段历史,我的视角有限,记忆也难免不够准确。因此,在接下来的几篇文章中,欢迎您留言补充这段故事中缺失的部分。
90 年代中期,Check Point Technologies发布了状态检测防火墙。当时的主要竞争对手包括嵌入路由器的包过滤器(例如 Cisco IOS 上的 ACL)和代理型防火墙(例如 TIS Gauntlet 防火墙和 Secure Computing Sidewinder 防火墙)。状态检测与代理之间的主要较量集中在三个方面:性能、协议支持和安全性。
在性能方面,状态检测明显快于代理。代理会为每个会话建立两条 TCP 连接,一条在客户端侧,一条在服务器侧,这需要多得多的处理开销。由于互联网使用量增加,带宽消耗和需求正以惊人的速度增长,因此性能成为选购防火墙的首要标准。安全性固然重要,但影响互联网访问的瓶颈是无法接受的。在这一方面,状态检测胜出。
在协议支持方面,状态检测易于适配,且往往无需修改任何源代码。而代理则通常需要特定协议的处理栈才能支持新的应用。在 90 年代末,标准化程度非常低。如果您编写一个新应用,往往会创建一项新服务(协议/端口组合,例如:tcp/3192)。出于诸多原因,将 HTTP 作为所有应用的通用传输方式在当时并不可接受,其中包括性能影响以及早期 HTTP 规范缺乏同步通信能力。这意味着新协议正以极快的速度被创建和部署。结果,客户对这些新协议支持的需求,超出了基于代理的防火墙增加支持的能力。
几乎在每一次防火墙概念验证(PoC)中,都会发现防火墙未能正确处理客户网络通信的某些问题。对于代理而言,这意味着要向防火墙厂商提交工单,或采用某种并不理想的变通方案。对于状态检测而言,可能只需定义一项新服务,或者简单地处理一下 TCP 超时即可。事实证明,状态检测防火墙更易于应对这些意外问题,从而带来更成功的 PoC,并最终促成销售。安全性固然重要,但中断现有或新应用的通信是代理无法被接受的局限。状态检测再次胜出。
最后是安全性。关于哪种防火墙能提供更好的安全性,曾有过激烈的争论。如今,大多数人都会认同,具备应用感知能力的防火墙能够提供更好的安全性,从协议强制执行到行为管控皆是如此。但对代理而言不幸的是,其他方面的局限对业务来说实在太过严重,“安全性好但对业务有负面影响”最终输给了“安全性相当不错且对业务影响有限”。
结果是状态检测在与代理的较量中胜出。多年来,防火墙技术有过许多进步,我将在后续文章中加以讨论,但需要认识到的是,状态检测赢得了这场早期较量,并且至今仍是防火墙技术的行业标准。