1. WAF的定义
WAF全称 Web Application Firewall,即Web应用防火墙,是一种专门用于保护Web应用服务免受各种网络攻击的安全防护工具。

了解网络技术最好先对场景有个整体的概念,WAF的工作场景如上图所示(这次试一下Excalidraw手绘风格)。一般来说需要运营web业务的主体有部署WAF的需求,比如拥有网站服务的一般机构网络、Web服务提供商等。实际中的WAF部署会复杂许多,后面也会专门介绍。
区别于传统防火墙,WAF工作在应用层,处于Web业务服务器和客户端(like浏览器)之间,对Web网站或App业务的HTTP/HTTPS流量进行监测和过滤,通过一系列安全策略和规则来进行恶意特征识别及防护,就像在Web应用周围建立了一道安全屏障。
2. WAF需求背景和功能
WAF的出现与传统防火墙的局限相合。传统防火墙主要工作在网络层和传输层,一般主要针对IP地址、端口等进行过滤控制,针对应用层的攻击较难识别,比如无法理解HTTP(s)中的内容,对一些恶意请求(如SQL注入、XSS攻击)无法进行识别。WAF的出现正是为了解决这些问题。
WAF的推广与Web应用本身的广泛相伴。任何对运营和盈利有需求的网络主体,面临日益复杂的Web应用攻击手段,自然愿意为应用层防护买单,而WAF是一个直接易用的选择。
那么,WAF的出现是为了解决哪些问题呢?我们试着从攻击者的角度去思考这个问题:假设本鲤作为一个攻击者,我基本的步骤是 “选定目标 → 目标画像 → 漏洞缺陷分析 → 攻击方式 → 发起攻击 → 胜利/失败结算时刻” 。在思考WAF时,不需要全流程的罗列,我们简单关注几个点,重点放在(w/o)WAF的情况下有什么差异即可。
攻击者选定的目标由大到小大致如下,一般目标越大造成的危害越广泛,收益也越高。在选定目标之后,本鲤自然不会冒失地去搞一些小伎俩,我首先做的就是对目标画像,从多个维度了解目标,尽可能找出他的缺点或弱点,然后伺机而启,一击毙命。因此我会进行网络探测(踩点扫描)、服务版本识别等操作,从多个维度为目标画像,找缺点、弱点。
全网 > 网络主机 > 主机数据库 > 主机WEB系统管理员 > 主机WEB系统其余用户

一个Web网络的结构如上图所示,我们假设网络的管理者安全意识足够,已经用传统防火墙对Web业务服务器进行了保护。很显然,由于防火墙在网络层和传输层进行了过滤,我们再想用主机发现、端口扫描之类的简单攻击行为就基本无效了,攻击者可能只能获取到Web业务服务域名信息(图中为www.0o0.com),想获得主机相关的IP、端口状态、系统等信息只能在其它层(比如应用层)想想办法。
- 首先,可以通过Options、Trace方法探测目标服务域的节点拓扑。如果Web服务器支持这两个方法的话(一般来说,目前安全点的网站都不会允许这两个方法),可以通过检查响应包的Via或Max-forwards字段,得到各个节点的域名。然后,进一步查找对应的IP,尝试对IP直接进行扫描。

- 如果失败了,可以直接访问服务,检查响应包的Server字段或X-Powered-By字段确定业务域各个节点的http服务器软件版本和脚本语言解释器版本。可能需要扫描页面查看能否获取系统信息,如操作系统类型、版本,开启服务类型等,如有则可进一步查询CVE版本漏洞,并在exploit-db上寻找相应方法攻陷主机。
- 复杂一些,可以检查有无文件路径遍历,文件包含注入,API注入,命令注入之类的漏洞,来获取整个站点的系统信息甚至获取webshell。或者寻找有无SQL注入、XSS和URL注入等漏洞 —— 总言之,作为攻击者,拥有的武器库非常之丰富强大
理论上,WAF应当针对Web应用的HTTP(s)流量进行安全防护,可能需要支持的功能包括:
- 禁止HTTP协议的非安全方法
- 伪装Web服务的特征
- 防止API和命令注入防止路径遍历和文件包含注入,对敏感的系统路径进行保护
- 防止sql注入
- 防止XSS攻击
- 防止网页挂马
- 防护CC攻击
- 文件上传的防护
- 动态IP黑名单
- 白名单
- 与实时计算平台对接
- ……
截至目前,WAF已经进化到WAF3.0,除了常见Web应用攻击的防护外,能够防御CC攻击,还能支持精确防护,进行攻击事件管理等,功能可以说已经十分强大,可以简单看看阿里云WAF3.0的介绍:

3. WAF的工作原理和流程
Web 应用防火墙(WAF)通过深度检测和过滤 Web 应用的 HTTP/HTTPS 请求与响应,防御常见 Web 攻击。本部分介绍WAF的工作原理、关键模块和大致的工作流程。下图一般WAF的部署方式,直接插入到防火墙后面:

A. 工作原理
-
请求检查(全面检查):WAF 拦截每个传入的 Web 请求,包括请求头、请求体、URL 参数等。检查来源 IP、URL 路径是否异常,是否含特殊字符、SQL 关键字等,还检测请求头(如 User-Agent 字段)是否被篡改。
-
规则匹配(预定义规则集):WAF 内置基于常见 Web 攻击模式(如 SQL 注入、XSS 等)的安全规则。将请求特征与规则匹配,若符合恶意模式(如参数含 XSS 代码),判定为恶意请求。
-
防护动作(多样化响应):根据匹配结果采取防护动作。阻止恶意请求,防止其访问 Web 应用;记录攻击时间、源 IP、类型等信息到日志文件,方便后续分析;向管理员发送警报,提示攻击发生。
B. WAF 的关键模块
WAF 专注于保护 Web 服务和 Web 应用,能深入分析 HTTP 流量,有效防御多种 Web 攻击。其核心是规则策略模块,能区分正常与恶意流量,并采取相应防护措施。
- 入侵检测模块:分析 HTTP 输入输出数据流,识别潜在威胁。
- 规则策略模块:依据黑白名单、规则集区分正常与恶意流量,是 WAF 的核心依据。
- 防护模块:在检测到恶意请求时,采取拒绝服务、返回 400 响应页面等防护措施。
C. 工作流程
以请求处理为例,WAF的工作流程大致如下:WAF接收请求 → 请求检查(来源IP、URL路径、特殊字符等;黑白名单、规则集) → 规则匹配(与预定义规则对比;请求解密、头部&内容过规则) → 判断是否恶意请求 → 是 → 防护动作(阻止请求、记录日志、报警) → 否 → 请求继续处理。
在处理过程中采取的操作可能包括直接放行(比如匹配到URL白名单,直接放行至Web服务器)、关卡放行(进入下一检测关卡),以及丢弃、拒绝、重定向、暂停(对于暴力攻击)、代理导流(如蜜罐)。
WAF同样会对响应作一定处理,但相比请求要简单许多。下图是WAF处理过程的工作流示意:
4. WAF的部署模式
随着网络安全需求的不断演进和技术的持续创新,WAF的部署经历了一定的发展变化。早期的反向代理、透明代理和旁路监控等传统模式,与如今云原生的架构进行了融合,WAF的部署方式变得更加灵活、高效且适应性强。这些变化能够提升WAF在复杂网络环境中的适用性和性能表现,极大简化部署和管理流程,使其能够更好地满足现代企业对Web应用安全防护的多样化需求。
A. 此前主流的部署模式
- 反向代理模式 :早期WAF多采用此模式,其部署在Web服务器前端,客户端请求先经过WAF,由WAF代为转发请求到后端服务器,再将服务器的响应返回给客户端。优点是部署相对简单,且能有效隐藏后端服务器地址等信息,对服务器有较好的保护作用;缺点是可能会成为性能瓶颈,且需要更改网络配置,故障恢复相对较慢。
- 透明代理模式 :将WAF串接在网络中,实现即插即用,无需更改网络设备与服务器配置。其优点是部署简单、对网络结构无影响、安全防护性能强、故障恢复快可支持Bypass;缺点是对网络的依赖性较强,若网络出现故障可能会影响WAF的正常工作。
- 旁路监控模式 :通过在交换机上做服务器端口镜像,将流量复制一份到WAF上,WAF仅对流量进行监控和告警而不阻断,部署时不影响在线业务。此模式优点是不影响现有网络业务,可作为安全监测手段;缺点是无法直接对攻击流量进行阻断,只能起到事后分析的作用。
B. 现在的主流部署模式
- 反向代理模式 :仍是目前主流的部署方式之一,许多云WAF产品采用此模式。其在传统反向代理基础上不断发展优化,如阿里云WAF 3.0的反向代理集群模式,通过CNAME接入或云产品接入等方式,实现了与应用型负载均衡等云产品的集成,在保障安全的同时,提升了业务性能和稳定性,降低了访问延迟。
- 透明代理模式 :依然是常见部署方式,但技术和功能不断演进。如一些现代WAF在透明代理模式下,能够更好地支持多业务场景和复杂网络环境,同时提高了对流量的处理能力和安全性。
- 旁路模式 :除了传统的旁路监控功能外,一些新型WAF在旁路模式下也具备了更强大的分析和检测能力,能够结合其他安全设备或系统,实现更全面的安全防护和管理。
- 云原生架构集成模式 :这是WAF部署模式的重要发展方向,以阿里云WAF 3.0为代表。通过云原生架构,WAF与云产品深度融合,如支持将WAF集成在云产品的网关中,通过内嵌在网关中的SDK提取流量并进行检测和防护,WAF不参与流量转发,避免了因额外引入一层转发而带来的兼容性和稳定性问题,进一步提升了业务性能和可靠性。此外,这种模式还支持一键开启WAF安全防护,无需修改DNS、配置证书、端口、回源算法等复杂的接入转发配置,大大简化了部署和管理流程。
5. WAF vs 其它
WAF的功能,免不了要与传统安全设备如IDS和IPS有所对比,但从WAF的出现和发展,俨然就是一个“专项特种兵”的模板,因此有其独特优势的同时,短板和局限也是十分明显的。
A. WAF 与其他网络安全设备的对比
- 传统防火墙:工作在网络层和传输层,侧重源地址、目的地址和端口号的初步检测,无法深入分析 HTTP 流量。
- 入侵检测系统(IDS):部署在内部网络,监控网络安全状况,侧重检测和审计,无法主动防御。
- 入侵防御系统(IPS):基于签名数据库和策略来检查已知漏洞和攻击,适用于保护多种网络协议,但不专用于 HTTP 流量。
B. WAF 的价值与优势
- 深度防御:工作在应用层,能够审计所有 HTTP 流量,提供比传统设备更深入的 Web 应用保护。
- 灵活性:可以快速修改规则策略,及时应对不断变化的攻击。
- 速率限制:能够快速实施速率限制,有效防止 DDoS 攻击。
C. WAF 的局限
- 协议局限:WAF主要针对HTTP/HTTPS协议,无法过滤其他协议(如FTP、PoP3)的流量。
- 功能局限:无法实现传统防火墙的功能,如地址映射、端口转发等网络层和传输层操作。
- 攻击局限:主要针对应用层攻击,由于难以理解复杂业务逻辑,无法识别如恶意利用优惠券、外挂抢购等业务逻辑攻击,也无法防御零日攻击和部分复杂的应用层攻击。
- 防护局限:不具备防病毒功能,无法检测和清除终端设备上的病毒和恶意软件。
- 误报和漏报:尽管是共性问题,但WAF中部署模式的影响可能比较明显。
- 性能开销:对HTTP流量的深度检查和过滤会增加请求处理时间,导致延迟,且在处理大量流量时会消耗较多系统资源,影响Web应用性能。
- 配置和管理复杂:需要专业知识和经验来合理配置规则,过于严格或宽松都会影响效果,且需要定期更新规则以应对新的攻击方式,增加了维护成本。
6. 主流供应厂商和WAF产品
目前市场上的WAF产品种类繁多,涵盖了云WAF、硬件WAF和软件WAF等多种部署模式。云WAF产品如AWS WAF、Akamai Kona Site Defender、Fortinet FortiWeb、Cloudflare WAF等,具有部署便捷、易于扩展和集成等优势,适合各类企业使用。硬件WAF产品如安恒明御Web应用防火墙、长亭雷池(SafeLine)等,适合对安全性要求较高的企业。软件WAF产品如网站安全狗、云锁等,适合中小企业和开发者。各厂商不断推出创新产品和解决方案,以满足不同用户的需求。
下表是目前比较主流的WAF供应厂商和产品线:
厂商 | 产品 | 部署模式 | 核心能力 |
---|---|---|---|
AWS | AWS WAF | 基于云 | 基于云的WAF解决方案,与AWS服务集成,提供可扩展和灵活的保护,实时威胁检测和阻止,可自定义规则和策略 |
Akamai | Kona Site Defender | 基于云 | 提供企业级保护,高级DDoS保护,实时威胁检测和阻止,与Akamai的CDN集成以改善性能,全面的报告和分析 |
Fortinet | FortiWeb | 硬件或虚拟 | 基于AI的威胁检测和阻止,提供硬件和虚拟解决方案,机器人保护和DDoS缓解,全面的报告和分析 |
Cloudflare | Cloudflare WAF | 基于云 | 提供低延迟、高可用、高可扩展的防护能力,可防止OWASP Top 10等常见攻击,可根据用户自定义规则和Cloudflare智能规则进行灵活配置,可与其他服务集成 |
ModSecurity | ModSecurity WAF | 主机层 | 开源免费,灵活配置,支持多种协议和格式的分析和过滤,可使用OWASP Core Rule Set等标准规则集,也可使用用户自定义规则,还可与其他工具集成 |
阿里云 | 阿里云WAF | 基于云 | 提供基于云计算的Web应用防火墙,保护Web应用免受常见黑客攻击技术和安全漏洞的侵害 |
腾讯云 | T-Sec WAF | 基于云 | 提供Web应用防火墙服务,具备Web安全防护和Web威胁智能拦截功能 |
华为云 | Web应用防火墙 WAF | 基于云 | 提供Web应用防火墙服务,保护Web应用的安全 |
安恒信息 | 玄武盾 | 基于云 | 提供云防护平台,具备Web应用防火墙功能 |
百度智能云 | 云应用防火墙 WAF | 基于云 | 提供应用防火墙服务,具备安全漏洞防护和云安全应用防护功能 |
知道创宇 | 创宇盾 | 基于云 | 提供Web应用防火墙服务,具备政企网站防护、被黑防护、防篡改等功能 |
F5 | 分布式云 WAF | 基于云 | 提供分布式云WAF服务 |
奇安信 | 网站卫士 | 基于云 | 提供Web应用安全防护服务 |
360 | 磐云 | 基于云 | 提供Web应用防火墙服务 |
网宿科技 | Web应用防火墙 | 基于云 | 提供Web应用防火墙服务,具备网站防护和智能边缘安全功能 |
深信服 | 云Web应用防火墙 | 基于云 | 提供云WAF服务,具备Bot防护和云安全功能 |
绿盟科技 | 网站云防护 | 基于云 | 提供云计算安全产品,具备网站云防护功能 |
启明星辰 | 虚拟化WAF | 虚拟化 | 提供虚拟WAF服务,具备Web应用安全网关功能 |
长亭科技 | 雷池(SafeLine) | 硬件 | 下一代Web应用防火墙,提供Web应用防护功能 |
天融信 | Web应用安全防护系统(TopWAF) | 硬件 | 提供Web应用安全防护系统服务 |
瑞数信息 | 动态Web应用防火墙(River Safeplus) | 硬件 | 提供动态Web应用防火墙服务 |