跳转到内容
← 返回核心概念
系统与安全计算机科学 · 网络安全约 20 分钟阅读

防火墙与网络安全

Firewalls and Network Security

防火墙网络安全入侵检测VPN

1988 年 11 月 2 日,莫里斯蠕虫(Morris Worm)——历史上第一个大规模传播的互联网蠕虫——在数小时内感染了约 6000 台互联网主机(当时互联网上约 60000 台计算机,占比约 10%)。受感染的机器运行缓慢直至瘫痪。

这个事件的直接后果之一:1988 年 11 月,在 DARPA(美国国防高级研究计划局)的指示下,卡内基梅隆大学组建了第一个计算机应急响应小组 CERT/CC(Computer Emergency Response Team Coordination Center)。网络安全从此开始从零散的学术兴趣,变成一项有组织、有制度的工程。

与此同时,DEC(Digital Equipment Corporation)的工程师 Jeff Mogul、Brian Reid、Paul Vixie 等人开始在网络边界部署过滤机制。Mogul 于 1989 年发表的论文《Simple and Flexible Datagram Access Controls for UNIX-based Gateways》描述了最早的包过滤器之一。"防火墙"一词也从建筑术语(防止火势蔓延的物理隔断)借入计算机网络。

1991 年,工程师 Marcus Ranum 在他们的工作基础上为 DEC 打造了 SEAL(Secure External Access Link)——公认的第一款商用防火墙产品,第一份订单卖给了杜邦公司(DuPont)。

破除误解:防火墙不是唯一的网络安全手段

防火墙常被当作网络安全的代名词,仿佛有了防火墙就万事大吉。实际上,防火墙只是纵深防御(Defense in Depth)策略中的一层:

外部网络
    |
  防火墙(第一道防线:过滤恶意流量)
    |
  DMZ(非军事区:对外服务器)
    |
  IDS/IPS(第二道防线:检测异常行为)
    |
  内部网络
    |
  端点安全(第三道防线:主机防病毒/EDR)
    |
  数据加密(最后防线:即便入侵,数据也不可读)

每一层都可能被突破,组合才能有效防御。

纵深防御的价值不只是"多放几台设备",而是让各层使用不同证据与不同失败方式。边界防火墙看五元组,WAF 看应用请求,EDR 看进程行为,身份系统看登录风险;若它们全依赖同一份 IP 黑名单,一次绕过就会同时失效。真正的分层还要求日志能汇聚到统一时间线,使运维人员能从外部探测一路追到内部横向移动,而不是得到彼此孤立的告警。

防火墙的类型

包过滤防火墙(Packet Filter,第一代,1980s末):检查每个数据包的 IP 头和 TCP/UDP 头,基于规则(源/目标 IP、端口、协议)决定放行或丢弃。无状态:不跟踪连接状态,每个包独立处理。简单高效,但无法处理应用层的复杂攻击。

状态防火墙(Stateful Firewall,第二代,1990s):跟踪连接状态表,理解 TCP 三次握手,只允许合法建立的连接的返回流量。例如,内网主机发出的 TCP 连接建立后,允许服务器的响应包回来;但拒绝从外部主动发起的连接(若规则不允许)。

这项被称为"状态检测(Stateful Inspection)"的技术由以色列工程师 Gil Shwed 与 Shlomo Kramer、Nir Zuk 发明,1993 年申请专利(美国专利号 US 5,835,726),1994 年作为 Check Point 公司的 FireWall-1 产品推向市场。它让防火墙第一次能在不逐包重算规则的前提下大规模运行,至今仍是几乎所有现代防火墙的核心。

状态表通常以源地址、源端口、目标地址、目标端口和传输协议组成的五元组为键,并记录 TCP 阶段、最近活动时间、超时与地址转换信息。它带来效率,也制造了新资源边界:SYN 洪水可以塞满半连接表;超时过短会误断长连接,过长又会让失效条目占内存。高可用防火墙还必须在主备节点间同步状态,否则故障切换时设备虽然"活着",所有既有会话却会一起重置。

分片与非对称路由会破坏状态检测的前提。若首片携带端口、后续分片没有,设备必须重组或把分片关联起来;若请求经过防火墙 A、响应却经过 B,任何一台看到的都不是完整会话。网络安全因此不能脱离路由拓扑设计:策略正确但路径不可见,效果仍等于没有策略。

应用层防火墙(Application Layer Firewall / WAF):深入到应用协议层,理解 HTTP、DNS、SMTP 等语义。Web 应用防火墙(WAF)专门检测 SQL 注入、XSS、文件包含等 Web 攻击,在内容层面过滤恶意请求。

下一代防火墙(NGFW,2000s末至今):集成包过滤、状态检测、应用识别(DPI,深度包检测)、入侵防御(IPS)、用户身份认证、SSL 解密(检查加密流量)于一体。主要厂商:Palo Alto Networks、Cisco Firepower、Check Point。

分类并不是严格的代际替换。一台设备可能同时在三层做访问控制、在四层追踪连接、在七层识别应用;云环境里的安全组则常把状态过滤做成分布式虚拟网络能力。选择控制点时要问:它能看见什么、能以什么身份决策、失败时是开放还是关闭。功能清单相同的两套产品,若一套部署在流量必经路径、另一套存在绕行路径,安全效果会完全不同。

一条铁律:默认拒绝

防火墙规则有两种根本立场。默认允许(黑名单):除明确禁止的之外,一律放行。默认拒绝(白名单):除明确允许的之外,一律阻断。

安全工程界的共识是后者。Cheswick 与 Bellovin 在 1994 年的经典著作《Firewalls and Internet Security》中确立了这条原则:凡未被明确允许的,一律禁止。

原因在于威胁是无穷且未知的。你不可能枚举出所有的坏流量,但通常能枚举出少量需要放行的好流量。默认拒绝把"配置遗漏"的代价,从"被攻破"降为"某个服务暂时不可用"——这是一个安全得多的失败模式。代价是更高的运维成本:每开通一个新服务都要显式加规则。

规则集本身需要生命周期管理。每条允许规则应有业务所有者、目的、范围和到期时间;临时开口若没有自动过期,几年后就会沉积为无人敢删的"永久例外"。规则顺序也会改变语义:前面的宽泛允许可能遮蔽后面的精确拒绝。上线前用策略仿真检查影子规则与过度暴露,上线后用命中计数找长期未用规则,并以审计日志验证"设计意图"和"真实流量"一致。

NAT:防火墙的"副产品"

NAT(网络地址转换)最初是为缓解 IPv4 地址短缺而设计,但它事实上也起到了防火墙的作用:内网设备使用私有 IP(如 192.168.x.x),对外网不可见,外网无法主动发起到内网设备的连接。

NAT 工作原理(NAPT/PAT,端口地址转换):

内网 192.168.1.10:54321 --> NAT设备 203.0.113.1:43210 --> 外网服务器
外网服务器 --> 203.0.113.1:43210 --> NAT设备 --> 192.168.1.10:54321

NAT 设备维护映射表:私有 IP+端口 <-> 公网 IP+端口。这使得一个公网 IP 可以被数百个内网设备共享。NAT 的副作用是破坏了互联网端到端连接的原则——P2P 应用(WebRTC 视频通话、游戏)需要额外的 NAT 穿透技术(STUN、TURN、ICE)。

但 NAT 不等于防火墙。它之所以常表现为阻止入站,是因为设备没有可供反向查找的映射,而不是因为执行了安全策略;静态端口转发、UPnP 自动映射或已建立映射都可能让外部流量进入。IPv6 不需要地址复用,却仍需要状态防火墙。把"不可路由的私网地址"当作信任边界,会在云网络、隧道和服务网格中产生危险错觉。

IDS 与 IPS

IDS(入侵检测系统):监控网络流量,识别可疑行为,告警但不干预。

IPS(入侵防御系统):在 IDS 基础上,能主动阻断可疑流量。

检测方式:

  • 签名检测(Signature-based):将流量与已知攻击模式数据库对比。对已知攻击准确率高,无法检测零日(0-day)攻击。
  • 异常检测(Anomaly-based):建立"正常"流量基线,偏离基线则报警。可发现未知攻击,但误报率(False Positive)高。
  • 基于行为的检测(Behavioral):分析用户和实体行为(UEBA),检测内部威胁和横向移动。

检测引擎的真正瓶颈往往不是规则数量,而是调查能力。若每天产生十万条高风险告警而团队只能复核一百条,未处置告警等同于未检测。成熟流程会把网络、端点、身份和资产重要性结合起来做关联与优先级排序,并为每类告警定义处置手册:需要隔离主机、吊销令牌,还是只补充观察。IPS 置于在线路径后还要考虑误杀与自身故障,因此常先以 IDS 模式观察,再把高置信规则逐步改成阻断。

VPN:安全隧道

VPN(Virtual Private Network,虚拟私人网络)在公共网络上创建加密隧道,实现两端之间的安全通信。

主要用途: 1. 企业远程访问:员工在外网通过 VPN 接入公司内网 2. 站点间互联(Site-to-Site VPN):连接不同地理位置的企业网络 3. 隐私保护:隐藏上网行为(对 ISP 和监听者而言,只看到到 VPN 服务器的加密流量)

主要协议: - IPsec:网络层加密,可加密所有 IP 流量,常用于企业 VPN - OpenVPN:基于 SSL/TLS,开源,灵活 - WireGuard(2020 年进入 Linux 内核):更简洁的实现(约 4000 行代码 vs. OpenVPN 核心约 7 万行),性能更好

VPN 保护的是隧道两端之间,并不自动保证端点安全,也不保证流量离开 VPN 网关后的路径。全隧道把所有流量送入企业检查点,控制强但增加延迟与带宽;分流只把企业网段送入隧道,体验更好,却让同一设备同时连接可信与不可信网络。远程访问因此还需设备合规检查、多因素认证、短期凭据与细粒度授权,不能把"连上 VPN"直接等同于"成为内网可信主机"。

DDoS:分布式拒绝服务攻击

DDoS(Distributed Denial of Service):控制大量僵尸机器(Botnet)同时向目标发送流量,耗尽其带宽或计算资源,使合法用户无法访问。

两种典型机制。一是反射放大(Reflection/Amplification):攻击者伪造源 IP 为受害者地址,向开放的第三方服务(DNS、NTP、memcached)发送小请求,服务器便把巨大的响应"反射"给受害者。2018 年 2 月 28 日 GitHub 遭受的 1.35 Tbps 攻击就利用了 memcached——一个约 15 字节的请求最多能触发约 750 KB 的响应,放大倍数高达约 51,000 倍;GitHub 借助 Akamai 的流量清洗在约 10 分钟内恢复。二是僵尸网络洪水:直接驱动海量被控设备同时发包。

2016 年的 Mirai 僵尸网络是后者的标志性案例。它专门扫描使用出厂默认密码的物联网设备(网络摄像头、DVR、家用路由器),把它们收编为僵尸大军。2016 年 9 月,Mirai 对安全记者 Brian Krebs 的博客发动了约 620 Gbps 的攻击;10 月 21 日又攻击 DNS 服务商 Dyn,导致 Twitter、Spotify、Netflix、GitHub 等大批网站在美国大面积无法访问。Mirai 揭示了一个结构性问题:廉价、不设防的物联网设备,成了攻击者随手可取的"弹药库"。

此后 DDoS 的规模持续刷新:2020 年 AWS Shield 报告拦截 2.3 Tbps;2024 年底 Cloudflare 拦截 5.6 Tbps;2025 年记录被推到 11.5 Tbps,并在 2025 年第四季度出现峰值 31.4 Tbps、仅持续约 35 秒的攻击。与这些拼带宽的"体积型"攻击不同,2023 年 10 月 Google 披露的 HTTP/2 "Rapid Reset" 攻击走的是应用层路线,峰值达每秒约 3.98 亿次请求——只用很少的带宽就能压垮服务器。

防御手段: - 流量清洗(Scrubbing):将流量引导到专门的清洗中心,识别并丢弃攻击流量后再转发合法流量。Cloudflare、Akamai 等 CDN 提供此服务。 - Anycast 吸收:通过分布在全球的节点分散攻击流量 - 速率限制(Rate Limiting):对来自单一来源的高频请求进行限速

零信任架构

传统网络安全基于"内网可信,外网不可信"——进入了内网的流量默认可以访问内部资源。随着云计算普及、远程办公和内部威胁增多,这个假设越来越危险。

分析师 John Kindervag 在 2010 年的 Forrester 报告《No More Chewy Centers: Introducing the Zero Trust Model of Information Security》中给出了一个生动比喻:传统网络像一颗"外壳硬、内里软"的糖果,攻击者一旦咬穿边界,就能在柔软的内部畅通无阻地横向移动。

他给出的解法就是零信任(Zero Trust):从不信任,始终验证(Never Trust, Always Verify)。2020 年 8 月,美国国家标准与技术研究院(NIST)发布 SP 800-207《Zero Trust Architecture》,把它从一个营销概念固化为可落地的工程标准。

  • 每次访问都需要验证身份和授权
  • 最小权限原则(Least Privilege):只给完成当前任务所需的最小权限
  • 假设已被攻破(Assume Breach):即使内网也可能存在攻击者,设计时要考虑横向移动的阻断

Google 的 BeyondCorp(2014 年公开)是企业实施零信任的最著名案例,将 Google 内部从基于 VPN 的访问改为基于用户身份和设备状态的访问控制。

零信任不是把防火墙全部撤掉,而是把决策从粗粒度网段推进到每次访问。典型架构把策略决策点与策略执行点分开:前者综合用户身份、设备健康、资源敏感度、时间与风险信号作出允许或拒绝,后者在代理、网关或主机旁强制执行。微分段仍依赖网络控制来限制工作负载间横向移动;区别在于规则不再只写"某子网能访问某子网",而是写"哪个身份在何种状态下能访问哪项服务"。

它也有操作成本:身份目录、设备清单和策略数据若不准确,持续验证只会持续做出错误决定。应急账户、控制平面故障和离线场景必须提前设计,否则认证服务一次中断就可能让全员失去生产系统访问。零信任改变的是信任的计算方式,而不是消灭信任本身。

代价与争议

加密流量的困境:HTTPS 的普及极大地改善了互联网隐私,但也使防火墙和 IDS 的工作更难——它们看不到加密流量的内容。NGFW 可以通过 SSL 拦截(中间人解密)检查 HTTPS 流量,但这需要在设备上安装企业 CA 证书,是对隐私的妥协,引发员工权利争议。

误报与漏报的权衡:安全系统面临永恒困境:太严格会产生大量误报(正常流量被拦截),降低可用性;太宽松则误放真实攻击。这个权衡没有完美解答,只能根据具体业务场景调整。

阈值应由资产风险而非全网统一设定:支付接口宁可多一次挑战,公共静态内容则应优先保证可用性。评估时也不能只看准确率;在攻击基率极低的环境里,百分之九十九准确仍可能让假阳性淹没真阳性。更有用的指标是精确率、召回率、每班次可调查告警量,以及从检测到遏制的时间。

安全 vs. 监控:政府要求电信运营商保留用户的互联网访问记录,并在必要时配合执法。这与用户隐私、网络中立性产生冲突。不同国家的法律框架差异巨大。

跨域连接

  • 限流算法:按带宽计的防护挡不住按请求计的攻击——很小的流量就能耗尽连接、内存或后端查询。可检验推论:限流必须作用在真正稀缺的那种资源上,否则防线看起来完好,服务却已经被打满。工程上的做法因此是把闸门设在最贵的那一跳之前,而不是一律堆在入口。
  • 免疫系统:签名检测对应记住已知病原的适应性免疫,异常检测对应识别异常模式的先天免疫。两者的取舍同构:太灵敏会攻击自体(误报淹没运维),太依赖记忆则对新威胁完全无效,所以生物与网络都同时保留了两套。
  • 贝叶斯定理:在绝大多数流量正常的网络里,即使误报率很低,告警中的真阳性比例仍可能极低。这是基率带来的定量结果,也解释了一个反直觉现象:单纯提高检测灵敏度,往往降低而非提高整体防御效果。推论是:告警系统的可用性由真阳性比例决定,而不由检出率决定。
  • 外部性:出厂默认密码的摄像头被收编成僵尸大军,省下安全成本的是厂商,承受损失的却是被攻击的第三方站点。这是负外部性,因此纯技术手段无法收敛——只有责任规则或强制标准把成本内部化,激励才会改变。推论是:成本被内部化在链条的哪一环,决定了改进会不会真正发生。
  • 安全困境与战争和平:纵深防御的军事比喻有一处失效:攻击者不必连续推进。一次凭据窃取就能直接落到内部,中间各层被整体跳过。零信任放弃"边界内可信"这条假设,正因为边界的语义已被远程办公与云服务掏空。同理,加密流量普及后边界设备看不见内容,检测重心只能转向身份与行为。

参考文献

  • Cheswick, W. R., Bellovin, S. M. & Rubin, A. D. Firewalls and Internet Security: Repelling the Wily Hacker. 2nd ed. Addison-Wesley, 2003.
  • Mogul, J. C. Simple and Flexible Datagram Access Controls for UNIX-based Gateways. USENIX Summer Conference Proceedings, 1989.
  • Check Point Software. 状态检测(Stateful Inspection)防火墙专利. 美国专利 US 5,835,726(1993 年申请,1998 年授权;发明人 Shwed、Kramer、Zuk).
  • Anderson, R. Why Information Security is Hard — An Economic Perspective. 17th Annual Computer Security Applications Conference (ACSAC), 2001.
  • Rose, S., Borchert, O., Mitchell, S. & Connelly, S. Zero Trust Architecture. NIST Special Publication 800-207, 2020.
  • Google BeyondCorp 系列论文. BeyondCorp: A New Approach to Enterprise Security. ;login:, USENIX, 2014.
  • Cloudflare. DDoS Threat Report for 2025 Q4. Cloudflare Radar, 2026.

延伸阅读

  • Cheswick, W. & Bellovin, S. Firewalls and Internet Security. 2nd ed. Addison-Wesley, 2003.
  • Nmap 官方文档(端口扫描和网络安全工具参考)。
  • Cloudflare Blog: The Mechanics of a DDoS Attack. 多篇技术文章。