Moat WAF 是一款基于 OpenResty的 Web 应用防火墙,为 Web 应用提供检测能力。
1.2K
轻量级、现代化、自托管 Web 应用防火墙
Moat WAF 是一款基于 OpenResty (nginx + Lua) 的 Web 应用防火墙,为 Web 应用提供 HTTP/HTTPS 流量检测、威胁识别和请求过滤能力。
docker run -d --name moat-waf \
-p 8080:80 \
-e WAF_BACKEND=your-backend-ip:80 \
-e WAF_ADMIN_TOKEN=your-secure-token-min-32-chars \
angelababa/moat-waf:latest
| 变量 | 说明 | 默认值 |
|---|---|---|
WAF_BACKEND | 后端服务器地址 | 127.0.0.1:80 |
WAF_ADMIN_TOKEN | 管理面板访问令牌(至少32字符) | 必填 |
WAF_ADMIN_PATH | 管理面板路径 | /admin/ |
WAF_HEALTH_PATH | 健康检查路径 | /waf-health |
WAF_MAX_UPLOAD_SIZE | 最大上传文件大小 | 10m |
WAF_LOG_DIR | 日志目录 | /opt/moat/logs |
http://your-server:8080/admin/WAF_ADMIN_TOKEN 登录git clone <repository-url>
cd moat-waf
docker build -t angelababa/moat-waf:latest .
docker run -d --name moat-waf \
-p 8080:80 \
-e WAF_BACKEND=192.168.1.100:80 \
-e WAF_ADMIN_TOKEN=your-secure-token-here \
angelababa/moat-waf:latest
├── conf/ # nginx 配置和规则文件
│ ├── nginx.conf # 主配置(环境变量占位符)
│ ├── rules/ # WAF 规则集(YAML 格式)
│ │ ├── sql_injection.yaml
│ │ ├── xss.yaml
│ │ ├── path_traversal.yaml
│ │ └── custom.yaml # 自定义规则
│ ├── ip_blacklist.txt # IP 黑名单
│ ├── ip_whitelist.txt # IP 白名单
│ └── geo_block.txt # 地理封禁
├── lib/ # 核心 Lua 模块
│ ├── waf.lua # WAF 处理管线
│ ├── rule_engine.lua # 规则引擎
│ ├── cc_protect.lua # CC 防护
│ ├── ip_control.lua # IP 管控
│ ├── logger.lua # 日志模块
│ ├── upload_check.lua # 上传检查
│ └── admin/ # 管理面板模块
│ ├── html.lua # 前端模板
│ ├── dashboard.lua # 仪表盘 API
│ ├── logs.lua # 日志 API
│ ├── rules.lua # 规则管理 API
│ ├── nginx.lua # nginx 配置 API
│ └── challenge.lua # JS Challenge
├── static/ # 静态资源(Logo、Chart.js、字体)
├── scripts/ # 辅助脚本
├── docs/ # 文档
├── Dockerfile
├── docker-entrypoint.sh
└── README.md
本项目采用 MIT 许可证开源。
Content type
Image
Digest
sha256:e0432b46d…
Size
42.8 MB
Last updated
7 days ago
docker pull angelababa/moat-waf