1. WAF的定义

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

WAF工作场景拓扑

  了解网络技术最好先对场景有个整体的概念,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业务服务器进行了保护。很显然,由于防火墙在网络层和传输层进行了过滤,我们再想用主机发现、端口扫描之类的简单攻击行为就基本无效了,攻击者可能只能获取到Web业务服务域名信息(图中为www.0o0.com),想获得主机相关的IP、端口状态、系统等信息只能在其它层(比如应用层)想想办法。

  • 首先,可以通过Options、Trace方法探测目标服务域的节点拓扑。如果Web服务器支持这两个方法的话(一般来说,目前安全点的网站都不会允许这两个方法),可以通过检查响应包的Via或Max-forwards字段,得到各个节点的域名。然后,进一步查找对应的IP,尝试对IP直接进行扫描。
Web服务器不支持:以本站为例
  • 如果失败了,可以直接访问服务,检查响应包的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的介绍:

阿里云WAF3.0

3. WAF的工作原理和流程

  Web 应用防火墙(WAF)通过深度检测和过滤 Web 应用的 HTTP/HTTPS 请求与响应,防御常见 Web 攻击。本部分介绍WAF的工作原理、关键模块和大致的工作流程。下图一般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处理过程的工作流示意:

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应用防火墙服务

写在最后

Refer