日志样式

小程序开发服务器免费高级Waf防火墙:VeryNginx,防御网站被攻击

VeryNginx 是一个基于openrestry(其实是基于nginx的lua扩展)的开发程序,实现了高级的防火墙,可以做访问统计和其他的一些防护功能。 VeryNginx 扩展了 Nginx 本身的功能,并提供了友好的 Web 交互界面

VeryNginx安装需要支持lua模块支持,具体包括:lua-nginx-module,http_stub_status_module,http_ssl_module这3个模块。如果想在nginx中使用VeryNginx ,就需要安装以上模块,不过宝塔面板已经默认编译了这3个模块,宝塔面板一般都安装 lua模块,也支持安装openrestry。所以我们只需要安装VeryNginx单个软件即可。

测试环境:

宝塔面板7.0.3(其他版本大同小异)、nginx1.17.5、统:CentOS Linux 7.7.1908 (Core)

VeryNginx相关页面

github:https://github.com/alexazhou/VeryNginx

中文使用文档:
https://github.com/alexazhou/VeryNginx/blob/master/readme_zh.md

安装方法

git克隆下载,并且进行安装:

git clone https://github.com/alexazhou/VeryNginx.git
cd VeryNginx 
python install.py install verynginx

出现下面 successfuly,就代表OK了

免费网站高级Waf防火墙:VeryNginx,防御网站被攻击

 

配置VeryNginx

我们需要设置 Nginx 配置文件,添加三条 Include 指令来实现功能,分别为:

include /opt/verynginx/verynginx/nginx_conf/in_external.conf;   #http 配置块外部
include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;  #http 配置块内部
include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;   #server 配置块内部

1、前两条命令:

设置Nginx配置文件 宝塔面板→ Nginx →设置 → 配置修改,将以下2条代码放到正确的位置,如下图。注意,前两条防止的位置

免费网站高级Waf防火墙:VeryNginx,防御网站被攻击

配置VeryNginx

2、第三条命令:

宝塔面板→ 网站→当前网站→设置 → 配置文件,将以下代码放到 root /www/wwwroot/ 下面即可。具体如图:

免费网站高级Waf防火墙:VeryNginx,防御网站被攻击

 

3、重启nginx,或者重新加载下配置都行。宝塔面板→nginx→服务→重载/重启Nginx:

VeryNginx 进行配置

VeryNginx 启动后,可以通过浏览器访问管理面板来查看状态以及进行配置。

管理面板地址为 http://{{your_machine_address}}/verynginx/index.html。

默认用户名和密码是 verynginx / verynginx。

登录之后就可以查看状态,并对配置进行修改了。修改配置后,点击保存才会生效.

设置cc防御(举例):在自定义动作→拦截频率中可以设置。如图:

免费网站高级Waf防火墙:VeryNginx,防御网站被攻击

 

然后,我们重新打开下我们的网站,进行测试cc攻击了,是不是被拦截返回了。

VeryNginx总结

VeryNginx是一个高级nginx扩展程序,他的强大之处在于VeryNginx 包含强大的自定义功能,可以做很多事情,比如waf防火墙功能。

他的 自定义行为包含两部分, Matcher 和 Action 。 Matcher 用来对请求进行匹配, Action 为要执行的动作 这样的优势在于把所有的前置判断整合在Matcher里一起来实现了,使复杂(组合)规则的实现变成了可能。更多具体,需要去摸索。
转载至迷神笔记头条号。
天津市犀思科技有限公司是专业从事web应用定制开发的一家公司,主营业务包括定制功能型网站建设开发微信小程序开发微信公众号开发APP定制开发天津企业微信开发、ERP、CRM、OA等企业应用场景信息化解决方案等服务,致力于成为中国领先的IT服务及行业解决方案的提供商。