开源 Web 应用防火墙,老牌安全厂商长亭出品,语义分析引擎,零基础上手
一、前言
自上次博客网站流量异常后,内网穿透自用的其他网站也出现流量异常的情况了,于是想加个防火墙,网上搜了一下,发现WAF有挺多的,下面根据网上数据简单对比的下:
| WAF 项目 | 防护核心 | 易用性/UI | 部署方式 | 资源占用 | 误报率/自定义 | 主要适用环境 | 优缺点总结 |
|---|---|---|---|---|---|---|---|
| 雷池 (SafeLine) | 语义分析 + 行为检测 + Bot | 高(友好 Dashboard) | Docker 一键 | 中低 | 低/中等 | 个人站、中小企业 Web 应用 | 平衡最佳,防护强、误报低;适合追求开箱即用。 |
| 南墙 WAF (uuWAF) | 语义 + AI + 3层纵深防御(流量/系统/运行时) | 中高 | Docker / 本地 | 中 | 低/高(Lua 扩展) | 中小企业、需要高性能/0day 防护 | 工业级免费,扩展性强;适合有一定运维能力的团队。 |
| 堡塔云 WAF (aaWAF) | 语义分析 + 正则 + CC 防御 | 高(可视化) | Docker / 宝塔 | 低 | 中/高(自定义规则强) | 个人/中小企业、宝塔用户 | 轻量、ARM/国产支持好;适合低资源服务器或宝塔生态。 |
| BunkerWeb | Nginx + ModSecurity + 默认安全规则 | 高(Web UI) | Docker / K8s | 中 | 中/中等 | 云原生、需要“安全默认”场景 | 下一代易用型,集成多安全模块;适合 DevOps/Kubernetes。 |
| ModSecurity + OWASP CRS | 签名规则(经典) | 低(无原生 UI) | 模块集成 / Docker | 低-中 | 高/极高(需调优) | 传统服务器、合规需求高 | 成熟稳定,规则丰富;适合老鸟或企业自定义场景。 |
| Coraza WAF | Go 语言 ModSecurity 兼容 | 中 | 云原生插件 / Docker | 低 | 中/高 | Kubernetes、微服务、高性能需求 | 现代轻量替代 ModSecurity;适合云原生架构。 |
详细适用环境推荐
- 个人博客 / 小型网站 / 低资源服务器:
- 首选:堡塔云 WAF 或 雷池(部署简单、资源占用低、界面友好)。
- 备选:BunkerWeb(默认安全配置好)。
- 中小企业 Web 应用 / 需要强 Bot/CC 防护:
- 首选:雷池(误报低、语义分析强)或 南墙 WAF(纵深防御、0day 能力突出)。
- 堡塔云 WAF 也很合适,尤其已有宝塔面板。
- 云原生 / Kubernetes / 微服务环境:
- 首选:BunkerWeb 或 Coraza(高性能、易集成 Ingress / sidecar)。
- Coraza 特别适合追求极致性能和现代化的场景。
- 传统服务器 / 遗留系统 / 高自定义需求:
- ModSecurity + CRS:经典选择,可深度定制规则,适合安全团队。
- 南墙或 Coraza 作为升级选项。
- 合规 / 审计严格的企业:
- ModSecurity / Coraza(规则可审计)或南墙(工业级)。
因为是个人小网站,这里就选择了雷池 SafeLine WAF,来自安全厂商长亭科技,Docker 一键部署,智能语义分析,误报率低到 0.07%。
二、环境要求
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 1 核 | 4 核 |
| 内存 | 1 GB | 8 GB |
| 磁盘 | 5 GB | 50 GB |
| 系统 | Linux (x86_64/arm64,需支持 SSSE3) | CentOS 7+ / Ubuntu 20.04+ / Debian 11+ |
| 软件 | Docker 20.10.14+ , Docker Compose 2.0.0+ | — |
检查命令:
# 查看内核版本
uname -a
# 查看 CPU 架构
uname -m
# 确认 SSSE3 指令集支持(必须)
lscpu | grep -i ssse3
# 查看 Docker 版本
docker --version
docker compose version
三、安装雷池
一行命令,全自动:
sudo bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"
安装过程会询问:
- 选择动作:
1安装 - Docker 未安装时自动帮你装(选
y) - 安装目录:默认
/data/safeline,可直接回车

正常输出示例:

记住控制台地址和初始密码。
四、初始化配置
4.1 放行管理端口
# Ubuntu/Debian
sudo ufw allow 9443/tcp
sudo ufw reload
# CentOS/RHEL
sudo firewall-cmd --permanent --add-port=9443/tcp
sudo firewall-cmd --reload
4.2 访问控制台
浏览器打开:https://<服务器IP>:9443/
首次访问会有证书警告,点"继续访问"即可。
登录凭据:
- 用户名:
admin - 密码:
docker exec safeline-mgt cat /run/secrets/password

4.3 重置管理员密码
如果忘记密码,执行:
docker exec safeline-mgt resetadmin
# 输出:New password: 9Xp!K4mz%vR8
五、基本使用
5.1 添加证书
- 控制台点击左侧菜单 「通用设置」→「添加证书」
- 支持已有证书,和从
Let's Encrypt自动申请证书

5.2 添加防护站点
- 控制台点击左侧菜单 「防护应用」→「添加应用」
- 填写:
- 域名:如
pan.zngw.cc - 端口:如:80、443
- 证书:选择上步添加的证书
- 上游服务器:原 Web 服务地址,如
http://192.168.1.112:5244 - 应用名称:随便写
- 域名:如
- 点击确认,生成雷池 IP

5.3 配置 DNS 解析
将域名的 A/AAAA 记录 指向雷池服务器 IP,让流量先经过雷池再回源。
用户请求 → 雷池WAF(检测) → 正常流量 → 源站
↓
恶意流量(拦截)
5.3 开启防护策略
在站点配置中启用:
| 防护项 | 说明 |
|---|---|
| 智能防护模式 | 基于语义分析,自动识别攻击 |
| CC 攻击防护 | 限制单 IP 请求频率,抵御 CC |
| 人机验证 | 放行真人,拦截爬虫/扫描器 |
| 暴力破解防护 | 自动封禁高频暴力破解 IP |
5.4 查看攻击日志
控制台 → **「日志」→「攻击日志**,可以看到:
- 攻击类型(SQL 注入、XSS 等)
- 来源 IP
- 请求详情
- 处理结果(拦截/放行)
六、常用运维命令
# 查看容器状态
docker compose ps
# 查看实时日志
docker compose logs -f
# 重启雷池
docker compose restart
# 升级雷池
docker compose pull && docker compose up -d
# 卸载雷池
docker compose down -v
docker rm -f $(docker ps -aq)
七、生产环境建议
- 修改默认密码:安装后立即修改 admin 密码
- 资源调配:编辑
docker-compose.yml,给safeline-mgt增加 CPU/内存限制 - 数据持久化:生产环境建议配置数据卷,避免数据丢失
- 先测试后上线:用流量镜像功能在测试环境验证规则,确认无误再切生产
- 定期更新:关注官方版本更新,及时升级
评论区