CCKiller - 轻量级CC攻击防御工具

2020-03-24T23:21:00

简介

众所周知,DDoS攻击指的是分布式拒绝服务。而CC攻击只是 DDoS攻击的一种,本文所阐述的CC攻击,指的是单个IP达到我们设定好的阈值并发请求,而非海量 IP 的高并发攻击!

CCKiller 是无法防御 DDoS 大流量攻击的,因为所有机房的防御带宽是有限的,当攻击的流量超过了机房的防御带宽,要么机房把你的服务器 IP 拉黑洞,要么就一起死。正因为如此 CCKiller 的定位是用于个人低配服务器的轻量级CC攻击防御,可以抵挡单个 IP 产生的高并发攻击。

安装

执行如下命令

curl -ko install.sh https://raw.githubusercontent.com/jagerzhang/CCKiller/master/install.sh?ver=1.0.7 && sh install.sh -i
# 备份脚本
https://www.moewah.com/source/cckiller_install.sh

如果选择使用默认配置(y),默认配置信息为:

The Time interval : 20 s #每 20s 检查一次系统请求情况
The Forbidden Time: 600 s #拉黑时长设为 10 分钟
Adminstrator Email: root@localhost #邮件对象设置为 root@localhost(即关闭邮件发送)
Connections Allow: 100 #单个 IP 并发限制为 100

也可以在安装完毕后,使用 vim 编辑器修改 /usr/local/cckiller/cf.conf 文件。

##### Paths of the script and other files
PROGDIR="/usr/local/cckiller"
PROG="/usr/local/cckiller/cckiller"
LOGDIR="/usr/local/cckiller/log"
IGNORE_IP_LIST="/usr/local/cckiller/ignore.ip.list"
IPT="/sbin/iptables"
DKName=CCkiller
DKVer=1.0.5
##### SLEEP_TIME设定检查频率,单位为秒
SLEEP_TIME=10
##### NO_OF_CONNECTIONS设定并发限制
NO_OF_CONNECTIONS=60
##### EMAIL_TO设定邮件的发送对象(请改为自己的邮箱地址)
EMAIL_TO="xxxxx@qq.com" 
##### BAN_PERIOD设定拉黑时长,单位为秒
BAN_PERIOD=300
##### 设置忽略端口,比如 21,2121,8000 (默认不忽略)
IGNORE_PORT=
 
##### 定义日志级别 INFO,DEBUG,WARNING,OFF (默认 INFO)
LOG_LEVEL=INFO

如果不熟悉也没关系。你还可以执行 ./install.sh -c 进行工具初始化,重新设定所有参数,过程和首次安装时一致,这里就不赘述了。

服务控制

安装后,会将 cckiller 注册成系统服务,这时你就可以使用 service 来控制 cckiller 了。

# 重启服务
service cckiller restart 
# 启动服务
service cckiller start
# 停止服务
service cckiller stop
# 查看状态
service cckiller status

使用说明

直接执行./install.sh 将会显示如下帮助信息(请注意大小写)

Usage: configure.sh [OPTIONS]
 
OPTIONS:
-h | --help : Show help of CCkiller(显示帮助)
-u | --update : update Check for CCkiller (更新)
-c | --config : Edit The configure of CCkiller again(初始化配置)
-i | --install : install CCkiller version 1.0.0 to This System(安装)
-U | --uninstall : Uninstall cckiller from This System (卸载)

其它功能

  • 支持白名单为 IP 段,格式为 IP 段通用格式,比如 192.168.1.0/24;
  • 集成手动拉黑 IP 和解封 IP 功能,使用 cckiller -b IP 拉黑,使用 cckiller -u IP 解封。
  • 支持日志记录,每天一个日志文件,位于安装目录下的 log 文件内;

注意此脚本并没有加入 service iptables save 的保存命令 所以当你重启系统或者重启 iptables,这些拉黑的 IP 都将得到释放。当然,如果你真的想永久拉黑,请手动执行 service iptables save 即可。

作者:MoeWah
来源:喵斯基部落

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »