一文读懂Web应用防火墙WAF的8种防护机制

WAF(Web应用程序防火墙)是应用程序和互联网流量之间的首道防线,它监测和筛选互联网流量以拦截不良流量和恶意请求,WAF是保障Web服务可用性与完整性的重要安全解决方案。

一文读懂Web应用防火墙WAF的8种防护机制

WAF用于阻止恶意攻击的8种方法

IP围栏

这是最简便的防护方式,如果您获知恶意请求来自特定IP地址,可直接使用WAF黑名单予以拒绝,它依赖于一组静态信息。

地理围栏和地理封锁

地理围栏是WAF用来在特定地理区域周围构建虚拟周界或边界的一种技术。当用户的IP地址处于预定义边界内时,WAF可以允许或限制对某些内容或功能的访问。

一文读懂Web应用防火墙WAF的8种防护机制

您还可以借助WAF创建地理阻止规则集,这是一种限制性更强的技术,能够彻底阻止来自特定区域的访问。

例如:

如果您的电商网站仅面向美国客户,可以使用此功能限制来自其他地区的访问。

请求检验

检验是WAF对请求和响应实施完全管控策略的组成部分。通过检验请求的内容,WAF能够将其与已知的好/坏字符串和值进行匹配,从而区分合法与恶意请求。

WAF运用多个过滤层分析流量,能够检测零日攻击、客户端攻击、机器人攻击(例如DDoS攻击)、病毒文件和Web应用程序漏洞。

最先进的WAF可以解码并分析HTTPS流量、XML、JSON及其他广泛使用的数据传输格式。

常见的检验方式有以下两种:

  • 标头检验

通过检查标头,WAF能够检测出可能表明恶意活动的特定模式或异常,例如格式错误的用户代理或可疑的cookie值。

HTTP请求的标头包含基础信息,如用户代理、内容类型、cookie以及使用的HTTP方法(例如GET、POST)。

每个标头都包含文本字符串,且具有广泛的潜在组合方式。

因此,WAF会逐一检查每个请求标头以辨识潜在的恶意值,而非依赖预先设定的白名单。

例如:
GET /login HTTP/1.1

Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Referer: http://evil.com
Cookie: PHPSESSID=abcdef1234567890; username=admin; password=admin123

在此示例中,请求包含指向恶意网站(http://evil.com)的Referer标头。Web服务器借助Referer标头来追踪请求的来源。

通过植入恶意的Referer标头,攻击者可以试图欺骗Web服务器,使其误以为请求来自可信来源。

攻击者还附加了一个Cookie标头,其中包含会话ID(PHPSESSID=abcdef1234567890)以及管理员账户的用户名和密码(用户名=admin;密码=admin123)。

通过在Cookie标头中植入这些值,攻击者可以试图获取对Web应用程序的未授权访问。

通过检查这些标头,WAF能够检测出恶意Referer标头和Cookie标头的可疑内容。此外,它会拦截请求并阻止攻击得逞。

WAF还会分析浏览器发送的用户代理字符串以获取其他线索,例如异常的浏览器设置和流量自动化的迹象。

  • 请求验证

WAF进一步检查请求正文、查询参数及请求的其他组成部分,以辨识并拦截对Web应用程序的潜在威胁。

WAF会检验有效负载中的每个数据字节,以判定可能暗示针对漏洞发起攻击尝试的特定字母数字字符组合。

例如:

假设 Web 应用程序具有搜索功能,允许用户通过在搜索框中输入关键字来搜索产品。

攻击者可以通过提交包含 SQL 注入负载的特制输入来利用此功能。

例如:‘apple’ OR 1=1;– – 然后将作为以下 SQL 查询执行:
SELECT * FROM products WHERE name = ‘apple’ OR 1=1;–

此查询旨在绕过身份验证机制并从数据库中检索所有产品。

添加 OR 1=1 部分以使查询始终返回 true,最后的 — 用于注释掉查询的其余部分并防止任何错误。

如果 WAF 仅依赖预定义的白名单,它可能无法检测到此攻击,因为查询包含有效语法。

但是,通过单独检查每个请求并分析查询的内容,Web 应用程序防火墙可以检测 SQL 注入负载并阻止请求。

WAF 还会分析查询并查找 SQL 注入攻击中常用的关键字,

例如 OR、UNION、SELECT 和 DROP。如果检测到这些关键字中的任何一个,WAF 可以阻止请求并阻止攻击得逞。

WAF的威胁检测能力不仅限于SQL注入,还涵盖其他频发的高风险威胁,如XSS和XXE。

响应检查

WAF监测并解析离开Web应用程序的流量,以辨识并拦截任何潜在的恶意或未经授权的活动。

它核验数据包的内容,以确保内容类型与请求资源的预期内容类型相符。

例如

若客户端请求图像文件,WAF可以核实响应确实为图像文件,而非可执行文件或恶意内容。

WAF可以核验Web应用程序返回的响应代码是否有效且符合预期。

例如

若Web应用程序为本应存在的资源返回404错误代码(页面未找到),WAF便可识别出这种潜在的攻击。

Web应用程序防火墙能够通过屏蔽或拦截包含敏感信息(如信用卡号或任何其他自定义数据)的响应来防止数据泄露。

例如:

一名员工试图将包含敏感数据的文件上传至外部文件共享网站。WAF检测到数据传输尝试并核查文件是否包含不应对外共享的任何敏感信息。WAF扫描文件以寻找与组织的数据分类策略相匹配的模式或关键词。

若文件包含敏感信息,WAF会阻止上传并向安全团队发出警报。随后,安全团队可以调查该事件并采取适当的应对措施,例如撤销该员工的访问权限或展开进一步调查。

安全规则

收到请求后,WAF会解析其有效负载并将其与自身的规则或签名进行比对。

WAF通常具备两类安全规则:预定义和自定义。

a、预定义规则

供应商预先配置预定义规则,旨在防范常见攻击,例如SQL注入、跨站脚本(XSS)及其他已知漏洞。这些规则通常会定期更新以应对新出现的威胁。

预定义的规则集涵盖防范:

  • SQL注入
  • XSS攻击
  • 本地和远程文件包含
  • 尺寸限制
  • 命令注入
  • 未知的异常输入
  • 恶意文件扩展名(例如.php、.exe)
  • 目录遍历字符(例如”..”)
  • 命令注入负载
  • Java反序列化负载
  • 主机标头中的localhost
  • PROPFIND HTTP方法
  • Shell元字符(例如|、>、<)
  • 任意代码执行负载
  • LDAP注入负载
  • XPath注入负载
  • XML外部实体(XXE)负载

以下是用于阻止XSS攻击的WAF预定义规则示例:

SecRule ARGS “@rx <script[\s\S]*?>[\s\S]*?</script>” \
“id:1,\
phase:2,\
block,\
log,\
msg:’XSS Attack Detected’,\
tag:’OWASP Top 10′,\
severity:’CRITICAL'”

该规则还附带一个标签,表明其应对的是OWASP十大漏洞之一,并将严重级别设定为critical。

b、自定义规则

网站或应用程序所有者制定自定义规则来应对其环境特有的具体安全问题。这些规则可根据应用程序的特定需求进行定制,并能提供超出预定义规则范围的额外防护层。

托管服务团队在零日漏洞报告发布后的24小时内,对Spring Framework中检测到的远程代码执行(RCE)漏洞完成了虚拟补丁修复。

c、自动规则生成

随着WAF持续解析流量并识别新出现的威胁模式,它能够自动生成策略来抵御这些威胁。这有助于减少人工制定策略所耗费的时间和精力,同时防范可能尚未建立签名或规则的新型及演变中的威胁。

例如:

某种新型攻击涉及向应用程序发送特制的SQL查询,以绕过身份验证并获取对敏感数据的访问权限。WAF可以解析流量并辨识出攻击中所用的特定SQL语法。随后,WAF可以生成策略来拦截此特定语法并防止攻击得逞。

生成安全策略后,WAF会应用该策略来保护应用程序。这正是需要安全专家介入的环节。支持团队可以手动微调安全策略,以减少误报和漏报。

异常评分

若规则匹配,WAF会针对请求中的每一项偏差施加一个分值,这是其威胁检测与响应整体方法的一部分,这被称为”基于风险的方法”。

异常评分体系背后的思路是,请求中的所有偏差或异常并非同等重要或都代表着攻击。通过为每种变化或异常分配一个分值,WAF能够判定请求的整体风险等级,并决定是拦截还是放行。

WAF采用多种因素来分配分值,包括偏差的严重程度和类型、请求的上下文以及发出请求的用户的行为模式。

例如:

像拼写错误的URL这类简单偏差可能只会获得较低分值

更严重的偏差,如尝试注入SQL代码,则可能获得更高分值。

WAF还可以利用分值来触发不同的处置动作,

例如:

拦截高分请求

放行低分请求

对中等分值的请求进行额外验证

DDoS速率限制

DDoS速率限制约束特定IP地址在给定时间范围内可向服务器发送的请求数量。速率限制通常依据预先设定的阈值来确立,该阈值被认为对正常流量而言是安全的,任何超出此限制的请求都会被拦截。

通过实施DDoS速率限制,WAF能够有效防止攻击者用海量请求淹没服务器。这有助于确保合法用户仍能访问服务器,同时业务运营可以不间断地持续进行。

例如:

假设某企业的网站通常每分钟接收约1,000个请求。为防范DDoS攻击,该企业为任意给定的IP地址设置了每分钟2,000个请求的DDoS速率限制。这意味着若某IP地址每分钟向服务器发送超过2,000个请求,WAF将拦截这些请求。

现在,假设攻击者对该企业网站发起DDoS攻击,利用僵尸网络向服务器发送海量请求。即便攻击者掌控着数以千计的被感染设备,WAF也会拦截任何超过每分钟2,000个请求阈值的IP地址。这有效遏制了DDoS攻击的影响,使网站得以继续为合法用户正常提供服务。

静态速率限制机制的主要弊端在于它依赖固定的流量阈值。因此,在达到阈值之前可能无法察觉攻击,从而导致攻击检测迟缓或不充分。

机器人缓解

WAF可以解析浏览器发送的cookie,并将它们与已知机器人cookie的数据库进行比对,例如Udger、Checktor和Whatisyourbrowser DB。

机器人管控组件包括但不限于:

  • 验证码挑战
  • 速率限制
  • 机器人伪装识别
  • 网页抓取防护
  • 机器人智能(指纹、IP、行为模式)

WAF采用基于行为的分析来识别自动化流量。这可能涵盖分析请求的速度与频率、访问页面的先后顺序,以及其他有助于区分机器人和人类行为的因素。

Bot防护涵盖以下目标:

  • 识别来自人类的机器人
  • 区分好机器人与坏机器人
  • 放行好机器人并拦截坏机器人
  • 侦测僵尸程序的来源并拦截IP地址
  • 解析机器人行为并对潜在机器人实施速率限制

通过整合这些方法,WAF能够成功区分人类流量与机器人流量,识别恶意流量,并提供针对DDoS和机器人攻击的有效防御。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/3184.html

Like (0)
Previous 2026年7月17日
Next 2026年7月17日

相关推荐

  • 网络流量清洗是什么意思?基本原理及应用盘点

    “网络流量清洗技术主要用于清除目标对象的恶意网络流量,以保障正常网络服务通信。” 网络信息系统时常遭受DoS、DDoS等各类恶意网络流量攻击,造成网络服务品…

    2026年6月5日
    0
  • SQL 与 NoSQL 数据库对比:该怎么选?

    NoSQL 数据库凭借易用、好开发、扩展性强等特点,一直备受认可。在处理海量数据时速度快、使用灵活,如今在大数据和实时互联网应用中越来越普及。 但这不代表任何场景都适合换成 NoS…

    2026年4月22日
    0
  • 什么是 PostgreSQL?一款开源数据库系统

    PostgreSQL 是一款开源的对象关系型数据库系统,能安全、稳定地应对各种复杂的数据处理需求。下面就为大家介绍PostgreSQL的基本概念、常见应用场景。 什么是 Postg…

    2026年4月23日
    0
  • 什么是 CSRF 攻击?

    平时登录各类网站后,无需重复输入账号密码就能正常使用,这一便捷体验全都依靠 Cookie 实现。但 Cookie 在提升使用体验的同时,也存在安全漏洞,极易被不法分子利用,冒用用户…

    2026年5月18日
    0
  • 如何使用远程桌面连接 Windows 服务器?

    远程桌面能够实现远程连接Windows 服务器的操作,管理员可以远程访问和管理服务器。 在这篇文章中,我们将介绍如何使用远程桌面连接到 Windows 服务器。此外,我们还将探讨用…

    2026年3月28日
    0
  • oss对象存储服务是什么?

    高效地处理大规模数据已经成为许多企业的核心需求​​​​​​​,企业正日益借助大规模的对象存储来打造企业级数据池与智能存储服务,存储系统正朝着更具弹性、更高效、更智能的方向迈进,以契…

    2026年6月9日
    0
  • 什么是服务器性能监控?

    服务器性能监控,简单来说就是对服务器的各类系统资源进行实时观测,包括CPU使用率、内存占用、存储容量、I/O性能以及网络运行状态等。 做好这项工作,能帮我们及时发现服务器的各种异常…

    2026年4月23日
    0
  • 异地备份是什么?守护企业数据安全的最后防线

    在恶意攻击日益频繁的当下,数据备份已成为保障数据安全的关键环节。然而,除了恶意病毒外,人为失误或自然灾害导致的数据中心损毁,也可能使服务器中存储的重要数据突然消失。丢失重要数据更可…

    2026年4月2日
    0
  • 高防ip是什么?

    高防 IP 属于一项付费增值服务,主要用于解决互联网服务器遭遇大流量 DDoS 攻击后服务中断的问题。用户配置该 IP 后,可把攻击流量导向高防节点,保障源服务器平稳运行。该服务无…

    2026年5月27日
    0
  • 云主机快照有什么作用?

    伴随用户业务的推进,云主机磁盘数据持续发生变化,用户期望对某些关键时刻的数据进行备份,方便后续磁盘数据发生异常时,能够回退到备份时的状态,此时我们便可以借助云主机快照功能,实现数据…

    2026年6月13日
    0