CC防御教程:利用脚本自动拉黑恶意ip到CloudFlare防火墙

白嫖四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥99 现在购买

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

Cloudflare注册教程:https://www.bpzy.net/1-4/162.html

Cloudflare官方网站:https://www.cloudflare.com

 

  • Cloudflare很多朋友都在使用,如果你的网站服务器架设在国外,那Cloudflare是一个非常好的加速工具,一可以为你的网站进行加速,二可以给你的网站提供防护,如果你的站经启用了Cloudflare,遇到CC攻击者比较疯狂的扫描的话,Cloudflare还需要设置一下,才能够精确的判断出攻击者的IP,然后可以利用脚本分析网站日本,从日志中把攻击IP分析出来,再使用Cloudflare API将攻击者的IP自动的添加到Cloudflare防火墙里,下面就给大家分享一下配置教程。

 

一:定位恶意IP,把定位ip和封锁ip到CF防火墙合并在一起

 

  • 我们需要找到恶意ip,可以利用脚本分析在一分钟单个IP访问的频率,超过一定的频率(一般来正常的访问,一分钟内应该不超过60次,你可以设置为更小),即认定为恶意IP,并把定位到的恶意ip和封锁ip放到CF的防火墙合里,宝塔面板的shell脚本如下:

PHP

#/bin/bash
#日志文件,你需要改成你自己的路径
logfile=/www/wwwlogs/
last_minutes=1 
#开始时间1分钟之前(这里可以修改,如果要几分钟之内攻击次数多少次,这里可以自定义)
start_time= date +"%Y-%m-%d %H:%M:%S" -d '-1 minutes'
echo $start_time
#结束时间现在
stop_time=`date +"%Y-%m-%d %H:%M:%S"`
echo $stop_time
cur_date="`date +%Y-%m-%d`" 
echo $cur_date
#过滤出单位之间内的日志并统计最高ip数,请替换为你的日志路径
tac $logfile/www.daniao.org.log | awk -v st="$start_time" -v et="$stop_time" '{t=substr($2,RSTART+14,21);if(t>=st && t<=et) {print $0}}' | awk '{print $1}' | sort | uniq -c | sort -nr > $logfile/log_ip_top10
ip_top=`cat $logfile/log_ip_top10 | head -1 | awk '{print $1}'`
ip=`cat $logfile/log_ip_top10 | awk '{if($1>2)print $2}'`
# 单位时间[1分钟]内单ip访问次数超过2次的ip记录入black.txt,这里VPS科普网为了测试设置了2,你需要改成其它的数字
for line in $ip
do
echo $line >> $logfile/black.txt
echo $line
# 这里还可以执行CF的API来提交数据到CF防火墙
done
# 填Cloudflare Email邮箱
CFEMAIL="xxx@xxx.com"
# 填Cloudflare API key
CFAPIKEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# 填Cloudflare Zones ID 域名对应的ID
ZONESID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# /www/wwwlogs/black.txt存放恶意攻击的IP列表
# IP一行一个。
IPADDR=$(</www/wwwlogs/black.txt)
# 循环提交 IPs 到 Cloudflare  防火墙黑名单
# 模式(mode)有 block, challenge, whitelist, js_challenge
for IPADDR in ${IPADDR[@]}; do
echo $IPADDR
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$ZONESID/firewall/access_rules/rules" \
  -H "X-Auth-Email: $CFEMAIL" \
  -H "X-Auth-Key: $CFAPIKEY" \
  -H "Content-Type: application/json" \
  --data '{"mode":"block","configuration":{"target":"ip","value":"'$IPADDR'"},"notes":"CC Attatch"}'
done
# 删除 IPs 文件收拾干净
 rm -rf /www/wwwlogs/black.txt

二:1.计划任务

 

  • 关于宝塔面板的计划任务如何设置,白嫖资源网就不多说了,我们看看如何把上面的ip定位的脚本放在计划任务中。点击计划任务选择Shell脚本即可如图:

CC防御教程:利用脚本自动拉黑恶意ip到CloudFlare防火墙

 

2.测试脚本

  • 这个脚本,我们需要测试是否可用,这里白嫖资源网设置的是每隔3分钟执行一次,所以我们可以自己手动不停刷新自己的网站或者自己的测试站点即可。我们看看最终的效果,如图:

 

CC防御教程:利用脚本自动拉黑恶意ip到CloudFlare防火墙

 

  • 如果被猛烈的CC攻击的话。最好把CloudFlare的5秒盾打开
  • 5秒盾是CloudFlare最经典的防护CC措施,配合上面的脚本可以起到非常强大的防御作用,不但可以防御猛烈的CC攻击,还可以把CC你网站的恶意ip屏蔽到防火墙。
  • 打开5秒盾教程如图:

CC防御教程:利用脚本自动拉黑恶意ip到CloudFlare防火墙

 

三:防火墙效果查看

 

  • 几乎无时无刻没有扫描的,所以还是很有必要做一个防御的。
  • 自动添加恶意IP到CloudFlare防火墙的效果如下:

CC防御教程:利用脚本自动拉黑恶意ip到CloudFlare防火墙

 

  • 这样我们就实现了CC攻击临时救急的半自动流量清洗的功能。
  • 屏蔽成功的效果图如下:

 

CC防御教程:利用脚本自动拉黑恶意ip到CloudFlare防火墙

 

四:总结

 

  • Cloudflare真的是一个非常好用的防御DDos和CC攻击的工具,免费版本的Cloudflare结合API可以实现更加灵活的功能,对于普通的防御足够自己使用了。
  • 当然了,宝塔面板结合Cloudflare使用起来也更方便和更简单。如果你对Cloudflare的实在不是太熟悉,可以看看之前的文章。平时我们的域名虽然不用Cloudflare的解析服务,但是不妨在解析放在上面,如果遇到问题可以快速的切换过去。
标签:

未经允许不得转载:作者:白嫖资源网, 转载或复制请以 超链接形式 并注明出处 白嫖资源网
原文地址:《CC防御教程:利用脚本自动拉黑恶意ip到CloudFlare防火墙》 发布于2019-09-23

分享到:
赞(0) 打赏

评论 抢沙发

2 + 4 =


觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

白嫖4.0全新主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录