2038 字
10 分钟
Coraza WAF

Coraza WAF#

简单来说,Coraza WAF 是一个由 OWASP(开放 Web 软件安全项目)维护的开源、高性能 Web 应用程序防火墙(WAF)引擎

由于你最近在折腾 Lucky 反代,你可能会在 Lucky 的设置或者相关的网络安全讨论中看到它。


1. 它到底是做什么的?#

如果说你家路由器的防火墙是“大门保安”(只管端口开没开),那么 Coraza WAF 就是“安检员”。

它会扫描进入你家网络(比如访问你的 Home Assistant 或飞牛)的每一条 HTTP 流量。如果流量里夹杂着恶意代码,Coraza 会直接把它拦下。

  • 防御 SQL 注入:防止黑客通过输入框探测你的数据库。
  • 防御 XSS 攻击:防止恶意脚本在你访问页面时运行。
  • 扫描恶意爬虫:自动识别并封禁那些扫你端口的机器人。

2. 为什么它现在很火?(对比 ModSecurity)#

在 Coraza 出现之前,全世界最流行的 WAF 是 ModSecurity。但 ModSecurity 比较老旧,且主要针对 Apache 服务器。

  • 现代语言(Go)编写:Coraza 是用 Go 语言写的(和你用的 Lucky 一样),所以它运行速度极快,内存占用很低,非常适合跑在路由器或 NAS 这种设备上。
  • 完全兼容:它 100% 支持 ModSecurity 的规则语法(SecLang),可以无缝加载工业级的 OWASP Core Rule Set (CRS) 规则库。

3. 在你的 Lucky 环境中如何使用?#

Lucky 内置了对 Coraza WAF 的支持(通常是通过插件或特定的 WAF 管理模块)。

  • 它的位置:它位于你的域名内网服务(HA/飞牛)之间。

    用户请求 阿里云解析 你的服务

  • 核心优势:因为你现在是“直连”模式(不用 CF 代理),你失去了 CF 提供的云端防护。在 Lucky 里开启 Coraza WAF,就相当于在你家门口自己装了一套高性能的安检系统,弥补了直连带来的安全隐患。

4. 优缺点对比#

性能极高,几乎不影响你访问 NAS 的速度。规则加载过多时会占用一定 CPU。
安全防护等级非常专业,能防住针对漏洞的攻击。配置不当时,可能会把正常的访问当成攻击(误杀)。
成本完全开源免费。需要学习简单的规则配置。

在 Lucky 中使用 Coraza WAF,本质上是给你的反向代理规则加了一层“实时安检”。由于 Lucky 已经高度集成了这个功能,你不需要写复杂的代码,只需要按步骤开启即可。

以下是针对你当前 “直连 + Lucky” 环境的操作指南:


第一步:在 Lucky 中启用 WAF 模块#

  1. 登录 Lucky 后台。
  2. 在左侧菜单栏找到 “安全管理” 或直接进入 “反向代理” 页面。
  3. 点击你已经配好的规则(比如 fn.raythalis.cnha.raythalis.cn)后面的 “编辑”
  4. 在弹出的窗口中向下滚动,找到 “Web 应用防火墙 (WAF)” 开关并打开。

第二步:配置规则集 (Rule Sets)#

WAF 只是一个引擎,它需要“规则”才知道什么是坏人。Coraza 最强大的地方在于支持 OWASP CRS (核心规则集)

  1. 加载内置规则:Lucky 通常会内置几个开关(如:SQL 注入防护、XSS 防护、本地文件包含防护)。
  2. 设置动作
    • 建议初期选择:Log Only (仅记录)。这样即使触发了规则,它也只是在日志里提醒你,不会真的拦截。等运行一两天发现没有误报,再改为 Deny (拒绝)
  3. 敏感度:初次使用建议设为 中或低。设置太高可能会导致你正常上传大文件或同步照片时被当成“异常流量”拦截。

第三步:针对具体服务进行微调#

不同的服务对 WAF 的敏感度不同:

  • Home Assistant (HA):由于 HA 频繁使用 WebSocket 且有大量的 POST 请求,WAF 规则如果太严,可能会导致手机 APP 连接断断续续。如果发现 APP 报错,尝试在 WAF 设置里将 HA 的 IP 或域名加入 白名单
  • 飞牛 (fnOS):视频流传输通常不会触发 WAF,但如果你在外面登录管理页面,WAF 可以有效拦截针对登录接口的“暴力破解”。

🛡️ 为什么直连模式下“它”很重要?#

因为你现在是 直连,没有 Cloudflare 的云端防火墙挡在前面。黑客可以通过自动化工具(如 sqlmapnmap)直接扫描你的域名。

  • 没有 WAF:攻击报文直接到达飞牛或 HA。如果这些软件本身有漏洞(如未授权访问),你家里的数据就危险了。
  • 开启 WAF (Coraza):攻击报文在 Lucky 这一层就会被匹配出特征,直接丢弃,根本摸不到后面的服务。

⚠️ 注意事项(避坑指南)#

  1. 性能消耗:每开启一条规则,Lucky 都会对每个请求进行扫描。如果你的运行设备是老旧路由器,开启全部规则可能会导致网速变慢。建议只开启“SQL注入”和“XSS防护”这两项最核心的。
  2. 误杀排查:如果开启后发现飞牛打不开了,第一时间去看 Lucky 的 “运行日志”。如果看到类似 WAF Intercepted... 的字样,说明是误杀。
  3. 上传限制:有些 WAF 规则会限制请求体的大小。如果你发现大文件传不上去,检查 WAF 设置里的 RequestBodyLimit(请求体限制)。

从你发来的截图看,你已经成功开启了 Lucky 中的 CorazaWAF 实例,并且正在配置 OWASP 核心规则集 (CRS)。这步操作非常棒,直接给你的直连环境装上了“防弹衣”。

看到那一长串 .conf 文件了吗?它们代表了不同维度的防御。针对你的家庭场景,我建议按以下逻辑来操作:


1. 核心规则建议(不要全部无脑开启)#

虽然你勾选了“全选”,但我建议先重点关注以下几类关键规则,以防拦截太严导致你自己也打不开网页:

  • REQUEST-941-APPLICATION-ATTACK-XSS.conf:防止跨站脚本攻击(黑客在你的登录框里输入代码)。
  • REQUEST-942-APPLICATION-ATTACK-SQLI.conf:防止 SQL 注入(这是针对数据库最常见的攻击)。
  • REQUEST-930-APPLICATION-ATTACK-LFI.conf:防止本地文件包含攻击(防止别人偷看你 NAS 里的系统文件)。
  • RESPONSE-951/952/953-DATA-LEAKAGES-xxx.conf:防止敏感信息泄露(如果你的服务器报错,它会拦截包含数据库信息的错误页面,不让外人看到)。

2. 实战配置步骤#

既然你已经勾选了这些规则,接下来的关键是**“应用到反向代理”**:

  1. 保存 WAF 实例:点击右下角的“修改实例”或“保存”。
  2. 关联反代规则
    • 回到 Lucky 的 “反向代理” 菜单。
    • 找到你的 ha.raythalis.cnfn.raythalis.cn 的规则,点击“编辑”。
    • 在规则设置里,找到 “WAF 实例” 选项,选择你刚才创建的这个名为 base 的实例。
    • 保存反代规则。

3. 特别注意:如何防止“误杀”?#

由于 Home Assistant (HA) 和飞牛在正常使用时也会发送很多复杂的 API 请求,WAF 有时会误以为是攻击。

  • 观察日志:点击截图上方那个黄色的 “日志” 按钮。如果你发现自己登录不上了,日志里会显示是哪条规则(比如 941xxx)拦截了你的 IP。
  • 白名单设置:如果你发现某条规则总是拦截你的正常操作,可以在 WAF 实例里把那条特定的规则删掉,或者在 Lucky 的“IP 地址库”里把你的常用办公 IP 设为白名单。

🛡️ 现在的防御等级#

配置完这一步后,你的家庭网络安全已经超过了 90% 的普通用户:

  1. HTTPS 加密(防止嗅探)
  2. 直连高速(无 CF 延迟)
  3. WAF 实时审计(防止黑客漏洞利用)