尝试了1Panel的WAF功能,目前发现一个问题,就是在halo的后台无法发表修改文章、无法更改配置选项,提示403错误。关了WAF就一切正常,但是这样就失去防护,肯定是里面某个规则设置的不对或者正好跟halo的处理规则冲突了。在论坛上发现了以下解决方法,以及关于WAF的其他问题和解答,成功解决这个403错误,遂转载过来当做备忘。

为什么我保存文章的接口会报错?

在 Halo 中写文章,保存的时候,因为请求中存在一些 html 的代码,所以会被识别为 XSS ,因为 WAF 是无法判断这些代码是正常还是异常,所以为了安全,都会拦截

解决办法:
像 Halo 、1Panel 这种现代化的应用,基本不会存在 XSS 和 SQL 注入漏洞,1Panel 更是登录之后才能操作,所以可以关闭这些检查

操作步骤:
在 【WAF】-【网站设置】中
默认规则-参数规则 => 关闭
默认规则-其他-SQL 注入防御,XSS 防御 => 关闭

WAF 把我自己拉黑了怎么办?

频率访问限制默认配置是 20 秒内访问 100 次会拉黑用户 IP,有一些网站首次打开请求数会比较多,所以可能会把正常访问的 IP 拉黑

解决办法:
增加频率访问限制的阈值

操作步骤:
在 【WAF】-【网站设置】中
频率限制-频率访问限制-减少周期 或者 增加频率
几个推荐的配置
10 秒 200 次
10 秒 400 次
注意:这个次数是 单 IP 的访问次数,并不是所有访问网站的人的次数
如果一个 IP 在 10 秒内 给你的网站发了 400 次 请求,那么大概率是用脚本,这种直接封禁就可以

WAF 的配置为什么没有生效?

1Panel WAF 的规则配置,是需要在全局设置和网站设置都打开 才会生效
比如 地区访问限制 ,默认没有打开,需要在全局设置和网站设置都打开

说明:
全局设置的配置,如果带有【网站】标签,那么就是这样的准则

  1. 全局设置中的 开启-关闭 会影响所有网站
    例如下面这种

6720e838aa3e4.webp

  1. 全局设置中的配置,会被新建网站继承
    例如你在全局配置中设置了频率访问限制 10 秒内 200次,那么新建的网站就会有这个配置
    如果你关闭了参数规则,那么新建的网站也会关闭参数规则

ACL 是什么?怎么用

ACL 是一个计算机术语 :Access Control List (访问控制列表)
在 1Panel 的 WAF 中,是用来自定义一些规则
比如:设置访问 /menu/*** 路径的用户先触发人机验证
那么可以这样配置

6720e8a8d515d.webp

注意:需要在【网站设置】中配置才能生效
全局设置中的 ACL 是默认配置,新建网站的时候才会带过去

以上内容转载于:https://bbs.fit2cloud.com/t/topic/4540/3