1Panel 新版 WAF 配置建议
文章目录[隐藏]
前情提要
WAF(Web Application Firewall)是一种用于保护 Web 应用程序免受各种网络攻击的安全工具。
如何保护自己的站点,保证站点的可用性,应该是一名合格的站长应该具备的基本素质。(我不合格,就随缘了哈~
近期,1Panel 更新了 v1.10.5-lts 版本,社区版 WAF史诗级加强,使用1Panel 搭建的站点或多或少都受到了强有力的保护。
本文将简要讲述如何正确的配置 1Panel WAF 防火墙,实现保护站点安全的同时又不影响其正常运行。
注意!!!
请根据自己的需要食用本文,本文将以 1Panel v1.10.5-lts 社区版为例,简要概述我对 WAF 配置的理解。
全局设置
黑白名单
IP 黑名单 / IP 白名单 / IP 组
IP 黑名单和白名单,顾名思义,就是限制访问站点的 IP 来源,黑名单中的 IP 无法访问所有网站,白名单中的 IP 不受任何规则限制。
如有需要,我建议先在IP 组中创建一个黑名单分组,在 IP 黑名单重选择该分组,便于后期添加多个 IP,并将自己的 IP 加入 IP 白名单,防止测试等操作被防火墙拦截(共享 IP 不建议)。
URL 黑名单 / URL 白名单
与 IP 黑白名单类似,请求黑名单中的 URL 将被拦截,请求白名单中的 URL 不受任何规则限制
URL 黑名单填写建议:
- 敏感目录和已知漏洞路径:
- 列出可能包含敏感信息或易受攻击的目录和路径,如管理员后台、数据库管理工具、上传文件目录等。
- 还应该包括已知的漏洞路径,如常见的漏洞利用脚本路径。
- 常见攻击路径和恶意脚本路径:
- 包括常见的攻击路径,如 Git 目录、ThinkPHP 漏洞利用路径等。
- 列出可能包含恶意脚本的路径,如 eval() 函数路径、Web shell 存放路径等。
IP 白名单优先级高于URL 黑名单,使用固定 IP访问网站后台的时候建议将后台地址加入URL 黑名单以防被攻击。
User-Agent 黑名单 / User-Agent 白名单
由于客户端可以伪造 UA,所以通过 UA 来封锁效果不是很明显,不过还是有些常用的 UA 黑名单可供参考:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0)
Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Python-urllib/3.5
Python-urllib/2.7
频率限制
访问频率限制
根据站点的资源数量编写
我的办法是打开浏览器的开发者工具,模拟正常访问,查看所能产生的访问数量,在此基础上乘 1.5 作为访问频率限制。
攻击频率限制
都发起攻击了还能是啥好人,直接拉黑
404 频率限制
正常情况下站点内不会出现 404 资源,但是若出现了正常人不会反复去点 404 页面(無.Flac大佬做的那种 404 吸睛页面不算),所以按正常访问频率的 0.2 倍计算填写。
默认规则
按需求开启即可。
不过其他项中的XSS防御需要重点关注一下,博客发文免不了出现代码块,容易被误识别,建议关闭XSS防御或者将自己的 IP 加入白名单。
网站设置
在这里可以对每个网站进行单独的频率限制。
Q&A
为什么我的 Halo 操作时会报 403 未知错误?(引自 1Panel 社区)
在 Halo 中写文章,保存的时候,因为请求中存在一些 html 的代码,所以会被识别为 XSS ,因为 WAF 是无法判断这些代码是正常还是异常,所以为了安全,都会拦截
解决办法:
像 Halo 、1Panel 这种现代化的应用,基本不会存在 XSS 和 SQL 注入漏洞,1Panel 更是登录之后才能操作,所以可以关闭这些检查
操作步骤:
在 【WAF】-【网站设置】中
默认规则-参数规则 => 关闭
默认规则-其他-SQL 注入防御,XSS 防御 => 关闭
——社区步骤
这里更建议将自己的 IP 加入白名单。
共有 0 条评论