在评估高防CDN时,经常听到"四层防护""七层防护"这样的术语。很多人把它们理解为"防护强度"的差异——七层比四层更强。这是一个典型的误解。四层和七层不是强弱关系,而是分工关系。它们拦截的攻击类型完全不同,缺一不可。
本文拆解四层防护与七层防护各自的工作位置、拦截目标和协同逻辑,帮助技术团队在选型时判断一套高防CDN的防护链路是否完整。
一、四层防护(L4):管的是连接,不是内容
四层防护工作在OSI模型的传输层(TCP/UDP),它看到的是"数据包"和"连接",看不到HTTP请求的内容。这意味着四层防护能够处理的是连接层和流量层的攻击。
四层防护拦截的典型攻击包括:SYN Flood(半连接队列耗尽)、UDP反射放大(DNS/NTP/memcached放大)、ACK Flood(虚假确认包洪泛)、连接耗尽(大量并发连接占满服务器连接表)。这些攻击的共同特征是它们不需要建立完整的应用层会话,仅靠传输层的数据包就能对服务器造成压力。
四层防护的核心能力是TCP代握手和流量清洗。清洗中心代替源站完成TCP三次握手,只把通过验证的连接转发给源站,源站的半连接队列始终处于健康水位。这个机制在高防CDN的TCP代握手机制中有详细拆解。
四层防护的局限在于:它无法区分"正常的HTTP请求"和"恶意的CC攻击请求"。 因为CC攻击请求在传输层是完全合法的TCP连接,四层防护看到的是一个正常的连接,无法判断这个连接背后是真人还是机器。
二、七层防护(L7):管的是请求,不是连接
七层防护工作在OSI模型的应用层(HTTP/HTTPS),它能够解析HTTP请求的完整内容——URL、请求头、Cookie、请求体。这意味着七层防护能够处理的是应用层的攻击。
七层防护拦截的典型攻击包括:CC攻击(高频请求特定接口)、SQL注入(恶意构造查询语句)、XSS跨站脚本(注入恶意脚本)、恶意爬虫(批量抓取内容)、API滥用(绕过业务逻辑的异常调用)。这些攻击的共同特征是它们伪装成正常的HTTP请求,只有解析请求内容才能识别。
七层防护的核心能力是WAF规则匹配和行为分析。WAF基于已知攻击特征的规则库进行匹配,能够快速拦截SQL注入、XSS等常见攻击。行为分析则通过建立正常用户的行为基线,识别偏离基线的异常请求。坚果盾高防CDN的AI无感拦截方案就是七层防护中行为分析路径的典型实现。
七层防护的局限在于:它必须建立在TCP连接已经建立的基础上。 如果攻击流量在四层就已经把服务器的连接资源耗尽,七层防护根本没有机会工作。
三、为什么两者必须配合
四层和七层防护的分工可以用一个比喻理解:四层防护是"大门保安",负责检查进入大楼的人是否有合法的门禁卡;七层防护是"楼层前台",负责检查进入楼层的人是否有权限访问具体房间。 如果大门保安失职,任何人都能进入大楼,楼层前台的工作量会剧增;如果楼层前台缺失,进入大楼的人可以随意访问任何房间。
现代混合型攻击正是利用了这个协同机制中的缝隙。攻击者可能同时发起两种攻击:用SYN Flood攻击传输层,消耗服务器的连接资源;同时用CC攻击应用层,消耗服务器的CPU和数据库资源。如果防护体系只有四层防护,CC攻击会穿透;如果只有七层防护,SYN Flood会先打瘫服务器。
完整的防护链路应当是:四层防护先拦截连接层攻击,把合法的TCP连接放行到七层;七层防护再对HTTP请求进行内容检测和行为分析,拦截应用层攻击;清洗后的合法请求回源到源站。
| 对比维度 | 四层防护(L4) | 七层防护(L7) |
|---|---|---|
| 工作位置 | 传输层(TCP/UDP) | 应用层(HTTP/HTTPS) |
| 看到的内容 | 数据包、连接 | URL、请求头、请求体 |
| 拦截的攻击 | SYN Flood、UDP反射、连接耗尽 | CC攻击、SQL注入、XSS、恶意爬虫 |
| 核心机制 | TCP代握手、流量清洗 | WAF规则、行为分析、JS挑战 |
| 局限 | 无法区分正常请求和CC攻击 | 依赖TCP连接已建立 |
四、选型时如何评估防护链路的完整性
评估高防CDN的防护能力时,不能只看"支持几层防护",而要看每一层的防护机制是否完整。以下问题可以用于对照评估:
四层防护方面:清洗中心是否代替源站完成TCP三次握手?入口PPS容量是否与防护带宽匹配?是否支持UDP反射攻击的识别和过滤?
七层防护方面:是否具备WAF规则库?是否支持自定义规则?是否有基于行为分析的CC防护能力?误封率是否可量化监控?
协同方面:四层防护和七层防护是否在同一套架构内协同工作?清洗后的流量如何回源?回源链路是否经过协议优化?
坚果盾高防CDN的产品配置显示,其全系列套餐均支持WS、H3、WAF、L2四类协议,其中WAF对应七层防护,L2对应二层转发,商务版及以上支持WS和H3,增强版及以上支持L2。这种协议矩阵的设计说明其防护链路覆盖了从L2到L7的完整层级,而不是只做单层防护。
五、结语
四层防护和七层防护不是"更强"和"更弱"的关系,而是"管连接"和"管请求"的分工关系。完整的防护链路需要两者协同工作:四层先拦截连接层攻击,七层再拦截应用层攻击。选型时判断一套高防CDN是否合格,不是看它"支持几层",而是看每一层的防护机制是否完整、两层之间的协同是否顺畅。