雷池waf社区版,反代+免费防火墙,NPM升级替代
摘要
本文推荐使用雷池 WAF 替代 Nginx Proxy Manager,以在保留反代功能的同时增加 Web 防火墙层。雷池作为反向代理,具备防御注入、XSS 等攻击及可视化监控能力。社区版免费但有 10 条域名限制,配置时需注意先申请 SSL 证书,并需在后端开启信任代理头以获取真实 IP。相比 NPM,雷池更适合不想手搓防火墙、注重安全性的站主。
前言
最近飞牛 OS 爆出的安全漏洞问题,在玩家圈里讨论得比较凶。我虽然没中招,但这件事确实给大家提了个醒。对我而言,NAS 的安全性倒还好——大不了断网处理;真正要重点防护的,是始终暴露在公网上的 VPS(云服务器),它一旦被攻破,影响面就大了。
可我又实在没精力去手搓 iptables / nftables 这类防火墙规则,于是想到了一个更省心的方案:用「雷池 WAF」替代我现在用的 Nginx Proxy Manager(NPM)。这样既能保留我自己习惯的反代玩法,又等于在前面加了一层 Web 防火墙,一举两得。如果你也正"裸奔"着反代服务,很推荐看看这条路。
注意:免费版最多添加 10 条域名规则,且对服务器配置有一定要求(建议至少 1 核 1G 以上),跑在轻量 VPS 上要注意内存占用。
先搞懂一件事:WAF 不是"插件",它是你的新大门
很多人一听到"装个 WAF",脑补的是给现有网站打个补丁。这是理解偏差,也是后面一系列配置困惑的根源。
WAF 的本质是一个反向代理。 装上雷池之后,你的流量路径会变成这样:
也就是说,域名解析要指向雷池所在的机器,而不是后端服务;后端服务反而应该退到内网、不再直接对外暴露端口。想通这一点,原文里"上游服务器填后端实际服务的地址"这句配置说明就顺理成章了——雷池需要一个"转发目标",它自己就是那个对外的入口。
顺带也就理解了另一件事:为什么 WAF 能看到源 IP 并做 IP 过滤。因为所有请求都要先经过它。
功能
SafeLine,中文名"雷池",是一款简单好用、效果突出的 Web 应用防火墙(WAF),用于保护 Web 服务不受黑客攻击。它的原理是过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护后端服务,可以防御 SQL 注入、XSS、代码注入、命令注入、CRLF 注入、LDAP 注入、XPath 注入、RCE、XXE、SSRF、路径遍历、后门、暴力破解、CC、爬虫 等多种攻击类型。
核心能力:
防护各类 Web 攻击(注入 / XSS / 命令执行等)
防爬虫、防恶意扫描
前端代码动态加密(防改包 / 防逆向)
基于源 IP 的访问速率限制(抗 CC)
HTTP 访问控制(黑白名单、封禁管理)
对个人站主来说,最实用的是它把"攻击检测 + 拦截"做成了可视化面板,谁在扫描你、命中过哪些规则,一目了然。
被扫不是"如果",而是"什么时候"
有个认知上的坎,过了之后你会觉得这个面板特别值:一台刚上线的公网服务器,通常几个小时内就会被扫描器扫到——不是因为你得罪了谁,而是互联网上一直有大量自动化程序在整段整段地扫 IP。
所以正确的心态不是"希望别被攻击",而是"确认攻击已被拦下"。雷池首页统计页那一排数字,实际回答的就是三个问题:
我的站点每天被"问候"多少次——看拦截总数,正常的小站也会有几百上千次;
他们想干什么——看攻击类型分布,能看出是通用扫描器(各类型都有)还是被针对性盯着(某一类特别集中);
有没有漏网——看是否有请求穿透到了后端。
如果没有这层面板,这些事你根本无从得知,只能等出事。
开源版与商业版的边界
雷池有一个容易混淆的点,值得提前说清:
社区版(本篇装的这个)是开源免费的,核心的 WAF 引擎、反代、攻击检测都在里面,个人和小站完全够用;
官方还有商业版,多出来的是集群部署、多节点负载、更高级的语义分析与人机验证等能力。
这解释了"免费版最多 10 条域名规则"这个限制的性质——它不是把核心功能锁住,而是对规模做了分级。个人站主十个域名基本用不完。
安装使用
安装方式:我选官方自动脚本一键安装,几分钟就能装好;也可以手动用 Docker 部署,但那样需要自己配置更多参数,适合熟手。

安装完成后浏览器进入登录页面,填入终端里给出的账号密码;如果忘了,在终端执行相应命令即可找回 / 重置。

配置反代:基本操作和 NPM 一样——先申请 SSL 证书。要注意:社区版无法申请泛域名证书(
*.example.com),只能按具体子域名逐个申请,稍微麻烦一点,但对个人场景够用。

为什么要"先证书、后应用"? 并不是软件故意刁难,而是"添加应用"这一步里就要为这个域名挂上对应的证书。证书还没申请,那一栏自然没东西可选。所以顺序是:先申请证书 → 再添加应用。这点和 NPM 的"证书与应用解耦"设计不太一样,从 NPM 迁过来的人容易在这里绕一圈。
添加应用(站点):填入你的域名、选择对应证书,上游服务器填后端实际服务的地址(比如同机某端口或内网其它主机的服务)。别忘了把域名解析到雷池所在的这台服务器上。

添加完毕后无须额外设置,免费版本身也没再开放更多高级功能,直接用即可。此时你的站点流量就已经过了一遍 WAF 检测。

在首页统计面板里可以看到拦截情况、攻击类型分布等,方便你了解自己的站点每天被"问候"了多少次。

迁移后最容易踩的坑:后端拿到的 IP 全变了
这是加装任何反代 / WAF 之后几乎必然遇到的问题,原文没提,但很多人会在装完第二天发现:
后端应用的访问日志里,所有访客 IP 都变成了 172.x.x.x 之类的内网地址(那是雷池容器的地址)。
原因是:请求现在由雷池发出,TCP 层的源 IP 当然是雷池。真实访客 IP 被放进了 X-Forwarded-For 这类 HTTP 头里。
会造成的实际问题不小:
你在应用里按 IP 做的封禁、限流、统计全部失效(因为看起来只有一个访客);
风控类逻辑(比如"同 IP 登录失败 5 次锁定")形同虚设。
处理办法是在后端服务上启用"信任代理头":
Nginx:
real_ip_header X-Forwarded-For;+set_real_ip_from <雷池容器网段>;,然后日志格式改用$remote_addr;各类应用框架通常都有一个"反向代理 / 信任的代理"配置项,填上雷池的网段即可。
要点是:只信任雷池那一个网段,不要把 X-Forwarded-For 无条件全信——否则攻击者自己伪造这个头,反而能绕过你的 IP 限制。
与 NPM 对比 & 小结
和 NPM 比:反代能力(证书、转发、上游配置)两者都很成熟,雷池多出来的是内置的 WAF 检测与拦截,这是 NPM 不具备的;缺点是免费版有域名条数上限、证书管理不如 NPM 灵活(不支持泛域名批量)。
适合谁:手上有一两台公网 VPS、跑着个人网站 / 小工具、又懒得折腾专业防火墙的站主。
注意事项:加装 WAF 会引入一层代理开销,对延迟极其敏感的接口要考虑;同时要留意雷池自身的安全更新,及时升级版本。
如果你手上既有公网 VPS,又有内网里需要保护的飞牛 / NAS 服务,其实还有另一种思路——用 Lucky 这类插件在家用侧做 WAF 与 IP 过滤,我在 用 Lucky 保护你的飞牛那篇 里写过完整配置,它更贴近"飞牛 / 小主机自带的防护面板"这个场景,配置成本也更低。两者的分工大致是:公网入口交给雷池,家用内网入口交给 Lucky。
整体思路就是:用雷池把"反代 + 防护"二合一,少维护一套系统,站点安全性却上了一个台阶。如果你是 NPM 用户且同样在乎安全,很值得迁移一试。
相关文章
暂无相关文章