WAF 更新之后,收到了很多反馈,发现很多同学是第一次用 WAF,碰到一些问题,所以写一个 WAF 的问答贴
为什么我保存文章的接口会报错?
在 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 的规则配置,是需要在全局设置和网站设置都打开 才会生效
比如 地区访问限制 ,默认没有打开,需要在全局设置和网站设置都打开
说明:
全局设置的配置,如果带有【网站】标签,那么就是这样的准则
- 全局设置中的 开启-关闭 会影响所有网站
例如下面这种
- 全局设置中的配置,会被新建网站继承
例如你在全局配置中设置了频率访问限制 10 秒内 200次,那么新建的网站就会有这个配置
如果你关闭了参数规则,那么新建的网站也会关闭参数规则
ACL 是什么?怎么用
ACL 是一个计算机术语 :Access Control List (访问控制列表)
在 1Panel 的 WAF 中,是用来自定义一些规则
比如:设置访问 /menu/*** 路径的用户先触发人机验证
那么可以这样配置
注意:需要在【网站设置】中配置才能生效
全局设置中的 ACL 是默认配置,新建网站的时候才会带过去