宝塔面板安装VeryNginx – 自带控制面板的免费强大的WAF防火墙

2019年11月19日 16 1,322 2960字阅读9分52秒

VeryNginx 基于 lua_nginx_module(openrestry) 开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在 Nginx 中运行,扩展了 Nginx 本身的功能,并提供了友好的 Web 交互界面。

VeryNginx 基于 OpenResty[^openresty],所以安装 VeryNginx 需要先安装好 OpenResty。但是VeryNginx 也支持安装在nginx中,但是需要lua-nginx-module,http_stub_status_module,http_ssl_module这3个模块的支持。碰巧的是,宝塔面板已经默认编译了这3个模块,所以我们只需要安装VeryNginx单个软件即可。

这篇文章就来谈谈如何在宝塔面板nginx环境中安装VeryNginx 防火墙,并且说说简单的防cc的设置。也算是对宝塔面板防cc的一个补充。

一:测试环境

宝塔面板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

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

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

安装完成的示例:

[root@daniao VeryNginx]# python install.py install verynginx 
### copy VeryNginx files ...
mkdir -p /opt/verynginx
cp -r -f ./verynginx /opt/verynginx
openresty not fount, so not copy nginx.conf
chmod -R 755 /opt/verynginx/verynginx/configs
*** All work finished successfully, enjoy it~

这里提示我们已经完成了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 行。

3.1设置Nginx配置文件

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

此处为隐藏的内容!
发表评论并刷新,方可查看

3.3重启Nginx

宝塔面板→nginx→服务→重载/重启Nginx:

宝塔面板安装VeryNginx - 自带控制面板的免费强大的WAF防火墙

至此就算正确安装了VeryNginx。

四:配置VeryNginx

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

管理面板地址为 http://网站域名/verynginx/index.html

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

登陆界面如下:

宝塔面板安装VeryNginx - 自带控制面板的免费强大的WAF防火墙

4.1设置cookie验证

尝试添加自定义动作,浏览器校验,设置个cookie验证上去。保存之后,去刷新你的网址,看看是否多了一个叫verynginx_sign_cookie的cookie值。如何设置看图:

宝塔面板安装VeryNginx - 自带控制面板的免费强大的WAF防火墙

我们现在刷新自己的网站看看是否多了verynginx_sign_cookie的cookie值,如图:

宝塔面板安装VeryNginx - 自带控制面板的免费强大的WAF防火墙

确实是看到了这个cookie,这样VeryNginx就算正常运行了。

4.2设置防cc

VeryNginx如何设置防cc的规则呢。在自定义动作→拦截频率中可以设置。如图:

宝塔面板安装VeryNginx - 自带控制面板的免费强大的WAF防火墙

4.3测试效果

我们保存之后,可以打开自己的网站测试下效果,如图:

宝塔面板安装VeryNginx - 自带控制面板的免费强大的WAF防火墙

防cc已经起作用了。我们是封禁了300秒,之后,会自动解封。

4.4注意事项

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

4.5修改用户名密码

配置→系统→用户,这里面可以修改看图:

宝塔面板安装VeryNginx - 自带控制面板的免费强大的WAF防火墙

修改之后保存。

4.6更新 VeryNginx

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

#更新 Verynginx
python install.py update verynginx

#更新 OpenResty
python install.py update openresty

4.7一些错误解决

修改配置后,页面底部会出现一个浮动条,提示保存,在点击浮动条上的保存按钮之后,配置才会进行写入。如果遇到无法保存配置的问题,可能是文件目录权限的问题,设置成755 www就可以了,如图:

宝塔面板安装VeryNginx - 自带控制面板的免费强大的WAF防火墙

或者是nginx 设置的 client body 太小,导致请求体被缓存到文件,导致 lua 代码没有获取到请求体,保存时会提示请求失败

在 nginx.conf 中 http 部分增加一句,client_body_buffer_size 128k;

4.8总结

以上的方法只适合宝塔面板的安装,如果你多次折腾不成功,还是用宝塔面板的免费防火墙吧,或者是宝塔面板的收费防火墙。

VeryNginx可以设置浏览器验证功能,可以选择cookie或者JavaScript验证,可以有效避免被采集。其他设置请自行研究。

  • 我的微信
  • 分享宝塔面板建站技术交流等!
  • weinxin
  • 微信公众号
  • 关注本博公众号
  • weinxin
  • 版权声明: 发表于 2019年11月19日
  • 转载注明:https://www.daniao.org/7355.html

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:16   其中:访客  10   博主  6
    • avatar 猫叔 回复 4

      D一下瞬间教你做人

        • avatar 大鸟 Admin 回复

          @猫叔 大佬,我只是出一个教程而已,求放过啊 :cry:

            • avatar 猫叔 回复 4

              @大鸟 交出ION就放过你了,不然拿无限流量的服务器D你

                • avatar 大鸟 Admin 回复

                  @猫叔 我擦,不要这么狠吧,哥哥,黑五还有呢,盯着抢一台。 :cool:

                    • avatar 猫叔 回复 4

                      @大鸟 我不要了,我嫖了一个香港CN2

                        • avatar 大鸟 Admin 回复

                          @猫叔 谁家的,我看看我测评过没有?

                            • avatar 猫叔 回复 4

                              @大鸟 我不知道谁家的,朋友看Netflix的一个鸡,空着在我就拿来了。

                  • avatar 张波博客 回复 4

                    宝塔,太强大了,也太傻瓜化的,新手上路必选

                      • avatar 大鸟 Admin 回复

                        @张波博客 确实,不过要玩的好一点,也不容易。

                      • avatar 沃茨 回复 1

                        免费版宝塔防火墙够香的了,这个配置有点麻烦(主要是懒 :grin:

                          • avatar 大鸟 Admin 回复

                            @沃茨 够香的了,我就怕哪天这个东西会收费。我感觉会收费。

                          • avatar 奶爸建网站笔记 回复 6

                            我F5刷死你

                            • avatar vps情报网 回复 4

                              新手上路必选,不过我已经用了你前天说的免费防火墙

                              • avatar vps情报网 回复 4

                                新手上路必选

                                • avatar sansways 回复 5

                                  准备按照大鸟兄的教程玩玩

                                    • avatar 大鸟 Admin 回复

                                      @sansways 你可以试试。