前提
DNS→是打开了代理,A/AAAA解析是橙色。(如果您之前IP漏了,那么就需要换IP)
请关闭所有您之前设置的WAF→防火墙规则/速率限制规则/托管规则/工具,以及包含安全性的页面规则。
步骤
1、CF→安全性→设置→安全级别设置为:高
这里不要打开打开I’m Under Attack! 我受到攻击,因为这样就是任何请求会做人机验证,等待5秒钟:会掉收录,API无法通讯,需要写防火墙规则排除。)
质询通过期设置成:15分钟或者30分钟,严重可以设置5分钟(这里慎重设置,不要太低,不要太高!)
浏览器完整性检查:打开
2、CF→安全性→DDOS→HTTP DDoS 攻击防护
点右边的配置进入。
规则集操作(必填)设置为:托管质询或者直接阻止(建议你在受到攻击的时候直接阻止)
规则集敏感度(必填)设置为:高
3、CF→安全性→自动程序:打开自动程序攻击模式
4、CF→安全性→WAF→速率限制规则
创建一条速率限制规则,规则如下:
规则名称 (必需):自定义
如果传入请求匹配…
字段 URL路径
运算符 选择“包含”
值 自己输入英文的:/
速率限制匹配运算符包含输入英文 / 是关键,也代表网站所有目录都匹配
则…
选择操作:阻止
响应类型为 :默认 Cloudflare 速率限制响应(响应类型为 :默认 Cloudflare 速率限制响应,这会告诉访问被阻止,跳转到CF速度限制阻止页面。如果您想告诉您的网站访客发生了什么可以自定义HTML,利用UTF-8编码自己写个中文页面。)
对于…
持续时间 (必需) 10秒
当速率超过…
请求 (必需)35
期间 (必需)10秒钟
求:35 可以设置为25,但会影响正常用户,最好不要低于20。如果太低了,用户正常访问都会被阻止。如果您的网站是一个博客,我建议这里设置成50以上。如果你的网站类型有文字、有图片、有视频,这里不要低。如果你是CF付费版,建议用托管质询,而不是直接阻止。
5、在CF网络→路由→洋葱路由关掉
防火墙日志以及规则排除
可以在安全性→概述→防火墙事件,查看被拦截的日志记录
排除:上面的功能有两个容易触发误报,建议在没有任何攻击的情况下去排除。一个是“自动程序攻击模式”,除非你的API明确被拦截了可以关掉。
另外一个是“速率限制”,如果你的网站是一个博客,是一个论坛等,可以把第四步规则速率限制,其中的请求数调高。
上面所有的功能规则,实际上API不会被影响,整体误报率真的很低或几乎没有。如果您真的十分信任您的API,保证API不被泄露,而你的API真的会触发最低的安全级别/浏览器完整检查/速率限制/DDOS防护可以用以下方式:
安全性→ WAF→ 防火墙规则 → 创建防火墙规则→ 当传入请求匹配时…字段
如果IP是多变的,就选择URL,不要单纯选择URL,除非只有你一个人知道。
如果都不知道,可以用引用方匹配。
有多个字段需要匹配,就选Or加一个规则,不要选And,And不是单独匹配
再次重复上面的创建一个新的防火墙规则,这次选择允许
评论区