CDNFly发布日志

2017-11-04 发布 v2.1.0版本

  • 功能:支持设置详细的缓存条件
  • 功能:支持免费的let’s encrypt https证书自动申请

2017-10-30 发布 v2.0.12版本

  • 功能:新增http2支持

2017-10-29 发布 v2.0.2版本

  • 功能:新增自动升级功能

2017-10-25 发布 v2.0.0-beta版本

  • 功能:新增多节点支持
  • 功能:支持控制面板管理反向代理网站
  • 功能:新增自动开启防cc功能
  • 功能:新增爬虫白名单
  • 功能:新增监控中心,自动对域名和节点进行监控

CDNFly防CC规则介绍

术语

  • 匹配器: 用来匹配用户的请求,可以匹配用户IP,Host,req_uri(带参数),uri(不带参数),user_agent和referer。一个匹配器可以有多个匹配项,添加多个匹配项时,此匹配器所有的匹配项都满足时,这个匹配器才为真。
  • 过滤器: 用来过滤用户请求,过滤器类型有req_rate(限制请求速率),js_jump(返回js跳转代码验证),temp_redirect(返回302跳转验证),cookie(返回cookie验证),captcha(返回验证码验证),slide(返回滑动条验证)。
  • 动作: 当请求无法通过过滤器时,执行相应的动作。动作包括iptables(使用iptables封锁请求),captcha(返回验证码验证,如果多次验证失败,则使用iptables封锁),slide(返回滑动条验证,当多次验证失败,则使用iptables封锁),exit_code(返回如403状态码)。
  • 规则组: 包含多个规则,按顺序应用规则,当请求应用了一个规则后,不再应用余下的规则。
  • 规则: 包含匹配器,过滤器和动作。

原理

用户预置了多个规则组,其中一个规则组设置为默认。规则组有多条规则。
执行流程
– CDNFly首先查看用户是否有设置rule_name变量,如果有,则使用此变量指向的规则组名称,否则使用默认的规则组
– 遍历此规则组的规则。取出一条规则,使用此规则中的匹配器匹配请求,如果匹配失败,继续取下一条规则
– 如果匹配器匹配成功,检查此IP是否在黑名单,如果在,执行此规则中的动作。否则,使用此规则的过滤器验证一次请求,当验证失败达到一定次数时,把此IP加入到黑名单。

CDNFly安装

支持的系统

  • centos-7
  • centos-6 (不推荐使用)
  • ubuntu 16.04
  • ubuntu 14.04

环境要求

需要干净的系统,可能会覆盖原有的mysql

主控端安装

curl -k "http://devops.webres.wang/httpguard/master.sh?$(date +%s)" -o master.sh
chmod +x master.sh
./master.sh

被控节点安装

curl -k "http://devops.webres.wang/httpguard/agent.sh?$(date +%s)" -o agent.sh
chmod +x agent.sh
./agent.sh 主控端IP

请把上面命令的主控端IP替换为真实的IP,如127.0.0.1

主控端访问

地址:http://ip:88/
用户和密码:admin guard

CDNFly(原HttpGuard)介绍

CDNFly是基于openresty,以lua脚本语言开发的防cc攻击软件。而openresty是集成了高性能web服务器Nginx,以及一系列的Nginx模块,这其中最重要的,也是我们主要用到的nginx lua模块。CDNFly基于nginx lua开发,继承了nginx高并发,高性能的特点,可以以非常小的性能损耗来防范大规模的cc攻击。

功能介绍

多节点管理

CDNFly支持多节点管理,可以在主控端同步更新同一个节点组的防cc配置,nginx配置等

网站管理

支持在控制面板添加,编辑,删除网站

防CC功能

内置多种防CC方法,以应付不同的攻击强度,如根据请求频率,浏览器自动识别,人工滑动验证,人工验证码等。
除了内置的这几种规则,还可以自定义自己的规则防护。

自动开启防护

在未受攻击的时候我们不想开启防攻击模式以免影响用户体验,这时候可以使用自动开启防护的功能。可以设置好开启防护的条件来自动开启防护。

允许爬虫

在开启防护的时候,像百度,谷歌,搜狗等为我们带来流量的搜索引擎的爬虫可能就无法正常访问我们的网站,这时候我们开启允许爬虫的功能,就可以免受防攻击模式的影响。

监控中心

添加新节点后,自动配置对域名请求频率、域名带宽的监控,以及节点Nginx性能、负载、硬盘、网络等监控。方便我们来查看节点及域名的运行情况,或者根据监控数据来查找问题。

界面截图

节点管理

服务器安全

网站管理

服务器安全

防护规则

服务器安全

域名监控

服务器安全

节点监控

服务器安全

安装和演示

安装:http://devops.webres.wang/2017/06/httpguard-installation/
演示:超级管理员:http://httpguard-demo.webres.wang:88/admin/login.html(admin/guard)
普通用户:http://httpguard-demo.webres.wang:88/user/login.html(user/user)

更多CDNFly文档

http://devops.webres.wang/tag/httpguard/

联系作者

QQ: 452336092