阿里云web防火墙配置防护CC 攻击的方法

简介:


CC攻击是网络上很常见的一种大规模攻击方案。流量超大,攻击很猛,一般的网站根本无法抵御。


什么是 CC 攻击


CC(Challenge Collapsar)该攻击与我们常见的 DDOS(网络层分布式拒绝服务攻击)不同之处在于,CC 攻击只会导致 WEB服务或者只是 WEB 服务中的某一接口或单一页面无法服务,相比网络层的拒绝服务攻击,其优势在于能够使用相对较少的资源对更为精确的目标进行攻击。


攻击方式


主要的攻击方式分为快速和慢速两种:


快速 CC 攻击是指快速请求服务器处理消耗较大的页面或者接口,这种方式是通过大量占用服务器的 CPU、IO 等资源,致使服务器无法正常响应其它用户的请求。
慢速 CC 攻击是指是通过与服务器建立连接后,以最慢的速度发送请求/读取响应,通过占用服务器的进程、线程、网络套接字等资源,达到导致服务器无法继续服务的目的,这种攻击一般针对 Apache、httpd 这类 thread-base 架构的服务器。
防护手段


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。

针对两种不同类型的攻击防护方式分别是:


快速攻击: 限制单一源IP的请求速率、限制并发连接数
慢速攻击: 限制单一请求的超时时间
Nginx 和 Apache 都有相应的模块来解决这类问题,只要配置得当能够抵挡住大多数的 CC 攻击,以下我们以 Nginx 为例看看具体的配置。


限制单一源 IP 的请求速率,平均每秒不超过 1 个请求,并且突发不超过 5 个请求:


http {


limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
...
server {
...
location /limit_req/ {
    limit_req zone=one burst=5;
}</code></pre>

}


限制并发连接数,单一源 IP 最大并发数是 100,总的连接数不超过 1000:


http {


limit_conn_zone $binary_remote_addr zone=one:10m;
limit_conn_zone $server_name zone=perserver:10m;
...
server {
...
limit_conn  one  100;                                              
limit_conn perserver 1000;
...</code></pre>

}


限制单个请求的超时时间:


http {


...
server {
...
client_header_timeout 60s; //等待客户端发送请求头的超时时间,将这个值改小可以应对慢速发送请求头的CC攻击;
client_body_timeout   60s; //读取客户端发送请求体的超时时间,将这个值改小可以应对慢速发送请求体的CC攻击;
keepalive_timeout     75s; //与客户端的连接超时时间,如果连接大量被占用,可以将其改小一些,释放被占用的连接,减轻服务器压力;
...</code></pre>

}


阿里云的Web应用防火墙对网站或者APP的业务流量进行恶意特征识别及防护,将正常、安全的流量回源到服务器。避免网站服务器被恶意入侵,保障业务的核心数据安全,解决因恶意攻击导致的服务器性能异常问题。
更多参阅阿里云web防火墙配置文档


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。

CC防护攻击紧急模式
当网站遇到CC攻击的时候,我们一般想到的是第一时间的恢复网站的业务,但这个时候我们可以直接在web应用防火墙上开启CC防护攻击紧急模式。开启之后,能够有效的对客户端校验。
image


这个模式有一个注意的点就是他这个模式只能对Web应用、网站应用及H5页面有效。对于API以及Native的App会造成大量的误杀,所以这两个应用场景下是不支持攻击紧急模式的。这种情况,我们建议的方案是使用CC自定义防护进行防御。
CC自定义防护
那么随着自定义的一个防御怎么来配置呢?有两个步骤,一是先要从攻击的日志中分析找到攻击的特征。然后使用工具或者对应的功能对我们发现的特征进行封禁,从而达到保护的目的。


特征分析
我们先来看一下CC攻击有哪些特征,一般情况下面最主要最明显的特征是某个URL的请求异常的集中。另外一方面,他请求的源IP异常的集中。第三点,他请求的Refer或者user-agent异常的集中。有了这几个概念之后,我们就可以根据这几个概念去分析日志,获取对应的特征。


我们可以以下面这个网站为例,可以看一下对应的时间段。
image
从这个日志的一个趋势来看,其实是被打得挺厉害的,峰值时间最高的时候有13万的QPS。那我们怎么来对这种攻击进行分析呢?我们采用了SLS的日志服务,快捷的自动化地进行分析分析的过程。


request URL分析
image


我们通过对request URL进行分析,可以看到他99%的请求全都请求了//index.php的路径。这个请求占这么大的量绝对是有问题的,正常情况下面对比相同时间段,其实不会有这么大的量出现。那么我们要做的事情就是把恶意的请求给他分辨出来,然后把它拦截表对他进行自定义的CC防护。


规则配置
image
配置规则的时候,对这个URL进行完全匹配,然后配置我们检测的周期是十秒或者五秒,然后对他进行的检测的次数,在这个时间范围内他访问的次数十次或5次。然后对应的主端动作是可以是封禁,也可以是人机识别。最后是他封禁的时间,可以封禁他三十分钟甚至更长。我的配置是采用封禁的策略,在十秒内访问五次就直接对他进行封禁的一个动作,从而达到对网站业务的一个防护。


这里可以看到还有一个是人机识别的阻断类型,人机识别它是对客户端的请求进行一个脚印的一个过程,它会返回给客户端一串特殊的代码,可以理解为JS的代码,让客户端去执行。


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。

如果能够正常的执行成功,那么说明这个客户端是一个真实的客户端。校验成功过后,我们对他进行加白,让他能够正常访问。如果不能执行,那么这个客户端我们不认为他是一个正常的客户端,会把他拉黑一段时间。这个时间就是我们配置上配的那个时间。


需要注意,在WAF前面如果有高防或者CDN的场景下,我们不建议使用封禁的策略,建议使用人机识别的策略。


经过这段配置,其实我们的网站业务能够得到一定的缓解,如果不能缓解的话,可以根据我们上面配置的一个策略进行调整。由松到紧配置仅一点达到缓解业务的一个效果。


IP分析
得到一定缓解之后,我们继续分析一只去分析更加精确的攻击特征加以保护,提高我们防护的效果。


先看一下源IP分布没有什么特征,没有在几个段里面,然后去查市里面。其实各个市都有,也没有市和省的维度,那这两个不能作为一个明显的一个特征去做防护。


refer或者user-agent分析
那么第三个去通过refer或者user-agent去看,通过refer去看的时候,这边就不说了,因为没有特别明显的特征,但是再去看user-agent的时候,发现99%的请求都是来自于microsoft和Firefox浏览器的请求。


这个访问比例与我们请求的request,index.php的请求比例是非常接近的,然后我们拿着这个user-agent去对比前一天相同时间段的请求,是否有这个user-agent。


前一天的相同时间段下没有出现过类似这样的一个UA。那么我们认为当前时间段出现这个UA的请求是异常的,是恶意的。那么我们针对这个UA进行防护的时候,我们使用WAF的精准防护,控制精准的对这个UA进行配置阻断。


WAF的精准防护配置
image
配置方式是为了更加准确而使用两个条件,一个是user-agent,让它包含Firefox,另外一个是URL包含上述所说的index.php,同时满足这两个条件的,那我们同时对他进行阻断的操作。


通过这种方式能够有效的将所有恶意的请求排除在外。真正回到原站的请求都是我们判断是可信的一个请求,从而达到防护的效果。
更多参阅阿里云web防火墙配置文档


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。
相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
5月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
469 4
|
6月前
|
安全 网络协议 NoSQL
Web渗透-常见的端口及对其的攻击思路
本文介绍了常见网络服务端口及其安全风险,涵盖FTP、SSH、Telnet、SMTP、DNS、HTTP、SMB、数据库及远程桌面等20余个端口,涉及弱口令爆破、信息泄露、未授权访问、缓冲区溢出等典型漏洞,适用于网络安全学习与渗透测试参考。
1223 59
|
6月前
|
监控 安全 物联网
阿里云WAF是什么?
Web应用防火墙(WAF)是保护网站、APP及API的关键防线,可实时监控并阻断恶意流量,防范数据泄露与常见攻击。它通过分析HTTP请求,识别威胁,保障敏感信息,满足合规要求,支持云、主机、网络多场景部署,助力企业构建坚实的安全屏障。
|
8月前
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
236 16
|
12月前
|
云安全 数据采集 安全
阿里云热门云安全产品简介:Web应用防火墙与云防火墙产品各自作用介绍
在阿里云的安全类云产品中,Web应用防火墙与云防火墙是用户比较关注的两款安全产品,二者在作用上各有侧重,共同构成了阿里云强大的安全防护体系。本文将对Web应用防火墙与云防火墙产品各自的主要作用进行详细介绍。
|
12月前
|
SQL 安全 网络安全
网络安全防御矩阵:从云防火墙流量清洗到WAF语义分析的立体化防护
在数字化浪潮中,网络安全日益重要。云防火墙依托云计算技术,提供灵活高效的网络防护,适用于公有云和私有云环境;Web应用防火墙专注于HTTP/HTTPS流量,防范SQL注入、XSS等攻击,保护Web应用安全。两者结合使用可实现优势互补,构建更强大的网络安全防线,满足不同场景下的安全需求。
468 1
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
358 0
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。
|
Web App开发 网络协议 安全
基于Web攻击的方式发现并攻击物联网设备介绍
基于Web攻击的方式发现并攻击物联网设备介绍
259 4