不越雷池一步!

头图©Copyright:BiliBili@KoraCola“她是来自天堂的魔鬼/亦或地狱的天使”
很久之前就有过为自己的网站上线WAF(Web Application Firewall)的想法,之前想要试图白嫖学校的eset,但是在授权时遇到了麻烦,毕竟显然我的服务器不在学校内网里面。
之后这个思路耽搁了很久,毕竟Typecho本身就不像是WordPress那种在互联网大手子圈子中“众矢之的”的大框架,并且也一直算是得到了良好的更新维护,我也一直都有手动更新服务器运行组件的习惯。退一万步讲,我这个网站九成九没什么攻击价值,所以也一直基本上只有宝塔的基本安全策略,也大概是完全够用的。
直到我看到了长亭雷池的项目,别的不说,光是社区版的免费开放和web界面干净现代的管理UI就让我大为心动。于是我悄悄下线了两天网站,重新配置了服务器,部署了雷池WAF的社区版项目。
雷池的使用文档详见:https://waf-ce.chaitin.cn/docs/,这里仅作简短的介绍

部署

官方推荐使用docker部署,宝塔最新版也有了对于docker的良好支持。当您已经下载了docker组件,则可以直接通过他们的脚本一键安装

bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

登录

首次登陆需要TOTP验证,当您打开http:[ip]:9443后,可使用您的验证器扫描验证
这里我使用的是微软Authenticator,点击账户,添加新账户,扫描屏幕上的二维码即可生成六位数的动态密码,输入即可。

配置站点

不出意外的话,目前您应该已经来到了雷池的dash board,但是您先别急,我们要先配置Nginx
这里假设您开启了SSL,若有需要可将下述443端口全部换成80端口
雷池的基本原理是用户(浏览器)与网站(服务端)之间的中间件,当用户访问ssl默认的443端口时,雷池会先获取到请求。那么这时,因为网站原本的端口也是默认的443,而雷池也需要443,就会发生端口冲突。所以,您需要先将宝塔Nginx的443端口换成其他端口。之后,雷池会进行传递、过滤,将新端口转发至443,相当于反向代理的作用。

在具体的设置中参考了【知乎】宝塔+免费WAF雷池配置教程
打开设置-Nginx配置,将443改成新的端口,如8443

之后您需要在宝塔防火墙放行新端口:安全-添加端口规则

此时您可以点击防护站点-添加站点

添加白名单

编辑网站等行为会被拦截,故而我们需要在雷池中设置UA或ip地址,可参考
【知乎】宝塔+免费WAF雷池配置教程

后记

妈的,写了半天被雷池拦截了,改天填坑remake吧
一定要确保配置的UA是自动的...

实际使用:

大部分应该其实也是有枣没枣打两杆子的水平,但是这么一看确实有点逆天...

最后修改:2024 年 03 月 06 日
请我喝杯可乐?