linux nginx安装HttpGuard防止CC攻击

时间:2022-05-02
本文章向大家介绍linux nginx安装HttpGuard防止CC攻击,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

之前说了安装verynginx来进行cc防御和防火墙,虽然功能强大,还有控制面板,但是个人就只是防御下cc,还是找个简单的好了。

HttpGuard有免费版本和商业版,商业版也是有控制面板的,现在好像是500一年吧,原价2000。如果不懂程序或者要更多功能的,可以去买授权。

免费版本还是在,只是防御CC攻击,还是可以的。

如果要商业版可以去官方网站:HttpGuard

HttpGuard也是基于lua的,所以还是要安装lua,如果没有安装的可以安装这里的来:linux nginx服务器安装verynginx防止CC攻击

一、下载HttpGuard免费版本

创建文件夹

mkdir HttpGuard

cd HttpGuard

下载解压

wget https://www.zhujitop.com/test/x/master.zip

unzip master.zip

转移文件夹

cp -r HttpGuard-master/ /usr/local/nginx/HttpGuard

是为了把HttpGuard放到nginx文件夹里面去

配置文件

在nginx.conf文件http区域内增加

lua_package_path "/usr/local/nginx/HttpGuard/?.lua";
lua_shared_dict guard_dict 100m;
lua_shared_dict dict_captcha 70m;
init_by_lua_file '/usr/local/nginx/HttpGuard/init.lua';
access_by_lua_file '/usr/local/nginx/HttpGuard/runtime.lua';
lua_max_running_timers 1;

(图1)

修改HttpGuard配置文件

打开 /usr/local/nginx/HttpGuard/config.lua

把basedir后面的路径修改了

这里也可以顺便修改下验证配置:

limitReqModules这句,图2中,代表10秒内超过10次刷新,访问,就出现验证码。

(图2)

安装验证码(好像可以不安装)

cd /usr/local/nginx/HttpGuard/captcha/

/usr/local/php/bin/php getImg.php

这个是用linux命令操作的,然后重启下nginx

测试,动态页面才有效,不是动态的,测试的时候,静态页面无所谓CC攻击。

HttpGuard的配置文件config.lua,还有很多参数,可以自己看着改。

nginx自带的模版或者基于其他模块,来进行CC防御,特别是对浏览器验证、ip判断,有很大误伤的可能性,但是简单防御还是可以的。

一个网站的正常用户浏览,不可能10秒就在同一个页面访问10次吧,除非有什么特殊活动。

HttpGuard不能和verynginx同时并存,测试了下,nginx就无法启动,期待他们都更好。