小程序开发服务器免费高级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了
配置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条代码放到正确的位置,如下图。注意,前两条防止的位置
配置VeryNginx
2、第三条命令:
宝塔面板→ 网站→当前网站→设置 → 配置文件,将以下代码放到 root /www/wwwroot/ 下面即可。具体如图:
3、重启nginx,或者重新加载下配置都行。宝塔面板→nginx→服务→重载/重启Nginx:
VeryNginx 进行配置
VeryNginx 启动后,可以通过浏览器访问管理面板来查看状态以及进行配置。
管理面板地址为 http://{{your_machine_address}}/verynginx/index.html。
默认用户名和密码是 verynginx / verynginx。
登录之后就可以查看状态,并对配置进行修改了。修改配置后,点击保存才会生效.
设置cc防御(举例):在自定义动作→拦截频率中可以设置。如图:
然后,我们重新打开下我们的网站,进行测试cc攻击了,是不是被拦截返回了。
VeryNginx总结
VeryNginx是一个高级nginx扩展程序,他的强大之处在于VeryNginx 包含强大的自定义功能,可以做很多事情,比如waf防火墙功能。
他的 自定义行为包含两部分, Matcher 和 Action 。 Matcher 用来对请求进行匹配, Action 为要执行的动作 这样的优势在于把所有的前置判断整合在Matcher里一起来实现了,使复杂(组合)规则的实现变成了可能。更多具体,需要去摸索。
转载至迷神笔记头条号。
天津市犀思科技有限公司是专业从事web应用定制开发的一家公司,主营业务包括定制功能型网站建设开发、微信小程序开发、微信公众号开发、APP定制开发、天津企业微信开发、ERP、CRM、OA等企业应用场景信息化解决方案等服务,致力于成为中国领先的IT服务及行业解决方案的提供商。