不需要会写规则,不需要分析流量,小白式的操作,随便点点鼠标就行了。非常简单!哪怕超过千万/亿次攻击,1H1G也防得住,网站不会挂,收录不会掉,API也不会影响!
确定您的网站被CF保护,也就是说DNS→是打开了代理,A/AAAA解析是橙色。(如果之前IP漏了,那么就需要换IP)
保护之前请关闭所有之前设置的WAF→防火墙规则/速率限制规则/托管规则/工具,以及包含安全性的页面规则!因为在这之前您可能按照网上的教程进行设置过,可能会影响到下面的规则优先级(如果您之前没有可以忽略这条)
首先进入受CF保护的网站,找到安全性
第一步:安全级别设置
CF→安全性→设置→安全级别设置为:高(可以打开I’m Under Attack!我受到攻击,任何人访问都会等待5秒钟进行检查,也就是常说的CF五秒盾!这里慎重打开I’m Under Attack!,因为会影响到网站收录、API、正常用户访问!)
质询通过期设置成:15分钟或者30分钟,严重可以设置5分钟(这里慎重设置,不要太低,不要太高!)
浏览器完整性检查:打开
第二步:攻击防护设置
CF→安全性→DDOS→HTTP DDoS 攻击防护,点右边的配置进入
规则集操作(必填)设置为:托管质询或者直接阻止
规则集敏感度(必填)设置为:高
第三步:自动程序打开
CF→安全性→自动程序:打开自动程序攻击模式
第四步:速率限制
CF→安全性→WAF→速率限制规则,创建一条速率限制规则,规则如下:
规则名称 (必需):自己填个
如果传入请求匹配…
字段 URL路径
运算符 选择“包含”
值 自己输入英文的:/
速率限制匹配运算符包含输入英文 / 是关键,也代表网站所有目录都匹配
则…
选择操作:阻止
响应类型为 :默认 Cloudflare 速率限制响应(响应类型为 :默认 Cloudflare 速率限制响应,这会告诉访问被阻止,跳转到CF速度限制阻止页面。如果您想告诉您的网站访客发生了什么可以自定义HTML,利用UTF-8编码自己写个中文页面。)
对于…
持续时间 (必需) 10秒
当速率超过…
请求 (必需)35
期间 (必需)10秒钟
请求:35 可以设置为25,但会影响正常用户,最好不要低于20。如果太低了,用户正常访问都会被阻止。
如果您的网站是一个博客,我建议这里设置成50以上。如果你的网站类型有文字、有图片、有视频,这里不要低。如果你是CF付费版,建议用托管质询,而不是直接阻止。
第五步:关掉洋葱路由
在CF网络→路由→洋葱路由关掉
最后等cf规则生效,大概30秒,一定要重启一下服务器,让服务器断开所有的程序连接!
不要依赖在服务器上设置系统防火墙,因为瞬间的CC攻击流量一开始就会占用大量CPU资源,像宝塔这种防火墙,就算有用,前期的识别匹配规则也需要消耗一定资源和时间。之后哪怕防火墙拦截了,但实际上DDOS L4攻击一直存在,如果攻击足够多,类型足够复杂,服务器上的系统防火墙也只不过拦截了DDOS L7攻击,但DDOS L4攻击把你宽带占满了,一样会挂。
防火墙日志以及规则排除
您可以在安全性→概述→防火墙事件,查看被拦截的日志记录。
排除:上面的功能有两个容易触发误报,建议在没有任何攻击的情况下去排除。一个是“自动程序攻击模式”,除非你的API明确被拦截了可以关掉。
另外一个是“速率限制”,如果你的网站是一个博客,是一个论坛等,可以把第四步规则速率限制,其中的请求数调高。
上面所有的功能规则,实际上API不会被影响,整体误报率真的很低或几乎没有。如果您真的十分信任您的API,保证API不被泄露,而你的API真的会触发最低的安全级别/浏览器完整检查/速率限制/DDOS防护可以用以下方式:
安全性→ WAF→ 防火墙规则 → 创建防火墙规则→ 当传入请求匹配时…字段。
字段:IP源地址
运算符:等于
如果你知道API请求IP就选择IP源地址:
URL完整——URL——URL路径——URL查询字符串
如果IP是多变的,就选择URL,不要单纯选择URL,除非只有你一个人知道。
如果都不知道,可以用引用方匹配。
有多个字段需要匹配,就选Or加一个规则,不要选And,And不是单独匹配。
选择操作(必需)
绕过
选择功能(必需)
用户代理阻止、浏览器完整性检查、Hotlink保护、安全级别、速率限制
再次重复上面的创建一个新的防火墙规则,这次选择允许!