大鸟前一篇文章讲了6.X-shell脚本,自动拉黑恶意IP到Cloudflare防火墙。如果我们的网站遭遇CC和DDoS攻击时,我们可以用这个方法来简单的防御。
Cloudflare还有一个很经典的功能就是Cloudflare经典的5秒盾防攻击,我们可以和上一篇文章结合起来看,当我们自动拉黑恶意IP到Cloudflare防火墙的时候,可以根据系统的负载状态来实现自动开启5秒盾。但是我们要通过CloudflareAPI启用这个功能。
这篇文章大鸟来说说,如何通过CloudflareAPI自动开启Cloudflare经典的5秒盾。
更多的关于Cloudflare的文章,这里有:
宝塔面板6.X-shell脚本,自动拉黑恶意IP到Cloudflare防火墙
宝塔面板编译ngx_http_realip_module-用户启用CloudflareCDN后获取真实IP地址
CloudFlare使用方法-DNS解析,SSL证书,防DDoS(5秒盾)攻击和免费CDN加速
源码地址:https://github.com/Machou/Cloudflare-Block
当你的服务器受到攻击时,系统负载就会爆增,利用脚本自动检测系统负载,当压力超过一定的值时就可以切换为”I’mUnderAttack!“模式了。操作步骤如下:
cd/root&&gitclonehttps://github.com/Machou/Cloudflare-Block.gitDDoS
#打开Cloudflare.sh,修改配置
API_KEYYou'reGlobalAPIKey(https://dash.cloudflare.com/profile)
MAIL_ACCOUNTEmailofyourCloudflareaccount
DOMAINZoneID(https://dash.cloudflare.com/_zone-id_/domain.com)
*/1****/root/DDoS/Cloudflare.sh0#checkevery1minuteifprotectionisnotenabled
*/20****/root/DDoS/Cloudflare.sh1#checkevery20minutesifprotectionisenabled
脚本默认的是检测系统负载为10,启动”I’mUnderAttack!“模式,你以根据需要来调整。脚本如下:
#$1=1min,$2=5min,$3=15min
loadavg=$(cat/proc/loadavg|awk'{printf"%f",$1}')
#loadis10,youcanmodifythisifyouwantloadmorethan10

#You'reGlobalAPIKey(https://dash.cloudflare.com/profile)
api_key=#EmailofyouraccountCloudflare
email=#ZoneID(https://dash.cloudflare.com/_zone-id_/domain.com)
#createfileattackingifdoesn'texist
attacking=https://www.daniao.org/attacking
hasattack=$(cat$attacking)
if[$(echo"$loadavg>$maxload"|bc)-eq1];then
if[[$hasattack=0&&$1=0]];then
curl-s-XPATCH"https://api.cloudflare.com/client/v4/zones/$zone_id/settings/security_level"\
-H"X-Auth-Email:$email"\
-H"X-Auth-Key:$api_key"\
-H"Content-Type:application/json"\
我们如果想省点事就直接复制上面第一条中的脚本代码,放在计划任务的shell脚本之中,也可以是同样的效果。
这里的设置很简单,大鸟也说过很多次了,就不多做赘述了。
这个脚本配置好之后,如果我们测试会出现一些问题。
竟然报?“bc:commandnotfound”?,大鸟是第一次见到这个。
于是搜索了下,原来还真有这个命令,不过不知道编译内核需要这个做什么。这个东西估计用的人也很少,不过如果在命令行下要计算数也是个不错的工具吧。
yum-yinstallbc一下就可以解决了。如图:
3.2https://www.daniao.org/attacking文件不存在
https://www.daniao.org/attacking文件不存在这个问题,如果遇到可以把把脚本代码中26行的attacking=https://www.daniao.org/attacking剪切到20行,应该可行,不过大鸟没遇到这问题。
这个也就是个思路,如果动手能力强的同学,可以自己写个脚本来调用,大鸟这里是借用别人的方法来实现这个思路的,可以说,Cloudflare是一个非常好用的防御DDos和CC攻击的工具,免费版本的Cloudflare结合API可以实现更加灵活的功能,对于普通的防御足够自己使用了。
本文来源:vps主机--宝塔面板6Xshell脚本(宝塔shell脚本定时访问网站)
本文地址:https://www.idcbaba.com/vps/3809.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



