全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 8540|回复: 61

[经验] 【最新】免费版cloudflare如何防CC攻击?不需要动手写规则!

  [复制链接]
发表于 2022-11-6 17:06:41 | 显示全部楼层 |阅读模式
本帖最后由 SK_ 于 2022-11-12 04:49 编辑

以下操作不需要您会写规则,不需要您分析流量,小白式的操作,随便点点鼠标就行了。非常简单!哪怕超过千万/亿次攻击,1H1G也防得住,网站不会挂,收录不会掉,API也不会影响!

确定您的网站被CF保护,也就是说DNS→是打开了代理,A/AAAA解析是橙色。(如果您之前IP漏了,那么就需要换IP)
保护之前请关闭所有您之前设置的WAF→防火墙规则/速率限制规则/托管规则/工具,以及包含安全性的页面规则!因为在这之前您可能按照网上的教程进行设置过,可能会影响到下面的规则优先级(如果您之前没有可以忽略这条)

首先进入受CF保护的网站,找到安全性:


第一步(意义:这里主要的功能就是拦截那些IP黑名单,几乎没有误报):

CF→安全性→设置→安全级别设置为:高(这里不要打开打开I'm Under Attack!我受到攻击,因为这样就是任何请求会做人机验证,等待5秒钟:会掉收录,API无法通讯,需要写防火墙规则排除。)
质询通过期设置成:15分钟或者30分钟,严重可以设置5分钟(这里慎重设置,不要太低,不要太高!)
浏览器完整性检查:打开

图片参考:https://ibb.co/C93vht2

第二步(意义:根据CF的机器学习识别到DDOS攻击,误报很低。):

CF→安全性→DDOS→HTTP DDoS 攻击防护,点右边的配置进入

规则集操作(必填)设置为:托管质询或者直接阻止(建议你在受到攻击的时候直接阻止)
规则集敏感度(必填)设置为:高


图片参考:https://ibb.co/nsxB8ts


第三步(意义:这里就需要考虑到你的网站有没有与用户的客户端或者其他服务器进行API通信,存在一定误报率。一般使用的程序越老旧就越容易触发误报。):

CF→安全性→自动程序:打开自动程序攻击模式

图片参考:https://ibb.co/L6fC7QD





第四步(意义:最后的防线,一般而言就漏掉的攻击):
CF→安全性→WAF→速率限制规则,创建一条速率限制规则,规则如下:

规则名称 (必需):自己填个

如果传入请求匹配…
字段               URL路径
运算符               选择“包含”
值                     自己输入英文的:/

速率限制匹配运算符包含输入英文 / 是关键,也代表网站所有目录都匹配

则...
选择操作:阻止  
响应类型为 :默认 Cloudflare 速率限制响应(响应类型为 :默认 Cloudflare 速率限制响应,这会告诉访问被阻止,跳转到CF速度限制阻止页面。如果您想告诉您的网站访客发生了什么可以自定义HTML,利用UTF-8编码自己写个中文页面。)

对于…
持续时间 (必需) 10秒
当速率超过…
请求 (必需)35
期间 (必需)10秒钟


请求:35 可以设置为25,但会影响正常用户,最好不要低于20。如果太低了,用户正常访问都会被阻止。如果您的网站是一个博客,我建议这里设置成50以上。如果你的网站类型有文字、有图片、有视频,这里不要低。如果你是CF付费版,建议用托管质询,而不是直接阻止。

图片参考:https://ibb.co/H7r0tbH

图片参考:https://ibb.co/HVkq5kf


第五步(有些攻击会通过TOR节点绕开CF质询,这里建议关掉):在CF网络→路由→洋葱路由关掉

图片参考:https://ibb.co/RBjSH4N

最后等cf规则生效,大概30秒,一定要重启一下服务器,让服务器断开所有的程序连接

不要依赖在服务器上设置系统防火墙,因为瞬间的CC攻击流量一开始就会占用大量CPU资源,像宝塔这种防火墙,就算有用,前期的识别匹配规则也需要消耗一定资源和时间。之后哪怕防火墙拦截了,但实际上DDOS L4攻击一直存在,如果攻击足够多,类型足够复杂,服务器上的系统防火墙也只不过拦截了DDOS L7攻击,但DDOS L4攻击把你宽带占满了,一样会挂。


防火墙日志以及规则排除

Image 003.png (12.64 KB, 下载次数: 1)
您可以在安全性→概述→防火墙事件,查看被拦截的日志记录。

排除:上面的功能有两个容易触发误报,建议在没有任何攻击的情况下去排除。一个是“自动程序攻击模式”,除非你的API明确被拦截了可以关掉。
另外一个是“速率限制”,如果你的网站是一个博客,是一个论坛等,可以把第四步规则速率限制,其中的请求数调高。

上面所有的功能规则,实际上API不会被影响,整体误报率真的很低或几乎没有。如果您真的十分信任您的API,保证API不被泄露,而你的API真的会触发最低的安全级别/浏览器完整检查/速率限制/DDOS防护可以用以下方式:
安全性→ WAF→ 防火墙规则 → 创建防火墙规则→ 当传入请求匹配时...字段

Image 002.png (834 Bytes, 下载次数: 1) Image 003.png (1.54 KB, 下载次数: 0) Image 004.png (4.13 KB, 下载次数: 0) Image 006.png (7.87 KB, 下载次数: 0)
如果你知道API请求IP就选择IP源地址
Image 005.png (2.64 KB, 下载次数: 0)
如果IP是多变的,就选择URL,不要单纯选择URL,除非只有你一个人知道。
如果都不知道,可以用引用方匹配。

有多个字段需要匹配,就选Or加一个规则,不要选And,And不是单独匹配。

绕过
Image 007.png (28.54 KB, 下载次数: 1)


再次重复上面的创建一个新的防火墙规则,这次选择允许
Image 008.png (28.48 KB, 下载次数: 0)


 楼主| 发表于 2022-11-6 17:20:29 | 显示全部楼层
toot 发表于 2022-11-6 17:11
只有一条免费规则。

每一条规则只能设置特定页面,例如说结尾html页面。其他页面是防不住的。cc脚本却是见 ...

免费规则匹配路径包含了/,其实就是匹配了所有,因为您正常打开https://google.com/,后面是有个/的,只是浏览器默认隐藏了。

如果网站下面有个.js 文件,其实应该是https://google.com/1.js ,一样可以正常匹配到的。

其实默认一条规则,可以设置很多个路径。

点评

借楼,不重启服务器也可以吧,重启下nginx就行  发表于 2022-11-6 20:32
发表于 2022-11-6 17:11:40 | 显示全部楼层
本帖最后由 toot 于 2022-11-6 17:12 编辑

只有一条免费规则。

每一条规则只能设置特定页面,例如说结尾html页面。其他页面是防不住的。cc脚本却是见缝插针。你设置html页面,cc脚本可以攻击其他非html页面。甚至攻击网页内的js文件

你需要设置多条规则。当然就要花钱


然后我又回到了宝塔,宝塔7.7.0原版备份https://github.com/8838/btpanel-v7.7.0
发表于 2022-11-6 17:08:02 | 显示全部楼层
感谢大佬,make了
发表于 2022-11-6 17:08:57 | 显示全部楼层
收藏从未停止,实践从未开始,谢谢分享
发表于 2022-11-6 17:09:23 | 显示全部楼层
技术贴 绑定
发表于 2022-11-6 17:13:39 来自手机 | 显示全部楼层
toot 发表于 2022-11-6 17:11
只有一条免费规则。

每一条规则只能设置特定页面,例如说结尾html页面。其他页面是防不住的。cc脚本却是见 ...

7.7有什么特别?
发表于 2022-11-6 17:26:57 来自手机 | 显示全部楼层
SK_ 发表于 2022-11-6 17:20
免费规则匹配路径包含了/,其实就是匹配了所有,因为您正常打开https://google.com/,后面是有个/的,只 ...

测试了下这样确实可以。不过只有一条免费还是太少了
发表于 2022-11-6 18:03:36 | 显示全部楼层
宝塔nginx防火墙设置好久可以防⠀
 楼主| 发表于 2022-11-6 18:06:36 | 显示全部楼层
toot 发表于 2022-11-6 17:26
测试了下这样确实可以。不过只有一条免费还是太少了

请求匹配规则是可以设置很多个的。唯一的不同免费版默认就是阻止,只有IP等。付费可以质询,根据不同访问类型细化。https://developers.cloudflare.com/waf/rate-limiting-rules/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-27 09:40 , Processed in 0.108663 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表