loading

运维

宝塔面板安装VeryNginx自带控制面板的免费WAF

namesilo全网最便宜域名注册商,输入折扣码:nsilo20立减1美元!

VeryNginx基于lua_nginx_module(openrestry)开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在Nginx中运行,扩展Nginx本身的功能,并提供了友好的Web交互界面。VeryNginx基于 OpenResty,所以安装VeryNginx需要先安装好OpenResty。但是VeryNginx也支持安装在Nginx中,但是需要lua-nginx-modulehttp_stub_status_modulehttp_ssl_module3个模块的支持。刚好宝塔面板已默认编译了这3个模块,所以我们只需要安装VeryNginx软件即可使用。宝塔面板安装VeryNginx自带控制面板的免费WAF

测试环境

系统:CentOS Linux 7.7.1908 (Core)、宝塔BT 7.1.1Nginx 1.17.5

相关资料

githubVeryNginx文档

安装VeryNginx

克隆VeryNginx仓库到本地, 然后进入仓库目录,具体命令如下:

git clone https://github.com/alexazhou/VeryNginx.git
cd VeryNginx 
python install.py install 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 配置块内部

以上三条指令分别放在Nginx配置文件的http配置块外部,http配置块内部,Server配置块内部,在修改时请保留这三条。如果添加了新的Server配置块或http配置块,也需要在新的块内部加入对应的include行。

1.设置Nginx配置文件

宝塔面板→ Nginx →设置 → 配置修改,将以下2条代码放到正确的位置。

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

配置位置如下图:宝塔面板安装VeryNginx自带控制面板的免费WAF

2.设置网站配置文件

宝塔面板→ 网站→当前网站→设置 → 配置文件,将以下代码放到配置文件中的root /www/wwwroot/www.xxxx.com; 下面位置即可。。

include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;

如下图:宝塔面板安装VeryNginx自带控制面板的免费WAF

重启Nginx

宝塔面板→Nginx→服务→重载/重启Nginx宝塔面板安装VeryNginx自带控制面板的免费WAF至此已经完成VeryNginx安装了。

设置VeryNginx防御

VeryNginx启动后,可以通过浏览器访问管理面板来查看状态以及进行配置。管理面板地址为http://网站域名/verynginx/index.html。默认用户名和密码是verynginx/verynginx
登陆界面如下:宝塔面板安装VeryNginx自带控制面板的免费WAF

1.设置cookie验证

尝试添加自定义动作,浏览器校验,设置个cookie验证上去。保存之后,去刷新你的网址,看看是否多了一个叫verynginx_sign_cookiecookie值。如何下图:宝塔面板安装VeryNginx自带控制面板的免费WAF
现在刷新自己的网站看看是否有verynginx_sign_cookie的cookie值(浏览器开发者调试模式或F12)如下图:宝塔面板安装VeryNginx自带控制面板的免费WAF看到这个cookie包含VeryNginx就已经正常运行。

设置cc防御

VeryNginx设置cc防御的规则,在自定义动作→拦截频率中可以设置。
如下图:宝塔面板安装VeryNginx自带控制面板的免费WAF

测试效果

保存设置后通过攻击手段测试网站效果如下图:
宝塔面板安装VeryNginx自带控制面板的免费WAFcc防御已经起作用封禁设置为300秒后会自动解封。

注意事项

通过VeryNginx控制面板保存新配置之后,会立刻生效,并不需要restart/reload NginxVeryNginx把配置保存在 /opt/verynginx/verynginx/configs/config.json里面。状态页面图表默认带有动画效果,如果有卡顿,可以点右上角齿轮图标关掉动画效果如果因为配错了什么选项,导致无法登录,可以手动删除config.json来清空配置,或者手动编辑这个文件来修复。

修改用户名密码

配置→系统→用户,这里面可以修改如下图:宝塔面板安装VeryNginx自带控制面板的免费WAF修改之后保存。

更新VeryNginx方法

要先pull github上最新的代码到本地,然后通过以下命令来进行更新:

#更新 Verynginx
python install.py update verynginx
#更新 OpenResty
python install.py update openresty

错误解决

修改配置后,页面底部会出现一个浮动条,提示保存,在点击浮动条上的保存按钮之后,配置才会进行写入。如果遇到无法保存配置的问题,可能是文件目录权限的问题,设置成权限为755、所有者为www就可以了,如下图:宝塔面板安装VeryNginx自带控制面板的免费WAF或者是Nginx设置的client body太小,导致请求体被缓存到文件,导致lua 代码没有获取到请求体,保存时会提示请求失败。在nginx.confhttp部分增加一句,client_body_buffer_size 128k;

其它设置

VeryNginx可以设置浏览器验证功能,可以选择cookie或者JavaScript验证,可以有效避免被采集。

(0)

本文由 podipod软库网 作者:Anonymous 发表,转载请注明来源!

全国计算机等级考试题库

热评文章

发表评论