如果你也在选高防服务器,或者你的网站最近老是被搞,那你一定见过“L3/L4/L7防御”“CC防护”“WAF”这些词。要理解七层防御,得先理解OSI七层模型。别被这个名字吓到,其实特别简单。
你可以把网络传输想象成寄快递:最底层是运输工具(卡车、飞机),最顶层是你写在快递单上的具体内容。我们平时说的“网络层”和“传输层”就是四层以下的东西——IP地址、端口、TCP/UDP协议这些。而“应用层”就是第七层,也就是HTTP/HTTPS协议这一层,简单说就是你的网站、API接口、视频流这些用户真正能感知到的东西。
四层防御(也就是传统的高防)看的是快递包裹上的地址和寄件人,判断这个包裹要不要拦下来。七层防御不一样,它会打开包裹,看里面的东西本身——这个请求是正常用户在浏览器里点的,还是攻击者用脚本伪造的?是一段正常的JSON数据,还是一段试图搞垮你数据库的SQL注入语句?
这就是区别。四层防御是大门保安,看身份证;七层防御是前台客服,看你说的话有没有问题。
七层防御到底在防什么?
先说说最臭名昭著的CC攻击
CC攻击全名叫Challenge Collapsar,翻译过来就是“搞垮黑洞”。它的逻辑特别简单,但特别恶心:攻击者用大量的肉鸡(被控制的电脑、手机、IoT设备)不停地请求你网站上最耗资源的那个页面。
比如你的网站有个搜索功能,查一次数据库要0.1秒。正常情况下,100个人同时搜索,服务器轻轻松松。但如果有人用10万个肉鸡不停地发搜索请求呢?你的数据库瞬间就爆了。这跟DDoS不一样,DDoS是用流量把带宽堵死,CC攻击是用请求把CPU和内存耗光。
四层防御拿CC攻击没办法,因为这些请求都是合法的HTTP请求,源IP可能也是真实的、分散的。只有在七层,通过分析请求的行为特征,才能识别出来——比如这个IP一秒钟发了几百个请求,正常人做不到;比如这个请求的User-Agent是空的,正常浏览器不会这样。
还有更阴的Slowloris慢速攻击
这玩意儿更损。它不是猛攻,而是跟你耗。攻击者跟服务器建立连接,然后一个字节一个字节地往外吐请求头,拖几分钟才把请求发完。服务器的连接池是有限的,被这些半死不活的连接占满了,正常用户就进不来了。
这就好比有人打电话进来,接起来之后不说话也不挂断,就把电话线占着。接线员只能干等着,别的电话打不进来。这种攻击在四层看起来就是一些正常的TCP连接,根本看不出问题,只能在七层通过检测请求的完成时间来发现和拦截。
以及那些想偷数据的SQL注入和XSS
这个就比较传统了。攻击者在你的登录框里输入' OR '1'='1,试图骗过后台SQL语句,直接登录你的账户。或者在评论区里塞一段恶意的JavaScript代码,想偷看其他用户的Cookie。
这些攻击都藏在HTTP请求的参数里,四层根本看不见。只有七层的WAF(Web应用防火墙)能解析HTTP协议,把参数提取出来,用规则库去匹配,然后拦截。
七层防御是怎么干活的?几个核心技术
健康检查:不止是看通不通
这是一个很多用户不知道但非常重要的功能。四层的健康检查很简单——去ping一下后端服务器的IP,通了就算活着。但七层的健康检查就聪明多了:它会向你的后端服务器发一个真正的HTTP请求,然后看返回的状态码。
比如你可以配置:返回200算正常,返回502或者504就算挂了。一旦检测到挂了,高防集群会自动把流量切到别的正常服务器上,你的用户几乎感知不到。
这有什么用?想象一下,你的Web服务器进程卡死了,端口还能通,四层检查会认为它活着,然后把请求发过去——结果就是用户一直转圈。七层检查能发现HTTP返回异常,自动摘掉这台问题服务器,你的网站就不会因为这个故障而完全瘫痪。
AI智能防护:让机器学会“正常”是什么样子
这是近几年才普及的技术。传统的防护策略是人工配置的——比如“每秒超过100次请求就拉黑”。但攻击者也会变,手工配规则永远慢半拍。
AI智能防护的做法是:让系统先学习你网站的正常流量特征,学个三五天,摸清楚你的业务规律。你是个电商网站,平时白天流量大,凌晨流量小,这都正常。然后系统就知道了“什么情况算是异常”。
一旦出现攻击,系统能实时生成新的防护策略,把那些异常流量特征识别出来并拦截。而且这个策略是动态更新的,攻击者在变,系统也在变。
加盐(SALT)动态规则:让攻击者猜不透
这是个比较硬核的技术,但我说个简单的版本你就懂了。
传统的WAF防护靠的是固定规则,比如“请求头里必须带某个特定值”。但攻击者只要能拦截一个正常请求看一眼,这个规则就暴露了,他们可以大批量复制。
“加盐”的做法是:防护规则是动态变化的,每隔一段时间自动换一套。正常用户怎么知道新规则呢?服务器会告诉客户端“去这里下载最新的规则索引”,客户端拿过来再重新构造请求。
攻击者还在用旧的规则发请求,结果全被WAF拦下了。就像你家里的门锁密码每隔五分钟换一次,告诉了你,但没告诉小偷。这个方案已经在游戏行业的实战中验证过了,非常有效。
全局防护策略与AI的配合
简单说,全局策略是“通用武器”,对付已知的攻击类型,一上来就生效,延迟低,覆盖面广。AI策略是“定制武器”,针对你业务的独特性,实时学习、实时调整,能对付未知的攻击。
两者配合使用,效果最好。通用策略兜底,AI策略补漏。
高防CDN和高防IP,到底选哪个?
高防CDN靠的是节点多、分布广,流量被分散到各个节点,自然就有了防御能力。它的优点是:加速效果好,七层防护能力强,因为CDN本来就是做七层转发的。缺点是:单节点防御能力有限(通常20-100Gbps),而且节点IP是共享的,一个域名被打可能会牵连其他用户。
高防IP靠的是单节点的超大带宽和清洗能力(几百Gbps甚至T级)。优点是:防御能力强,适合大流量攻击。缺点是:节点少,加速效果不如CDN。
怎么选?如果对网站速度要求极高,而且预估攻击流量不会太大(低于100Gbps),选高防CDN。如果是游戏、金融这类对实时性要求高、容易成为靶子的业务,或者不确定攻击者有多猛,选高防IP。当然,现在很多厂商也提供两者结合的产品。
说实话,七层防御也有局限。
第一,它贵。七层防护消耗的计算资源比四层大得多,价格自然高出一截。
第二,配置复杂。四层防护你把IP指过去基本上就能用了,七层需要你配置各种规则——哪些URL需要防护、阈值设多少、白名单怎么配。配置不好,要么防护不住,要么误杀正常用户。
第三,对抗的是“聪明”的攻击。七层防御本质上是在跟攻击者斗智斗勇,攻击手段在进化,防御手段也要跟进,没有一劳永逸的事。
七层防御说白了,就是让你的服务器不只是“认识”访客,还能“听懂”访客在说什么。它看到的不只是IP和端口,而是真正理解HTTP协议,能分辨哪些请求是善意的、哪些是恶意的。
理解了这个,你就知道为什么普通的四层高防挡不住CC攻击,为什么你的网站慢不一定是因为带宽不够,为什么有些攻击能绕过高防直接打到你的源站。
选不选七层防御,取决于你的业务场景。如果你只是跑一个个人博客,被攻击了最多关几天,那没必要花这个钱。但如果你是做电商、游戏、金融的,宕机一小时的损失远超高防的成本,那就别犹豫。
相关内容
