WAF的定义、原理、形态、部署方式、功能与常见问题

WAF的定义、原理、形态、部署方式、选型与局限


WAF的定义

WAF(Web Application Firewall)是Web 应用防火墙,它是一种专门保护 Web 网站、Web API 和其他 HTTP 应用的安全设备或安全软件。针对OSI模型第七层应用层中web的安全问题,通过规则检测HTTP/HTTPS会话,通常用于防御 SQL 注入、CSRF、SSRF等等 Web 攻击。

本文章是通过看网上各位师傅的文章和与ai沟通总结的,如有错误与缺漏,请各位师傅多多指导。


WAF的原理

WAF本质上是一台针对 HTTP/HTTPS 流量的“解析器 + 检测模型 + 决策执行器”。常见的然后WAF在客户端和web应用中间增加了一个防火墙,拿到流量后,会对流量中的协议进行解析和提取其中的内容,然后送到检测引擎,进行黑名单、白名单、漏洞签名、行为规则检测,最后将风险指数给决策执行器,决定放行、记录、限速、挑战、阻断。

流程图如下:在这里插入图片描述
WAF的检测模型:

  • 黑名单模型: 识别已知危险内容。如SQL注入特征、XSS特征、目录穿越、恶意文件上传、已知的POC等等;
  • 白名单模型: 只允许已知正常内容通过。如固定 API、支付接口、后台管理系统等等;
  • 异常评分模型: 现代规则集不一定在某一条规则命中后立即阻断,而是让多条规则共同累积分数。然后将累计异常分数与阈值进行比较,再决定是否拦截。请求和响应还可以使用不同的评分与阈值;
  • 速率检测: 可以设置速率规则,根据 IP、请求头或其他聚合键统计请求数量,并在超过阈值时限速或阻断。如某个 IP 一分钟请求登录接口几千次、同一账号来自大量不同 IP、某个客户端高速遍历商品编号、请求节奏明显不符合正常浏览器行为等等;

WAF的形态

形态优点缺点常见产品
云WAF部署快、容易扩容、不需要购买硬件、规则由服务商持续维护流量需要经过第三方平台、依赖服务商网络和平台、特殊协议或高度定制业务可能受到限制、如果源站仍可被公网直接访问,攻击者可能绕过 WAF阿里云盾、创宇盾、CloudFllare、腾讯云WAF、华为云WAF等等
硬件WAF数据不必交给第三方云平台、性能和容量相对可控、可以统一保护大量内部应用采购和维护成本高、扩容需要增加设备、规则升级和证书和高可用需要自行运维、设备可能成为性能瓶颈或单点故障绿盟WAF、天清 Web 应用安全网关、深信服WAF、安恒明御WAF、天融信WAF等等
软件WAF部署灵活、成本低、容易扩容、更新和回滚方便、定制能力较强性能依赖服务器资源、运维要求较高、规则误报和漏报需要调优、软件 WAF 自身也需要加固安全狗、云锁、360主机卫士、ModSecurity、雷池WAF等等
虚拟WAF保留传统网关架构、企业控制权较强、比硬件设备灵活企业需要自行运维、性能受虚拟化环境影响、云网络改造可能较复杂、扩缩容仍然偏“设备化”Fortinet FortiWeb-VM、Imperva WAF Gateway Virtual Appliance
容器化WAF适合云原生交付、扩缩容更加自然、自动化程度较高规则版本容易不一致、可能与业务争抢资源镜像供应链成为新的风险点OWASP ModSecurity CRS Docker、Wallarm、open-appsec

WAF的部署方式

基于DNS的云反向代理模式

基于DNS的云反向代理模式
当正常用户访问域名时:

  1. 用户访问DNS服务器;
  2. DNS返回WAF的IP;
  3. 用户连接WAF;
  4. WAF终止HTTPS并检查请求;
  5. 合法请求转发给源站;
  6. 源站响应经过WAF返回给用户。

关键问题: 源站绕过问题。仅仅修改 DNS 并不能保证源站安全。如果攻击者知道源站真实 IP,仍可能不经过WAF检测直接访问源站。

防止源站绕过的方法:

  • 防火墙规则限制:源站防火墙只允许云WAF出口IP、运维专线IP、可信合作方IP,其他公网IP全部拒绝。
  • 认证回源:云WAF向源站转发请求时,携带一个只有双方知道或能够验证的认证信息。如X-Origin-Auth中携带一个高强度密钥;
  • 双向TLS:CDN/代理节点访问源站时,不仅要验证源站服务器的证书,源站也要验证 CDN/代理节点提供的客户端证书。如WAF和攻击者访问源站时,源站会要求访问者出示客户端证书,WAF有证书成功完成 TLS 握手,成功连接,而攻击者没有客户端证书,无法完成 TLS 握手,就拒绝连接;
  • 私网回源:云WAF不通过源站公网 IP,而是通过私有网络连接源站。如WAF通过专线、VPN、云网络互联或 PrivateLink 一类的私有网络通道访问源站的私网地址;
  • 专线回源:云WAF或安全服务节点通过专用连接访问企业数据中心或云环境;
  • 随机高强度回源 Host:CDN、WAF或反向代理访问源站时,不使用公开网站域名作为 HTTP Host,而是使用一个随机生成、难以猜测、只在 CDN 和源站之间使用的专用域名;
  • 定期检查泄漏信息:定期确认源站 IP、暗号域名或内部地址有没有在过去或其他渠道暴露;

反向代理串联模式

反向代理串联模式
当正常用户访问域名时:

  1. 用户向DNS服务器查询目标域名;
  2. DNS返回WAF的公网IP;
  3. 用户通过HTTPS连接WAF;
  4. WAF终止HTTPS,对请求进行解密和安全检查;
  5. 检查通过后,WAF通过HTTP或HTTPS将请求转发给负载均衡器或Web服务器;
  6. 转发时,WAF通过X-Forwarded-For、X-Real-IP或Forwarded请求头传递用户真实IP;
  7. 负载均衡器从健康的后端服务器中选择一台,并将请求转发过去;
  8. 后端服务器将处理结果返回给负载均衡器;
  9. 负载均衡器将响应返回给WAF;
  10. WAF检查并记录响应,然后通过原有HTTPS连接将响应返回给用户。

优点:

  • 能主动阻断;
  • 容易做TLS解密;
  • 可以修改请求头;
  • 可以统一记录访问日志;
  • 可隐藏后端服务器;

缺点:

  • 需要修改网络和域名配置;
  • WAF出现故障可能影响业务;
  • 会增加少量延迟;
  • 必须考虑容量和高可用;

透明代理串联模式

透明代理串联模式
当正常用户访问域名时:

  1. 用户向DNS服务器查询目标域名;
  2. DNS返回Web服务器的原业务IP,通常不需要修改域名解析;
  3. 用户向该业务IP发起HTTP或HTTPS请求;
  4. 请求先到达交换机或路由器;
  5. 交换机或路由器按照现有网络路径,将流量发送到串联部署的透明WAF;
  6. WAF对请求进行安全检查,包括URL、参数、请求头、Cookie、请求体及上传文件等;如果是HTTPS流量,WAF需要配置服务器证书并进行TLS解密,才能检查完整的HTTP内容;
  7. 请求检查通过后,WAF将流量继续转发给 Web 服务器;
  8. Web 服务器生成响应,并将响应发送回透明 WAF;
  9. WAF检查或记录响应内容;
  10. 响应经过交换机或路由器返回给用户。

优点:

  • 对原有网络地址改动较少;
  • 适合已有复杂机房网络;
  • 可以在线阻断;
  • 后端通常能保留原始网络连接信息;

缺点:

  • 二层和路由设计较复杂;
  • 高可用和故障切换更难;
  • HTTPS 解密仍需要证书和代理能力;
  • 容易受到非对称路由影响;
  • 必须明确设备故障时采用 Fail-open 还是 Fail-close。

旁路模式

在这里插入图片描述
当正常用户访问域名时:

  1. 用户向DNS服务器查询目标域名;
  2. DNS返回Web 服务器或负载均衡器的业务IP;
  3. 用户向业务IP发起HTTP或HTTPS请求;
  4. 请求先到达交换机,再沿原有业务链路直接转发给Web服务器,交换机通过SPAN、端口镜像或网络 TAP,把业务流量复制一份发送给旁路WAF;
  5. Web服务器正常接收并处理用户请求,进行身份认证、权限校验和业务查询,然后将响应通过原业务链路返回给用户;
  6. 交换机也可以把服务器响应流量复制给旁路WAF,旁路WAF分析复制到的请求和响应,识别SQL注入、XSS、扫描、恶意上传等攻击行为;

注意: 真实业务流量不经过旁路WAF,WAF收到的只是交换机复制出来的流量副本。旁路WAF通常擅长检测、告警和事后联动,要进行阻断等操作要和其它设备联动。

优点:

  • 部署风险低;
  • WAF 故障不会中断业务;
  • 适合资产梳理、攻击监测和上线前观察;
  • 可以承受更复杂的检测逻辑;

缺点:

  • 一般只能检测和告警;
  • HTTPS 流量可能看不到明文;
  • 镜像口可能丢包;
  • 高带宽环境中镜像容量不足;
  • 请求和响应关联可能不完整;

WAF的功能

  • Web攻击防护: WAF可以识别并阻断常见的Web攻击,如SQL注入、XSS、文件上传漏洞利用、目录遍历、恶意扫描和漏洞探测等等;
  • 网站访问控制: WAF可以根据访问来源和请求特征实施控制。如IP黑白名单、URL访问控制、User-Agent过滤、请求方法限制和特定接口访问频率限制等等;
  • CC攻击和恶意爬虫防护: WAF可以根据IP、账号、会话、设备指纹、访问频率等信息识别异常访问,对高频请求采取限速、验证码、人机验证或封禁措施,从而缓解CC攻击、撞库、恶意爬虫和接口滥用;
  • API安全防护: 现代WAF通常也具备一定的API安全能力。如API资产发现、未授权接口识别、敏感数据泄露检测、API调用频率控制和异常接口调用行为分析等等;
  • 虚拟补丁: 当业务系统出现漏洞但无法立即修改代码时,可以先在WAF上配置防护规则,拦截漏洞利用请求。这种方式称为“虚拟补丁”,能够阻止漏洞的直接暴露、缩短漏洞暴露时间,但不能代替应用程序本身的漏洞修复。
  • 自主学习能力: 现在部分新一代WAF或智能WAF已经具备自主学习能力。它们不再完全依赖人工编写固定规则,而是通过机器学习、行为分析和业务流量建模,自动学习网站或API的正常访问模式。其自主学习能力通常包括:根据误报情况调整检测策略、自动生成或推荐防护规则、根据历史攻击结果优化风险评分、识别偏离正常基线的异常请求和学习正常的URL、参数、请求方法和访问频率等等。如某个接口平时每分钟只被访问几十次,突然出现单个IP每分钟访问数千次,智能WAF可以将其判断为异常行为。不过,“自主学习”并不意味着WAF可以完全无人管理。机器学习模型仍需要训练周期、人工审核、策略调优和持续运营。对于新上线业务、低流量接口或业务突变场景,自主学习结果也可能不准确。

WAF常见问题

  • 误报问题: 正常业务请求可能包含特殊字符、SQL片段、脚本代码或较长参数,从而被WAF误判为攻击。例如,技术论坛中用户提交代码,可能触发SQL注入或XSS规则。
  • 漏报问题: 攻击者可能通过编码、分片、参数混淆、大小写变化或协议差异绕过WAF。对于业务逻辑漏洞、越权访问、低频撞库等问题,单纯依靠传统特征规则也很难准确识别。
  • 自主学习模型不准确: 智能WAF在学习阶段可能把攻击流量误当成正常流量,也可能将业务高峰、新功能上线或营销活动识别为异常。
  • HTTPS流量检测问题: WAF需要解密HTTPS流量后才能检查请求内容,因此需要正确配置证书、TLS协议和加密套件。配置不当可能导致证书异常、访问失败、性能下降或客户端兼容性问题;
  • 性能和延迟问题: WAF需要对每个请求进行解析和规则匹配。规则数量过多、正则表达式复杂、日志记录过细或流量突增,都可能增加访问延迟,严重时甚至形成性能瓶颈。
  • 真实客户端IP获取错误: 当WAF部署在反向代理、CDN或负载均衡设备之后时,需要正确识别X-Forwarded-For等请求头。如果配置错误,WAF可能把代理设备IP当作客户端IP,导致封禁、限速和日志审计失效。同时,不能无条件信任客户端自行提交的真实IP请求头,否则可能被攻击者伪造。
  • 规则配置过于宽松或严格: 规则过于宽松会导致攻击漏过;规则过于严格则会影响正常业务。不同系统的参数格式、访问方式和风险等级不同,不能简单使用同一套策略覆盖全部业务。
  • 业务逻辑攻击识别能力有限: 传统WAF擅长识别SQL注入、XSS等技术型攻击,但对优惠券滥用、恶意注册、账号共享、水平越权、订单刷量等业务逻辑风险,通常需要结合账号信息、业务数据、风控系统和API安全平台进行判断。

总结

WAF是保护Web网站和API的重要安全组件,能够通过规则匹配、异常评分、访问控制、速率限制和行为分析等方式,识别并阻断SQL注入、XSS、恶意扫描、CC攻击和接口滥用等威胁。根据业务需求,WAF可采用云、硬件、软件、虚拟化或容器化形态,并通过反向代理、透明串联或旁路等方式部署。部分新一代WAF还具备自主学习能力,可以学习正常访问模式、建立行为基线并发现异常请求,但仍需要人工审核和持续调优。需要注意的是,WAF可能存在误报、漏报、性能损耗和绕过风险,也难以单独解决越权和业务逻辑漏洞,因此应与安全开发、漏洞修复、身份认证、主机防护和安全运营共同组成纵深防御体系。


如何系统学习网络安全?

网络安全作为数字时代的核心技术基石,已成为保障各行业安全稳定运行的坚实屏障。筑牢网络安全的防线,掌握先进的防护策略和技能正上升为国家与企业发展的战略优先级。

构建稳固的网络安全能力是一个体系的工程,需要从夯实基础理论出发,持续深化到攻防对抗与应急响应的实战层面。

如果你是准备学习网络安全(黑客)或者正在学习,我可以把我自用的360独家内部资料分享给你,包含以下内容你应该能用得上:

①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

一、网络安全(黑客)学习路线

网络安全(黑客)学习路线,形成网络安全领域所有的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、网络安全教程视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

三、网络安全CTF实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这里带来的是CTF&SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

img

四、网络安全面试题

最后,我们所有的作为都是为就业服务的,所以关键的临门一脚就是咱们的面试题内容,所以面试题板块是咱们不可或缺的部分,这里我给大家准备的就是我在面试期间准备的资料。

在这里插入图片描述

网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。

机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!

这份完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

img

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值