安全篇 Web网站类 CC防护

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 大家好,云吞铺子又和大家见面了;我叫枫凡,是技术服务中心的工程师;借这个机会主要和大家分享一下,Web网站应用在受到CC攻击的情况分析以及防护的一些心得。 一键防护 当网站受到CC攻击时,第一优先级为想办法恢复业务;可以尝试直接在Web应用防火墙开启CC安全防护 攻击紧急,需要注意的是,攻击紧急模式适用于网页/H5页面,但不适用于API/Native App业务(会造成大量误杀),针对后面这个情况,我们建议使用CC自定义防护;根据攻击者所攻击的特征配置防护规则。

视频学习

CC防护分析

大家好,云吞铺子又和大家见面了;我叫枫凡,是技术服务中心的工程师;借这个机会主要和大家分享一下,Web网站应用在受到CC攻击的情况分析以及防护的一些心得。

一键防护

当网站受到CC攻击时,第一优先级为想办法恢复业务;可以尝试直接在Web应用防火墙开启CC安全防护 攻击紧急,需要注意的是,攻击紧急模式适用于网页/H5页面,但不适用于API/Native App业务(会造成大量误杀),针对后面这个情况,我们建议使用CC自定义防护;根据攻击者所攻击的特征配置防护规则。
image

CC防护思路

  1. 分析请求日志找出攻击者的特征;
  2. 针对攻击者的特征,使用工具将恶意的请求进行封堵;
在分析日志之前,我们先来看看常见的网站CC攻击一般有哪些特征。
1、攻击的目标URL异常集中;
2、攻击的源IP异常集中;
3、攻击的源IP在某几个IP段或者某几个省;
4、使用相同的Referer或者User-Agent等;

操作实践

有了这些概念,那么我们根据这几个特征去通过分析日志。 我们以这个网站为例:www.xxxx.cn 在如图的这个时间段内,峰值最高打了13W左右的QPS。
image
碰到这个情况,我们根据之前的CC攻击特征;先分析被攻击的URL是哪个?我们这里使用的是自动化的分析工具sls日志服务;

分析日志

使用sls日志服务查询得到结果绝大部分的请求都在访问 //xxx/index.php这个URL,而正常情况下这个URL,不太可能有那么高的访问
92101b6c34000db9dcf95c580980802e0e5665cf
发现了这个攻击特征之后,那么在WAF的控制台上查到CC自定义防护中配置这个路径进行防护。

配置防护

配置如下:URI使用我们通过日志分析出来的路径完全匹配;检测10S,单一源IP访问5次,执行封禁,封禁30分钟;
b857d6c83130d6e166207c80bee0f88c138f3e94
可以理解为,一个源IP在10S内访问超过5次,就触发封禁;這是一个比较严格的策略;这个频率可以根据自己业务的经验进行调整;
当然如果发现防护效果不好,可以初步的设置更加严格的策略。同时也可以选“人机识别”进行防护,人机识别是WAF返回一段特殊的代码给客户端(WAF返回200状态码),判断客户端是否可能正常执行这个代码;如果能够执行则通过验证,然后放行;如果无法执行,这个客户端IP就会加黑对应的时间。如果在网站架构中,WAF前端有高防或者CDN之类的产品,推荐使用人机识别进行防护。

深挖攻击特征

在这个时候网站业务正在慢慢恢复;我们继续分析日志,找到更加精确的攻击特征加以防护,
1.分析客户端IP分布
我们通过分析客户端真实IP地址时,TOP10的IP地址以及地域分布情况如下,看不出明显的异常。
b100445172c241193ae92922ec3064c414198eb7

2.分析user_agent特征
有大量的请求使用到的UA是“"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9b5) Gecko/2008032619 Firefox/3.0b5”这个UA,看着是一个MAC OS系统下FireFox的浏览器,由于业务是APP类型的;很少会有MAC OS系统下的访问,同时我们对比正常时间段访问记录的user_agent 没有发现 Firefox 字样的user_agent记录;可以判断该user_agent 是异常的;
image
根据这个攻击特征,我们使用WAF的精准访问控制策略对该user_agent进行控制,配置如下,对于包含Firefox进行封禁;阻断的策略
0028e53ad6855599887728b0cbb8c2df29d6b99d


通过这种组合策略的防护策略能够更好保护业务正常对外提供服务。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
13天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
33 1
|
16天前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
50 4
|
15天前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
43 2
|
1月前
|
Web App开发 前端开发 JavaScript
Web开发者必收藏的10个实用网站,你还没收藏吗?
将这些网站收藏起来,定期访问,使它们成为您日常工作的一部分,助您在快速发展的 Web 开发领域保持领先。
99 2
Web开发者必收藏的10个实用网站,你还没收藏吗?
|
17天前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
50 3
|
16天前
|
人工智能 搜索推荐 PHP
PHP在Web开发中的璀璨星辰:构建动态网站的幕后英雄###
【10月更文挑战第25天】 本文将带您穿越至PHP的宇宙,揭示其作为Web开发常青树的奥秘。通过生动实例与深入解析,展现PHP如何以简便、高效、灵活的姿态,赋能开发者打造动态交互式网站,同时不忘探讨其在新时代技术浪潮中面临的挑战与机遇,激发对技术创新与应用的无限思考。 ###
24 1
|
19天前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
32 1
|
23天前
|
Kubernetes 安全 应用服务中间件
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
43 3
WK
|
16天前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
19 0
|
1月前
|
缓存 安全 JavaScript
掌握JAMstack:构建更快、更安全的Web应用
JAMstack 是一种现代 Web 开发架构,结合 JavaScript、APIs 和 Markup,创建更快、更安全的 Web 应用。其核心优势包括高性能、安全性、可扩展性和易维护性。JAMstack 通过预构建静态页面和 API 实现高效渲染,利用静态站点生成器如 Gatsby 和 Next.js,并借助 CDN 和缓存策略提升全球访问速度。尽管面临复杂交互、SEO 和数据更新等挑战,但通过 Serverless Functions、预渲染和实时 API 更新等方案,这些挑战正逐步得到解决。