Anye
Anye
Published on 2024-04-22 / 151 Visits
0
0

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 黑名单填写建议

  1. 敏感目录和已知漏洞路径:

  • 列出可能包含敏感信息或易受攻击的目录和路径,如管理员后台、数据库管理工具、上传文件目录等。

  • 还应该包括已知的漏洞路径,如常见的漏洞利用脚本路径。

  1. 常见攻击路径和恶意脚本路径:

  • 包括常见的攻击路径,如 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 加入白名单。


Comment