• 欢迎访问db1024网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏db1024吧

CC-Attack-Protector:Linux VPS防CC攻击一键脚本,带微信提醒

建站知识 Liam 1年前 (2019-04-28) 278次浏览 4个评论 扫描二维码
文章目录[隐藏]

说明:博客这几天一直在被CC攻击,然后让朋友帮忙写了个防CC攻击脚本,并添加了微信方糖提醒功能,这里就分享下。

CC Attack Protector

10秒钟检测一次指定网站日志,如果超过预设限制的(在单位时间请求数以及请求大小层面)会在防火墙层面进行阻止,并运用微信Server酱进行通知。

说明

1、请记得开启站点的日志记录,而且面板用户要注意检查并取消掉“静态文件的access_log off”,也就是所有访问都要记录日志,以确保最佳的防CC效果。
2、日志的开头的格式必须为例如x.x.x.x - - [22/Nov/2017:13:20:02 -0500] "GET /xxxxxx HTTP/1.1" 200 3386,也就是IP在首列,时间格式与此示例相同,请求URL在第七列,请求长度在第十列,一般nginx日志的默认格式应该是这样,如果是其他的服务器软件或者日志格式不同请根据自己的情况魔改ddos.sh里的相关截取日志信息的代码。
3、建议定期分割日志,例如使用crontab一天分割一次,以确保脚本检测效率。
4、一旦有新IP被封禁,会输出封禁信息(当你回到screen后就可以看到),同时会输出日志到cc.log中。
5、如果想解封IP,可以执行bash ban.sh -ua,这样会解封所有IP
6、关于ban.sh这个脚本还能做到的其他事情,请直接bash ban.sh查看。
7、如果Centos,那么可能需要在ban.sh中操作防火墙之后重启一下防火墙,因为Centos防火墙修改规则之后不是即时生效的。对于Centos 7需要将防火墙firewall替换成iptables
8、重启VPS后,记得使用screen命令,重新启动脚本。

截图

1、SSH后台监控
触发机制后自动banip
CC-Attack-Protector:Linux VPS防CC攻击一键脚本,带微信提醒

2、微信提醒
触发机制并微信通知。
CC-Attack-Protector:Linux VPS防CC攻击一键脚本,带微信提醒

使用

本脚本理论上UbuntuDebian都可以直接使用,CentOS请看说明,按要求修改。

git clone https://github.com/Tsuk1ko/CC-attack-protector.git cd CC-attack-protector 

然后修改ddos.sh前面的配置内容,根据注释说明修改即可!

#配置 LOG_FILES="/www/wwwlogs/*.log"    #指定日志文件 SCKEY=""    #Server酱服务的SCKEY,用于通知CC攻击情况 LIMIT_REPEAT=20        #重复的请求次数,超过直接封 LIMIT_TIMES=50        #否则,在10秒内超过这么多连接日志数的会进入检测,并且满足下面这个条件的会被封禁 LIMIT_FLOW=62914560    #请求大小之和 62914560 = 60MiB

关于微信通知,不知道方糖Server酱的,去首页https://sc.ftqq.com按要求申请SCKEY然后填入即可!

其实一般情况下关于CC攻击判断的设置并不用动,如果发现封禁效果与理想有差异再修改!

建议使用screen来运行

#没有screen就安装 apt-get install screen screen -S CC #运行 bash run.sh 

然后按下Ctrl+A,再按下D,即可退出screen界面。

想回去的话就

#查看会话 screen -ls #回去该会话 screen -r 会话名称 

如果网站大文件过多,容易造成误判,建议限制IP并发连接数以及下载带宽,然后将CC脚本配置文件里的LIMIT_REPEAT=20可以设置为3540。线程具体设置如下:

#先去nginx.conf文件http{}里加上如下代码 limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; #再去xx.com.conf文件server{}里添加如下代码,分别为总线程,单个ip线程和单线程最大速度 limit_conn perserver 300; limit_conn perip 25; limit_rate 512k; 

不会切割日志的,按时清空网站日志文件就可以了,使用命令echo "" >/home/wwwlogs/www.moerats.com.log即可,后面为网站日志文件路径,配合定时Crontab就可以了,参考:Linux系统Crontab的安装及定时任务的命令详解

测试是否正常监控

当你配置好脚本后,可以使用bash run.sh --test命令来测试脚本是否有正常监控。

当你使用--test参数运行run.sh脚本后,访问自己的网站,如果脚本有正常监控,那么每间隔10秒会输出一次监控到的访问记录,大概像这个样子。

Start protecting... [Test mode] #时间                   访问量   重复访问次数  IP [18/Jan/2018:13:36:3x]    1     1    x.x.x.x [18/Jan/2018:13:36:4x]    15    1    x.x.x.x [18/Jan/2018:13:37:1x]    20    5    x.x.x.x 

Github地址:https://github.com/Tsuk1ko/CC-attack-protector,有问题的请去Github反馈。


db1024 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CC-Attack-Protector:Linux VPS防CC攻击一键脚本,带微信提醒
喜欢 (0)
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. Hurrah, that's what I was exploring for, what a data! present here at this webpage, thanks admin of this web site.
    cbd oil that works 20202020-06-29 06:17 回复 Linux | Chrome 66.0.3359.170
  2. I think the admin of this website is truly working hard for his web page, since here every information is quality based data.
    cbd oil that works 20202020-06-28 11:56 回复 Windows 8.1 | Firefox浏览器 59.0
  3. An interesting discussion is worth comment. I do believe that you ought to publish more on this issue, it might not be a taboo matter but typically people don't speak about such issues. To the next! Best wishes!!
    cbd oil that works 20202020-06-28 00:35 回复 Windows 8.1 | Chrome 56.0.2924.90
  4. Hey! Someone in my Facebook group shared this site with us so I came to check it out. I'm definitely enjoying the information. I'm book-marking and will be tweeting this to my followers! Terrific blog and amazing design.
    g rsacwgxy2020-06-22 18:59 回复 Linux | Firefox浏览器 50.0