新版 CloudFlare CDN 网站防攻击设置

1.设置前说明

网站程序为WordPress,不同程序可能需要微调下策略。

CloudFlare免费版默认设置是针对整个域名的,如果你有其他二级域名站点,需要注意下这个策略对你其他站点有没有影响。

在你使用CloudFlare前确保你的源站IP没有暴露,否则对方可以直接指定hosts到你的源站IP,CloudFlare就形同虚设。

如果源站IP已经暴露,先把数据备份出来。开一台新服务器创建站点。

关于CloudFlare接入的基础操作这里就不讲了,比如SSL设置之类。

下面的规则自己实际使用后一定不要暴露出来,否则攻击者会针对性的进行攻击。建议自己进行规则微调。

2.策略详情

策略设置有优先级,排名靠前的优先级大于后方策略。所以说针对搜索引擎蜘蛛的策略,一定放在第一个!

2.1 waf设置


WAF策略总览

2.1.1搜索引擎蜘蛛策略

表达式

(cf.client.bot)

 

主要作用:CloudFlare 对于常见搜索引擎蜘蛛IP有自己的一份数据库,符合此要求的请求将会直接访问网站数据。不会经过 CloudFlare 的 WAF 策略等。避免正常蜘蛛访问被拦截。

2.1.2登录页策略

网站我们正常运行必然有访客进行注册登录,针对我们的登录页以及常见被扫描的地址,我们可以单独设置一下人机验证。

表达式

(http.request.full_uri contains "xmlrpc.php" and http.request.full_uri contains "wp-login.php")

 

主要作用:本站是WordPress程序,所以设置了xmlrpc.php和wp-login.php地址。其他程序根据自己实际情况设置。优先级低于蜘蛛,放到第二也是为了防止有些访客挂着代理被后续的策略阻止。

2.1.3威胁分数策略

此策略是防攻击的主力策略,这一项可以阻挡90%的攻击。

表达式

(cf.threat_score ge 2 and http.user_agent ne "rss" and not cf.client.bot)

 

主要作用:威胁分数大于等于2,可以阻挡90%的恶意IP。CloudFlare 默认推荐分数5实测基本给攻击全漏了进来,设置3同样有漏IP。所以根据2023年9月目前的网络来说这里建议设置为2!

rss是因为站点有很多人通过RSS进行订阅,所以针对此类请求我们不要对他进行人机验证。

这里针对RSS策略比较简单,如果攻击者知道了你的策略可能会针对性攻击,我们实际使用时可以适当变通一下。

2.1.4细化攻击策略

上一个策略是简单的通过威胁分数判断,现在这个策略则是针对漏进来的攻击IP进行针对性的过滤。

表达式

(ip.geoip.country ne "CN" and not cf.client.bot and not http.request.full_uri contains "/feed" and ip.src ne 原站IP and not http.request.full_uri contains ".html" and not http.user_agent contains "WellKnowBot" and cf.threat_score ge 3)

 

主要作用:首先过滤国家不等于china,因为来自国内的攻击IP极少。我们的访客绝大多数也来自china所以直接略过国家。

/feed是我们的RSS订阅地址,我们同样略过此地址。

IP源地址是我们的源站IP,针对源站IP来的请求数据我们同样略过。

URL不包含.html是因为本次攻击地址都不是.html地址,所以略过了。我网闸对于.html地址也有缓存。大家自己设置时候这一个可以删掉。

UA字段WellKnownBot,这个是当时翻策略拦截日志发现的一个UA,好像是个正常请求。所以给他过滤了。

威胁分数大于3,这里是保证整个策略不至于过于严格,只针对威胁分数大于 3 的 IP 生效。

2.1.5地区策略

表达式

(ip.geoip.country eq "AM")

 

这里一般不需要设置,我是看攻击IP有大量来自美国的IP,网站基本没国外访客,但是来自美国的攻击IP居多,所以来自美国的IP全部进行CAPTCHA交互式人机验证。

2.2 DDOS策略

CloudFlare针对DDOS有自己的分析策略可供我们使用。

这里CloudFlare的DDOS实际是包含我们常说的CC攻击的,七层和四层区别。


CloudFlare会分析请求是否是DDOS,对于符合的请求我们可以选择进行验证。另外规则集敏感度也可以进行调整。

这里如果你正在被攻击,可以将敏感度设置为高。实测误比较少,如果网站长期套CloudFlare,我们可以设置为中。

2.3 其他WAF设置

2.4 缓存设置

缓存设置好也可以帮助我们抵挡巨量的CC攻击。有些CC是很多IP随即攻击一个地址,如果我们的安全策略没有拦截到攻击。但是我们设置了缓存,那这些请求则会在CloudFlare边缘节点直接将缓存内容返回给请求。也达到了抗攻击的效果。

缓存设置是在多个位置进行的。下面大家看截图就好。



上面的是基础缓存,对于页面的缓存我们使用下面的规则。



2.5 其他杂项

一些设置比较散乱,这里给大家列出来。

Tor洋葱路由关闭,否则攻击可能穿进源服务器。

2.6 最终防御5秒盾

目前本站遇到的攻击无需开启五秒盾。

如果你的攻击比较大,而且依靠上面规则无法抵挡的话,就开启这个吧。开启后所有请求都会进行人机验证,影响较大。

方法二、

规则一:屏蔽海外地区访问

屏蔽一些非中国的大陆的访问

表达式:

(ip.geoip.country ne "CN")

 

规则二:IDC ASN验证

这里提到的ASN 为自治网络的代码,如AS4134为中国电信。以下列表中基本是数据中心服务商的代号,因为对外提供租赁它们也是常见的网络攻击来源,而非海外真实访客常用的家庭宽带ISP 。

表达式:

ip.geoip.asnum in {174 195 209 577 792 793 794 1215 1216 1217 2497 2914 3223 3255 3269 3326 3329 3457 3462 3598 4184 4190 4637 4694 4755 4785 4788 4816 4826 4835 5056 5610 5617 6471 6584 6830 6876 6877 6939 7029 7224 7303 7489 7552 7684 8068 8069 8070 8071 8074 8075 8100 8220 8560 8881 8987 9009 9299 9312 9370 9534 9678 9952 9984 10026 10453 11351 11426 11691 12076 12271 12334 12367 12874 12876 12989 14061 14117 14140 14576 14618 15169 16276 16509 16591 16629 17043 17428 17707 17788 177 89 17790 17791 18013 18228 18403 18450 18599 18734 18978 19527 19740 20207 20473 20552 20554 20860 21704 21769 21859 21887 22773 22884 23468 23724 23885 23959 2 3969 24088 24192 24424 24429 24940 25429 25697 25820 25935 25961 26160 26496 26818 27715 28429 28431 28438 28725 29066 2928 6 29287 29802 30083 30823 31122 31235 31400 31898 32097 32098 32505 32613 34081 34248 3454934947 35070 35212 35320 35540 35593 35804 35816 35908 35916 36351 36352 36384 36385 36444 36492 36806 37963 37969 38001 3 8197 38283 38365 38538 38587 38588 38627 39284 40065 40676 40788 41009 41096 41264 41378 42652 42905 43289 43624 43989 4501 1 45012 45062 45076 45085 45090 45102 45102 45102 45103 45104 45139 45458 45566 45576 45629 45753 45899 45932 46484 46844 47232 47285 47927 48024 48024 48337 48905 49327 49588 4 9981 50297 50340 50837 51852 52000 52228 52341 53089 54463 54538 54574 54600 54854 54994 55158 55330 55720 55799 55924 5593 3 55960 55967 55990 55992 56005 56011 56109 56222 57613 58073 58199 58461 58466 58519 58543 58563 58593 58772 58773 58774 58775 58776 58844 58854 58862 58879 59019 59028 59048 5 9050 59051 59052 59053 59054 59055 59067 59077 59374 60068 60592 60631 60798 61154 61317 61348 61577 61853 62044 62240 6246 8 62785 6290463018 63023 63075 63288 63314 63545 63612 63620 63631 63655 63677 63678 63679 63727 63728 63729 63835 63838 63888 63916 6 3949 64050 131090 131106 131138 131139 131140 131141 131293 131428 131444 131477 131486 131495 132196 132203 132509 132510 132513 132591 132839 133024 133199 133380 133478 133492 133746 133752 133774 133775 133776 133905 133929 134238 134327 134760 134761 134763 134764 134769 134770 134771 134835 134963 135061 135290 135300 13 5330 135377 135629 137693 137697 137699 137753 137784 137785 137787 137788 137876 137969 138366 138407 138607 138915 138949 138950 138952 138982 138994 139007 139018 139124 139144 139201 139203 139220 139316 139327 139726 139887 140096 140596 140701 140716 140717 140720 140723 140979 141157 141180 142570 149167 177453 177549 197099 197540 198047 19 8651 199490 199506 199524 199883 200756 201094 201978 202053202675 203087 204601 204720 206092 206204 206791 206798 207319 207400 207590 208425 208556 211914 212708 213251 213375 26 2187 263022 263196 263639 263693 264344 264509 265443 265537 266706 267784 269939 270110 328608 394699 395003 395936 395954 395973 398101})

 

如上,配置为ASN 的包含以下各项,选择操作一般为验证码【托管质询】 或者 【JS质询】,在遭受严重攻击选择【阻止】

ASN的话参考这个ASN链接 ASN list

如果需要ITDOG测速观察的话,请单独加一个规则将节点IP加入白名单

(ip.src in {47.92.31.57 109.248.18.86 154.22.127.137 23.225.146.6 220.181.53.87 43.156.69.84 43.155.105.226 106.225.239.7 183.201.192.68 183.201.192.68 45.65.44.14 102.140.92.41 23.225.146.6 154.22.127.137 143.92.41.132 102.140.92.41 102.140.92.41 203.57.58.1 101.193.215.70 43.130.151.11 27.185.235.70 113.240.100.81 115.239.224.6 125.73.215.4 218.30.71.80 1.193.215.70 220.181.53.87 125.73.215.4 27.185.235.70 203.57.58.110 115.239.224.6 47.92.77.114 43.156.69.84 45.65.44.14 23.225.146.6 119.96.16.87 45.251.101.5 117.187.182.132 119.96.16.87 47.92.79.71 45.251.101.5 103.78.242.179 117.187.182.132 45.251.101.5 202.133.243.83 8.142.104.65 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4})

 

规则三:根据IP信誉阻止请求

威胁分数大于等于5 进行阻止。威胁分数正常访客不会触发。也可以加入cf.client.bot

cf.client.bot(合法机器人爬虫)当数值为true,标识来自良好的机器人或爬虫的请求

cf.threat_score(威胁分数)表示从0到100的Cloudflare威胁评分,其中0表示低风险。大于10的值可能代表垃圾邮件发送者或机器人,大于40的值表示互联网上的不良行为者。一个常见的建议是质询分数高于10的请求并阻止分数高于50的请求。

表达式:

(not cf.client.bot and cf.threat_score gt 2)

 

关于威胁分数:字段参考 · Cloudflare 规则集引擎文档

规则四:请求速率限制

从2022年9月开始,CloudFlare开始向免费用户(包括Plesk Plus)提供一条免费的速率限制规则:CloudFlare官方博客 ,该功能是防御CC强有效的功能,可以从【安全性】 – 【WAF-】 【速率限制规则】进入配置页面。

表达式:

(http.request.uri.path eq "/")

 

文章版权归原作者所有或来自互联网,未经允许请勿转载。如有侵权请联系我删除,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录