Pages

Sunday, 24 November 2019

HttpGuard-用lua脚本防止cc攻击

https://github.com/centos-bz/HttpGuard
-------------

CDNFly(原HttpGuard)介绍

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

功能介绍

多节点管理

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

网站管理

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

防CC功能

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

自动开启防护

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

允许爬虫

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

监控中心

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

from https://www.centos.bz/2014/06/new-http-guard-release/
--------

CDNFly安装

支持的系统

环境要求

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

主控端安装

curl -k "https://www.centos.bz/httpguard/master.sh?$(date +%s)" -o master.sh
chmod +x master.sh
./master.sh

被控节点安装

curl -k "https://www.centos.bz/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

from https://www.centos.bz/2017/06/httpguard-installation/
------

http-guard简介
这个是基于openresty开发出来的web防火墙,主要功能有
*   静态页面防cc攻击
*   动态页面防cc攻击(包括js跳转认证)
*   防止sql注入攻击
*   防止上传php webshell
*   防止xss攻击
*   取消特定目录php执行权限
安装方法
代码下载回来后,执行install.sh脚本开始安装。
使用方法
复制conf目录下的lua文件到/usr/local/nginx/conf下,在nginx.conf配置文件中的http代码段加入如下代码:
    lua_shared_dict http_guard 10m;
    init_by_lua_file 'conf/init.lua';
    header_filter_by_lua_file 'conf/send_cookie.lua';
    access_by_lua_file 'conf/http_guard.lua';
 
一些初始参数可以在init.lua文件修改.
 
from https://github.com/matrixj/http-guard