CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

张戈博客很久以前分享过一个CC攻击的防御脚本,写得不怎么样,不过被51CTO意外转载了。博客从此走上了经常被人拿来练手的不归之路。

当然,还是有不少朋友在生产环境使用,并且会留言询问相关问题。根据这些问题的需求,我花了一些时间重新写了一个比较满意的轻量级CC攻击防御脚本,我给它取了一个比较形象的名字:CCKiller,译为CC终结者。

CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

一、功能申明

分享之前我必须先申明一下,众所周知,DDoS攻击指的是分布式拒绝服务。而CC攻击只是DDoS攻击的一种,本文所阐述的CC攻击,指的是单个IP达到我们设定好的阈值并发请求,而非海量IP的低并发攻击!对于个人低配服务器,除了使用CDN来防护,至少我是没有想到如何抵挡海量IP攻击的!因为每个IP都模拟正常的用户浏览器请求,并不会触发防御阈值,同时来1000个,甚至上万个,个人低配服务器的带宽在第一时间就会被占满,就无法继续提供服务了。

当然,用脚本也是无法防御DDoS大流量攻击的,因为所有机房的防御带宽是有限的,当攻击的流量超过了机房的防御带宽,要么机房把你的服务器IP拉黑洞,要么就一起死。因此,如果你的服务器正遭受大流量攻击,比如几十G上百G,一般机房或CDN节点都是扛不住的,脚本也无能为力了,赶紧换高防服务器吧!

二、功能介绍

通过以上申明,也就大致给CCKiller一个定位:CCKiller是用于个人低配服务器的轻量级CC攻击防御,可以抵挡单个IP产生的高并发攻击。

目前设计的功能特性如下:

①、秒级检查

很多人写的防御脚本都是使用了Linux系统的计划任务crontab来定时检查的。而crontab的最细颗粒是1分钟,也就是说脚本最快也只能1分钟检查一次。对于一些强迫症来说就会很不爽。

所以,我还是按照以前分享的思路,利用while循环实现秒级检查,实现更细的颗粒。当然,CCKiller更是被我写成了系统服务,更加灵活稳定。

②、拉黑时长

CCKiller可以设置拉黑时长,默认为10分钟。当发现有恶意请求时,会自动拉黑目标IP,并在拉黑时长结束后自动释放,这个功能算是对我之前写的脚本的一个大的改进。

③、并发阈值

CCKiller 可以设定单个IP的最高请求数,如果某个IP同时请求数超过了设定的阈值,就会被暂时拉黑一段时间。

④、邮件发送

这个功能没啥好说的,意义并不大。而且发送成功率和服务器的环境也有很大关系。

⑤、并发显示

安装后,直接运行cckiller会列出当前系统的请求排行,可以清晰的看到当前请求IP和并发数。使用-s参数还可以继续定制需求,比如 cckiller -s 10 就能显示当前并发数排行前10名的IP。

⑥、手动拉黑

支持手动拉黑,执行后会立即检查,将并发请求超过n的IP拉黑一段时间,比如 cckiller -k 100 就会将目前超过100个请求的IP拉黑一段时间,如果没有则不会执行任何拉黑操作。

三、工具安装

①、在线安装

由于我可能经常会更新一些功能,或修复一些BUG,所以仅提供在线安装,以保证脚本是最新的。

安装非常简单,执行如下命令就能进入配置步骤了:

②、工具配置

因为每个服务器的情况可能不一样,所以有一个自定义配置的过程。

执行上述安装命令后,将会进入自选配置部分,如图:CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

提示否使用脚本默认配置,如果选择是(y),那么显示默认配置,并询问是否继续:CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

默认配置如下:

The Time interval : 20 s       #每20s检查一次系统请求情况

The Forbidden Time: 600 s  #拉黑时长设为10分钟

Adminstrator Email: root@localhost   #邮件对象设置为root@localhost(即关闭邮件发送)

Connections Allow: 100      #单个IP并发限制为100

如果不符合你的需求,你可以使用 ctrl + c 组合键终止脚本,或者先继续安装,因为工具设计了配置修改的功能,所以无需着急。

如果不使用默认配置(n),则会要你输入参数来自定义配置:CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

如图,我将参数依次定义为每10秒进行检查,拉黑时长为300秒,发件人设置为博客邮箱,并发限制设置为60,回车后会弹出一个提示,让你检查,如果没问题你直接回车就会安装并启动:CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

③、服务控制

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

使用标准的service定义,支持 start | stop | restart | status 四个参数。所以,你可以使用

service cckiller stop来停止cckiller,也可以使用service cckiller status来查看状态。

 ④、集成命令

成功安装后,系统还会多出一个cckiller的命令,这个命令现有功能如下:

cckiller -h可以调出帮助信息:

我蹩脚的英文也能凑合解释一下功能了吧~

-k 是拉黑功能,需要在后面带上你想拉黑的并发数,比如 cckiller -k 100 就会拉黑当前请求数大于100的IP一段时间(和拉黑时长一致)

-s 是显示并发排名,也需要在后面带上数字,比如 cckiller -s 10 就能显示当前并发数排行前10名的IP。

⑤、文件结构

如上图所示,脚本安装目录为/usr/local/cckiller,其结构如下:

很简单也比较规范的的结构,当然,后续功能如果越来越多,此结构可能会有所更新,这是后话。

如果你熟悉vim的话,只要编辑ck.conf就可以定义工具参数了:

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

⑥、白名单

工具安装时会默认将系统所有IP都加入白名单,避免自己把自己给拉黑的尴尬。如果你还有其他要加白的IP,可以将IP加入到cckiller安装目录下的ignore.ip.list文件中,每行一个。

Ps:目前白名单还不支持IP段,敬请期待后续更新。

⑦、卸载工具

有心的朋友可能注意到了install.sh是可以带参数的。我写代码的时候已经设计了几个常用的安装卸载功能,具体如下:

其中:

-u 参数用来升级工具,不过目前由于没时间还没写,所以不可用(Ver 1.0.2已支持在线更新)

-i  参数用来安装工具,如果已安装则会提示并终止

-c 参数用来配置工具,方便安装后随时修改工具配置

-U 参数用来卸载工具,注意是大写哦!

因此,我们可以使用 ./install.sh -U  如图卸载CCKiller:

CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

四、攻防测试

成功安装并启用CCKiller之后,我们可以使用压力测试工具来测试拉黑和释放效果,比如webbench 或 ab等。

假如CCKiller设定的并发限制为100,检查间隔为10s,使用webbench如下测试:

webbench -c 101 -t 60 http://www.yourwebsite.com/

启动测试后,你可以立即去服务器上查看防火墙:

iptables -nvL

多刷几下,就可以看到webbench所在服务器IP已经在DROP规则中了。

确定已被拉黑之后,你等个10分钟再来看防火墙,可以发现webbench所在服务器IP已经消失了,成功释放!

Ps:如果邮件发送功能无误,那么应该也收到了工具发来的告警邮件,比如有一个饱受CC攻击煎熬的站长给我发来的反馈:CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

五、更多说明

①、配置并发限制

CCKiller配置最大连接数限制时,建议根据单个网页产生的并发数来判断。

情况A: 你网站做了动静分离,那么静态的请求就到另一个域名了(假设静态资源托管在另一台服务器或是CDN),单个IP请求一个页面可能就只会产生若干并发(假设5个),我们假设某个用户很猛,他喜欢快速拖拽打开你网站的多个网页,比如同时打开10个,那么正常用户的正常最大并发你也可以基本确定了吧?即并发限制:10x5=50。如果有人同时刷新你几十个页面,要说没恶意你也不相信吧?

情况B: 如果没有做动静分离,那么一个页面产生的并发可能就比较多了,每个css、js、图片都会产生一次请求。所以,在这种情况下就需要稍微计算一下你网站单个页面产生的并发请求,比如一个单页面会产生30个请求,那么你也需要考虑用户可能会连续拖拽多个页面的情况,假设我允许用户可以同时刷新10页面,那么并发限制就可以设置为300了,依此类推。

容错:从A和B来看,CCKiller其实是有一个盲点的,那就是如果用户IP是某个公司的统一出口,也就是代理上网IP,那么工具就容易误杀无辜了。所以,除了A和B,你还得考虑你网站的受众人群类型。比如,我就一个个人博客,同一时刻被一个公司的多名同时多窗口拖拽访问,这种情况也不多吧?如果可能存在这种受众人群,那么这个并发限制可以设置大一些,避免错杀无辜。当然,拉黑也就10分钟而已,也不至于“一失足成千古恨”。。。

当然,不管哪种情况,并发限制都可以比预估设置高那么一些,这个自行斟酌吧!

②、不足与完善

CCKiller是我最近利用闲暇时间,匆忙之作,难免会有各种问题。也没时间进行测试和完善。不过目前还是有数位站长在使用,暂未反馈异常。当然, 我分享的是在线安装方式,也是为后续的更新提供方便。不过对比我以前写的防御脚本,CCKiller算是有了长足的进步了,很简单的安装,更强大的功能!

功能计划:

A. 在线升级功能

这个不用多说,现有的工具已经预留了,后面可能会加入版本判断和更新的功能。

B. 加入其他安全防护设置

目前工具其实是赶鸭子上架一样,直接就检查,也没有对系统环境做一些初始化的设置。比如网站通用的iptables设置、sync洪水攻击防御等。后续会在安装的时候会作为一个可选功能。

C. 集成傻瓜式的防火墙控制功能

并不是每个站长都会熟练操作iptables,所以可能考虑给cckiller这个命令集成一个ban和unban ip的功能,比如禁止一个ip,执行 cckiller -D $ip 即可,降低 iptables 的使用门槛。

另外,值得说明是,CCKiller只适合裸奔的网站,而不适合使用CDN的网站,因为使用CDN之后,请求过来的IP都是CDN节点,你总不能把CDN节点也拉黑了吧?(Ps:其实也可以用,你把并发限制稍微设置高一些就好了,就算拉黑CDN节点也就拉黑10分钟而已,不至于影响过大

针对这个问题,后续我会找时间研究下直接从Nginx日志里面取得真实来源IP来拒绝访问。目前已经有了阶段性的进展了,敬请期待!

附录:更新记录


2015-09-23 Ver 1.0.1:

  • 支持白名单为IP段,格式为IP段通用格式,比如 192.168.1.0/24;
  • 新增拉黑改为判断 iptables 是否已存在操作IP的判断方式;
  • 增加日志记录功能,每天一个日志文件,位于安装目录下的log文件内;
  • 集成手动拉黑IP和解封IP功能,使用cckiller -b IP 拉黑,使用 cckiller -u IP 解封。

2015-11-29 Ver 1.0.2:

  • 新增在线更新功能,执行 ./install.sh -u 即可检测是否有新版本:CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

如果发现有新版本则显示更新内容,并提示是否执行更新。选择之后将会更新到新版本,需要重新配置,但是IP或端口白名单会保持不变。

  • 新增端口白名单功能

应网友需求,新增了这个端口白名单功能。在配置CCKiller的最后一项会提示输入端口白名单:CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

如果需要排除某些端口,请如图最后一行所示,输入端口并已逗号分隔,比如 21,2121,8000

本次更新为非必须功能,在用的朋友可以按需更新,当然新增了在线更新这个功能,也强力推荐更新一下,方便后续检测CCKiller是否是最新版本。

更新难免存在不可意料的纰漏,使用中存在任何问题请留言告知,谢谢!

2016-06-20 Ver 1.0.3:

  • 增加“永久”拉黑时长

有网友反馈,需要设置更长的拉黑时间。原先的机制来看,如果设置拉黑时间过长,那么可能会产生很多后台释放黑名单脚本,占用系统资源。

因此,1.0.3版本加入永久拉黑设置。只要在安装的时候,设置拉黑时长为0,则CCKiller不会再产生后台释放脚本,也不会释放已拉黑的IP了:CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

但是,考虑到灵活性问题,并没有在新版中加入 service iptables save 的保存命令,所以当你重启系统或者重启iptables,这些拉黑的IP都将得到释放。当然,如果你真的想永久拉黑,请手动执行 service iptables save 即可。

  • 注册开机启动

新版本已将CCKiller服务注册到了开机启动服务列表,重启系统不用在担心未启动CCKiller了。

  • 兼容 Centos 7

目前博客运行在Centos 7 系统,所以将CCKiller也做了一下兼容,其实就是在Centos 7上安装了iptables。并且修复了Centos7系统对已拉黑IP的判断问题。

Ps:以上功能如果你觉得有用,可以执行 install.sh -u 进行在线更新,记得是小写u哦。

2016-10-09 Ver 1.0.4:

  • BUG修复

根据网友反馈,发现攻防测试中一个IP不能被拉黑,经过分析发现命中了白名单。而实际上白名单中并没有IP段,只因IP同属于一个网段。因此,在是否属于IP段的判断中,加入对斜杠的筛选,也就是说只判断白名单中存在斜杠(/)的条目,简单粗暴!

2017-05-20 Ver 1.07 (中间漏记了2个小版本,也不记得修复了啥)

  • 日志级别、开关

根据网友建议,新增日志控制开关,参数为LOG_LEVEL,支持 INFO、DEBUG和OFF 3个参数,其中INFO表示仅记录拉黑和释放IP,DEBUG记录全部日志,包括拉黑、释放的报错信息,OFF表示关闭日志。

如果需要使用该功能,可以执行 ./install.sh -u 在线更新或直接重新安装。

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:180   其中:访客  122   博主  58

  1. kiteboy 1 来自天朝的朋友 谷歌浏览器 Windows 7 广东省佛山市 电信

    [root@2211 cckiller]# cckiller -s 10
    记录的统计数不是20秒清空的吗?我留意了一下是60秒才清空统计数的,如果我每秒3次访问1分钟就180次的统计,这也拉黑了。
    cckiller -s 10
    70 192.168.0.124
    20 192.168.2.211
    4 192.168.0.60

    • kiteboy 1 来自天朝的朋友 谷歌浏览器 Windows 7 广东省佛山市 电信

      每20秒检查一次 系统的ip请求情况,单个ip并发限制为100,系统统计的ip请求总数是1分钟才重新统计,例如我正常每秒2次访问1分钟就120次的访问量,这也会拉黑的。可以做到ip统计也按照每20秒检查统一次吗? 也就是我设置20秒检查一次,系统统计ip访问的总数也是20秒重新统计。

  2. kiteboy 1 来自天朝的朋友 谷歌浏览器 Windows 7 广东省佛山市 电信

    Downloading source files….install.sh: line 86: wget: command not found
    install.sh: line 86: wget: command not found
    chmod: 无法访问 “/usr/local/cckiller/cckiller”: 没有那个文件或目录
    chmod: 无法访问 “/etc/init.d/cckiller”: 没有那个文件或目录
    …done

    install.sh: line 291: /etc/init.d/cckiller: 没有那个文件或目录
    Installation has completed.

    Config file is at /usr/local/cckiller/ck.conf

    Your can post comments or suggestions on http://zhangge.net/5066.html

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      我看你一直在折腾,也不知道累不累。。

  3. 逗比王 2 来自天朝的朋友 谷歌浏览器 Windows 7 河南省郑州市 联通

    我Debian 7 x64 启动cckiller又出现了问题,提示这个:line 42: usleep: command not found,暂时看来是能用的,但是不知道有什么影响,查了查这个玩意好像是挂起程序的。。

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      不影响使用,要解决的话,将 /etc/init.d/cckiller 里面的 usleep 100 改成 sleep 0.5 即可,睡眠半秒

  4. 大怪兽 1 来自天朝的朋友 谷歌浏览器 Windows 10 广东省广州市 移动

    ununtu server14.04安装出错
    Installing CCKiller version 1.0.4 by zhangge.net

    Downloading source files…….done

    Starting cckiller …/usr/local/cckiller/cckiller: 18: [: /usr/local/cckiller/ck.conf: unexpected operator
    [ \033[31mFailed\033[0m ]

    Installation has completed.

    Config file is at /usr/local/cckiller/ck.conf

    Your can post comments or suggestions on http://zhangge.net/5066.html

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      再试下

    • wicin 0 来自天朝的朋友 谷歌浏览器 Windows 10 福建省厦门市 有线宽带(联通出口)

      我也发生这问题,你解决了吗?

  5. 大怪兽 1 来自天朝的朋友 谷歌浏览器 Windows 10 广东省广州市 移动

    以下是配置文件
    ##### Paths of the script and other files
    PROGDIR=”/usr/local/cckiller”
    LOGDIR=”/usr/local/cckiller/log”
    PROG=”/usr/local/cckiller/cckiller”
    IGNORE_IP_LIST=”/usr/local/cckiller/ignore.ip.list”
    IPT=/sbin/iptables
    IPT_SVR=”/etc/init.d/iptables”
    DKName=CCKiller
    DKVer=1.0.4

    ##### Rate of running the script in proccess mode(default 20s)
    SLEEP_TIME=20

    ##### How many connections define a bad IP? Indicate that below.
    NO_OF_CONNECTIONS=100

    ##### An email is sent to the following address when an IP is banned.
    EMAIL_TO=”root@localhost”

    ##### The Forbidden seconds of banned IP(default:600 if set 0 ip will banned forever).
    BAN_PERIOD=600

    ##### The ignore Ports like 21,2121,8000 (default null)
    IGNORE_PORT=

  6. 乐赚168 1 来自天朝的朋友 谷歌浏览器 Windows 10 河南省南阳市 联通

    评论输入时候的效果不错

    • mojie126 0 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省宁波市 电信

      网站已经强制跳转到https了,但是脚本里还是使用的http,导致不能正确下载和安装程序…

      • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

        已修复

  7. CODER 0 来自天朝的朋友 谷歌浏览器 Windows 7 广西南宁市 电信

    请问博主,如何查询已经拉黑的IP呢 cckiller -b xxx 后已经生效,我想永久拉黑,偶尔也想查一下拉黑了哪些ip,请问如何查询?记得以前的版本直接可以在iptables里面可以查得到 现在iptables文件里查不到数据

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      新版本有拉黑和释放的日志记录
      永久拉黑将拉黑时长设置为0即可

  8. 某美图 0 来自天朝的朋友 搜狗浏览器 Windows 10 湖南省长沙市 联通

    博主,手动 cckiller -k 100 才能生效,设置的10秒检查一次不能自动拉黑呀,CentOS 6.8 32位
    [root@vps ~]# cckiller
    82 112.x.x.x
    70 153.x.x.x
    58 120.x.x.x
    56 101.x.x.x
    52 139.x.x.x
    [root@vps ~]# cckiller
    80 112.x.x.x
    68 153.x.x.x
    58 120.x.x.x
    57 101.x.x.x
    51 139.x.x.x
    [root@vps ~]# cckiller -k 50
    [2017-01-05 11:18:15]: 139.x.x.x Was Baned successfully.
    [2017-01-05 11:18:15]: 153.x.x.x Was Baned successfully.
    [2017-01-05 11:18:15]: 112.x.x.x Was Baned successfully.
    [2017-01-05 11:18:15]: 101.x.x.x Was Baned successfully.
    [2017-01-05 11:18:15]: 120.x.x.x Was Baned successfully.
    [2017-01-05 11:18:16]: 139.x.x.x is already in iptables list, please check…
    [2017-01-05 11:18:16]: 153.x.x.x is already in iptables list, please check…
    [2017-01-05 11:18:16]: 112.x.x.x is already in iptables list, please check…
    [2017-01-05 11:18:16]: 101.x.x.x is already in iptables list, please check…
    [2017-01-05 11:18:16]: 120.x.x.x is already in iptables list, please check…
    122 139.x.x.x
    111 153.x.x.x
    105 112.x.x.x
    87 101.x.x.x
    85 120.x.x.x

  9. baby 0 来自天朝的朋友 谷歌浏览器 Mac OS X 10_10_5 北京市 联通

    楼主的貌似不太好用

  10. - 0 来自天朝的朋友 谷歌浏览器 Windows 10 北京市 北京宽带通电信技术有限公司

    [root@localhost cckiller]#./iptable-cc.sh -i

    ###################################################################
    # CCKiller version 1.0.5 Author: Jager #
    # For more information please visit https://zhangge.net/5066.html#
    #—————————————————————–#
    # Copyright @2015-2016 zhangge.net. All rights reserved. #
    ###################################################################

    Do you want to use the default configuration? (y/n): y

    You choice the default configuration:
    Configure info,Please Review:
    =======================================
    The Time interval : 20 s

    The Forbidden Time: 600 s

    Adminstrator Email: root@localhost

    Connections Allow: 100

    Ignore Port: Null
    ========================================
    Press any key to continue…

    Configure Completed.

    Installing CCKiller version 1.0.5 by zhangge.net

    Downloading source files….

    然后就没有然后了……..

    补充一下,服务器在国外

  11. 哈哈 0 来自天朝的朋友 谷歌浏览器  m1 note Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Mobile Safari/537.36 河南省郑州市 移动

    在线安装提示502

  12. AGFR 1 来自天朝的朋友 火狐浏览器 Windows 7 山东省 联通

    博主你好,我想问反馈一下,我是直接用webbench直接请求的本地服务器,然后cckiller并没有拦截IP.是我安装的姿势不对吗,我使用的默认安装,然后改了一下自己的邮箱地址,其他的都是默认安装
    系统为CentOS6_64

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      加我 QQ 287988783 实例分析下吧,最近反馈这个问题的有几个。。

    • SQA 1 这家伙可能用了岛国的代理 火狐浏览器 Windows 7 日本 东京都Linode公司KDDI数据中心

      我也是遇到了同样的问题,自动安装检测攻击并不能实现,需要手动cckiller – k 100才能拉黑IP
      系统为CentOS6_64

  13. Mike 2 Spain QQ浏览器 Windows 10 西班牙 巴塞罗那

    由于服务器是用AMH4.2 平台,防火墙有自己的配置例如:
    /sbin/iptables-save > /etc/amh-iptables;
    sed -i ‘/–dport 21 -j ACCEPT/d’ /etc/amh-iptables;
    /sbin/iptables-restore /etc/amh-iptables;
    echo ‘IPTABLES_MODULES=”ip_conntrack_ftp”‘ >>/etc/sysconfig/iptables-config;
    我改如何修改防CC的防火墙配置路径和文件呢?

  14. Mike 2 Spain QQ浏览器 Windows 10 西班牙 巴塞罗那

    由于我使用的是AMH 4.2平台,防火墙有直接的配置文件,例如:

    我改如何去修改防CC的防火墙路径和配置文件呢?

  15. Mike_Ye 2 Spain QQ浏览器 Windows 10 西班牙 巴塞罗那

    由于我使用的是AMH4.2平台防火墙有直接的配置文件,例如:

    我该如何修改防CC的防火墙路径和配置文件呢?

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      看起来是适用的,并不冲突。

  16. Mike_Ye 2 Spain QQ浏览器 Windows 10 西班牙 巴塞罗那

    由于我使用的是AMH4.2平台,防火墙有自己的路径和配置文件,我该如何去整合防CC的防火墙和配置文件呢,例如:
    防火墙路径和AMH防火墙的配置文件:#/sbin/iptables-save > /etc/amh-iptables;
    #sed -i ‘/–dport 21 -j ACCEPT/d’ /etc/amh-iptables;
    #/sbin/iptables-restore /etc/amh-iptables;
    #echo ‘IPTABLES_MODULES=”ip_conntrack_ftp”‘ >>/etc/sysconfig/iptables-config;
    请博主帮忙查看一下!

  17. Mike_Ye 2 Spain QQ浏览器 Windows 10 西班牙 巴塞罗那

    由于我使用的AMH4.2平台有自带的防火墙路径和配置文件我该如何怎么它?
    配置路径:sbin/iptables-save,AMH路径:etc/amh-iptables
    系统防火墙配置文件:etc/sysconfig/iptables-config
    请博主帮忙看下,非常感谢!

  18. 一元云购站长 0 来自天朝的朋友 火狐浏览器 Windows 7 广东省深圳市 电信

    不错的,喜欢博主分享一些技术性的文章,加油,多多分享

  19. 月宅 1 来自天朝的朋友 谷歌浏览器 Windows 7 贵州省遵义市 电信

    博主你好,如果网站套了一层CDN,请问能够正确获取IP并且拉黑吗?
    诸如360网站卫士,是将真实IP获取放在x-forward-for内,这个脚本能做到不拉黑CDN,拉黑真实IP吗?
    话说这个脚本只能裸奔才有效?
    (另外,打字特效不错,很带感)

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      因为iptables只能裸奔才有效,需要隔山打牛看这篇:https://zhangge.net/5096.html

      • 月宅 1 来自天朝的朋友 谷歌浏览器 Windows 7 贵州省遵义市 电信

        谢谢,博主没有邮箱回复提醒吗…我还以为你没有回复呢,特意过来看一看-0-

        • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

          修复了。。。

  20. 老司机 1 来自天朝的朋友 Safari浏览器  Android 6.0.1 ATH-AL00 Build/HONORATH-AL00 福建省福州市 联通

    涨姿势了

  21. 超越自我吧 1 来自天朝的朋友 火狐浏览器5.0 Windows 10 中国 移动

    https链接报错?

    • 刀锋 3 来自天朝的朋友 谷歌浏览器 Windows 7 山东省 联通

      我这边有时候也报错

  22. 拒绝下锅的鱼 0 未知系统 谷歌浏览器 Windows 7 运营商级NAT(宽带运营商局域网)

    安装好了,但是输入service cckiller status 空白的,不知道生效没有。

    想删除也不行,运行install.sh提示这个“./install.sh: 306: ./install.sh: Syntax error: “(” unexpected

    • 张戈 [博主] 来自天朝的朋友 Netscape Navigator iPhone iPhone OS 10_2_1 like Mac OS X 广东省广州市 电信

      加我qq287988783

  23. CheapLolicon 0 来自天朝的朋友 谷歌浏览器 Windows 10 广东省佛山市 联通

    作者您好
    我想请问一下如何把端口白名单这功能去掉?
    因为我现在安装了CCKiller功能的话,每次重启都把端口重置了,只留下22端口……
    结果每次开机都要手动开启80、443等端口
    另外我也已经在CCKiller工具的白名单端口(IGNORE_PORT)添加了需要开放的端口,但重启还是会重置……

    此外,我在同一个系统里(CentOS Linux release 7.3.1611 (Core)),不同机子里安装
    却有安装CCKiller工具完成,但无法正常运作的情况
    就是有台测试可以自动拉黑ip,另外一台就不行的情况

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      cckiller并不会重置端口,不清楚你是怎么弄的。

  24. 刀锋 3 来自天朝的朋友 谷歌浏览器 Windows 7 山东省 联通

    您好 软件写的很棒,用的也不错,谢谢您的付出!
    但是我觉得日志应该加个开关 主要是感觉日志操作台频繁了 也就是记录太详细了
    遇到大流量攻击记录日志也会占用很大资源
    感觉检测到已经备份的ip就不要在处理或者记录了
    请看下面的日志:
    [2017-05-19 01:54:24]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:54:24]: 112.124.69.78 is Unbaned successfully.
    [2017-05-19 01:54:29]: 8.8.8.8 is already in iptables list, please check…
    [2017-05-19 01:54:29]: 223.5.5.5 is already in iptables list, please check…
    [2017-05-19 01:54:29]: 112.124.69.78 Was Baned successfully.
    [2017-05-19 01:54:29]: Banned 112.124.69.78 with 2 connections
    [2017-05-19 01:54:35]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:54:41]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:54:42]: 8.8.8.8 is Unbaned successfully.
    [2017-05-19 01:54:46]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:54:52]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:54:57]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:55:00]: 112.124.69.78 is Unbaned successfully.
    [2017-05-19 01:55:03]: 112.124.69.78 Was Baned successfully.
    [2017-05-19 01:55:03]: Banned 112.124.69.78 with 2 connections
    [2017-05-19 01:55:08]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:55:14]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:55:19]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:55:25]: 112.124.69.78 is already in iptables list, please check…
    [2017-05-19 01:55:33]: 112.124.69.78 is Unbaned successfully.

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      多谢建议,已经加到1.07版本当中,你可以在线升级或重新安装即可,比较简单定义了日志级别,增加 LOG_LEVEL 参数,值为 INFO 、DEBUG 或 OFF,INFO 写常规日志,即拉黑和释放记录日志,DEBUG 会写所有日志,OFF 将关闭日志。
      欢迎试用。

  25. 刀锋 3 来自天朝的朋友 火狐浏览器 Windows 7 山东省 联通

    搬瓦工的机器装不上不知道咋回事

    Downloading source files….install.sh: line 86: which: command not found
    install.sh: line 87: –no-check-certificate: command not found
    install.sh: line 86: which: command not found
    install.sh: line 87: –no-check-certificate: command not found
    chmod: cannot access /usr/local/cckiller/cckiller': No such file or directory
    chmod: cannot access
    /etc/init.d/cckiller’: No such file or directory
    …done

    install.sh: line 292: /etc/init.d/cckiller: No such file or directory
    Installation has completed.

    Config file is at /usr/local/cckiller/ck.conf

    Your can post comments or suggestions on https://zhangge.net/5066.html

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      系统建议选择centos,其他发行版未测试过。

      • 刀锋 3 来自天朝的朋友 谷歌浏览器 Windows 7 山东省 联通

        使用的就是centos6.9

        • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

          which: command not found
          系统里面which命令都没有。。

  26. forward 0 来自天朝的朋友 搜狗浏览器 Windows 10 河南省商丘市 电信

    安装之后做了测试,有一定的效果,不过有时候遇到攻击还是每个IP都并发上百还是没有拉黑!

  27. 刀锋 3 来自天朝的朋友 谷歌浏览器 Windows 7 山东省 联通

    centos6.9安装出错

    Installing CCKiller version 1.0.7 by zhangge.net

    Downloading source files…….done

    Starting cckiller …/usr/local/cckiller/cckiller: line 48: syntax error near unexpected token else'
    /usr/local/cckiller/cckiller: line 48:
    else’
    [ \033[31mFailed\033[0m ]

    Installation has completed.

    Config file is at /usr/local/cckiller/ck.conf

    Your can post comments or suggestions on https://zhangge.net/5066.html

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      已修复,重装下。

      • 刀锋 3 来自天朝的朋友 谷歌浏览器 Windows 7 山东省 联通

        谢谢了
        请问可以实现不同端口设置不同的防御策略吗?
        因为不同端口提供不同业务

        • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

          这个不支持,要支持的话安装多份cckiller,在不同路径,然后还要改代码,这个要你懂一点shell

          • 刀锋 3 来自天朝的朋友 火狐浏览器 Windows 7 山东省济南市 电信

            哦 那算了 我太菜 只能建多个机器来实现了 :mrgreen:

  28. 逗你妹啊 0 来自天朝的朋友 谷歌浏览器 Windows 7 广东省佛山市 电信

    Centos 6 – 64 Bit 最新版报错 什么原因 启动不了…………!老版本之前正常。重新安装,报错,无法启动,重启 程序也没有什么原因???
    Do you want to use the default configuration? (y/n): y

    You choice the default configuration:
    Configure info,Please Review:
    =======================================
    The Time interval : 20 s

    The Forbidden Time: 600 s

    Adminstrator Email: root@localhost

    Connections Allow: 100

    Ignore Port: Null

    Log Level: INFO
    ========================================
    Press any key to continue…

    Configure Completed.

    Installing CCKiller version 1.0.7 by zhangge.net

    Downloading source files…….done

    Starting cckiller …/usr/local/cckiller/cckiller: line 48: syntax error near unexpected token else'
    /usr/local/cckiller/cckiller: line 48:
    else’
    [ \033[31mFailed\033[0m ]

    Installation has completed.

    Config file is at /usr/local/cckiller/ck.conf

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      修复了,重装下。

  29. 刀锋 3 来自天朝的朋友 火狐浏览器 Windows 7 山东省青岛市 联通

    作者您好:
    如果有多个服务器被封ip发送邮件的时候能否加上发送邮件的ip 好区分是那个服务器发来的邮件
    另外请问遇到攻击邮件多久发送一次呢 不会发送太频繁吧,能否设计一个自定义的间隔时间..
    谢谢

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      1、显示来源IP这个不难实现,有时间可以改下
      2、现在发送间隔应该和检查间隔保持一直,如果每次检查都有新的IP被封,那么就发送邮件,比如20S检查一次,那么最小间隔发邮件就是20S。

      • 刀锋 3 来自天朝的朋友 火狐浏览器 Windows 7 山东省济南市 电信

        哦 那如果设置5秒 遇到大的cc 邮件要爆了 :lol:

        • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

          邮件是一个鸡肋功能,可以关掉。

          • 刀锋 3 来自天朝的朋友 火狐浏览器 Windows 7 山东省济南市 电信

            主要用途是告诉我我的网站被攻击了 抓紧回去处理!方便出去泡妞 :cool:

  30. 海阔天空 1 来自天朝的朋友 火狐浏览器 Windows 7 广东省深圳市 电信

    大神您好,我一个小白安装了下,非常牛逼。有个小问题问下,这个会不会杀死百度蜘蛛之类的IP呢?

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      如果蜘蛛抓取太快,命中拉黑规则一样会被拉黑设定时长,一般蜘蛛也不会并发太高,经常去看看百度平台后台的抓取情况即可,如果有抓取超时就得注意调高拉黑门槛了。

    • 海阔天空 1 来自天朝的朋友 火狐浏览器 Windows 7 广东省深圳市 电信

      大神您好,谢谢您的回复,还有一个问题 :razz: 逐个能判断出真假IP的访问吗?谢谢!

      • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

        不太明白。。

  31. websec 0 来自天朝的朋友 谷歌浏览器 Windows 7 陕西省西安市 电信

    你好 博主,我想问下 白名单IP添加可否添加CIDR格式的吗?或者IP段

  32. 杨小杰 2 来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市 电信

    不错,很厉害

  33. satiling 2 来自天朝的朋友 搜狗浏览器 Windows 10 江苏省南京市秦淮区 /白下区电信

    为什么我卸载后,FTP也打不开,网站也打不开哈?求助

  34. satiling 2 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省南京市 电信

    发现一个严重bug,配置文件中对FTP端口21忽略,但是FTP下载文件的时候,还是会把本地的IP给添加到防火墙里面,导致FTP无法使用。版主请修复吧。

  35. origin 0 来自天朝的朋友 Safari浏览器 Mac OS X 10_12_4 浙江省杭州市 电信

    博主,请问下 1.能部署到cdn的cckiller版本现在有吗? 2.请问下博主博客里面代码插件是Crayon Syntax Highlighter吗? 为什么我写代码的时候 显示会多一行

  36. 电脑问题网 5 来自天朝的朋友 谷歌浏览器 Windows 10 广东省深圳市 联通

    github 地址给一下

加载中,请稍候...