SamWaf 是一款开源轻量级 Web 应用防火墙,支持 Linux、Windows 64 位和 Arm64 系统。它采用 Go 语言开发,支持完全私有化部署,数据存储在本地并经过加密处理,不依赖第三方服务。
核心优势
- 轻量级设计:资源占用少,不影响网站性能
- 完全私有化部署:数据存储在本地,安全可控
- 跨平台支持:一套代码,多平台运行
- 加密数据存储:所有日志和配置都经过加密处理
- 简单易用:几分钟即可完成部署配置
安装部署流程
环境准备
确保系统满足以下要求:
- 操作系统:Linux、Windows 64 位或 Arm64
- 内存:至少 512MB
- 磁盘空间:50MB 以上
一键部署步骤
- 获取项目代码
git clone https://gitcode.com/gh_mirrors/sa/SamWaf
- 编译生成可执行文件
cd SamWaf go build -o SamWaf main.go
- 启动防火墙服务
- Linux 系统:
./SamWaf - Windows 系统:
.\\SamWaf.exe
核心功能配置
系统监控中心
仪表盘提供实时安全状态监控:
- 今日攻击数:实时显示拦截的攻击次数
- 总访问量统计:监控正常访问流量
- 异常 IP 检测:自动识别并统计可疑 IP
- 趋势分析图表:通过折线图展示攻击与正常请求的变化趋势
攻击日志分析
防护日志模块记录所有拦截和放行的请求,支持:
- 多条件筛选:按网站、规则名称、IP 地址等快速定位
- 状态标识:红色'阻止'表示成功拦截攻击
- 规则关联:显示触发的具体防护规则
- 批量操作:支持对多条日志进行统一处理
CC 攻击防护配置
CC 防护是重要功能,通过配置:
- 请求速率限制:控制单个 IP 的访问频率
- 访问次数阈值:设置合理的请求次数上限
- 特定 URL 防护:针对关键页面加强保护
深度日志分析
每条日志都提供详细的分析视图:
- 请求生命周期:完整展示从访问到响应的全过程
- 攻击者信息:包含来源 IP、地理位置等关键数据
- 快速响应:支持将可疑 IP 一键加入限制名单
配置文件详解
主要配置文件位于 conf/config.yml,包含以下关键配置项:
- 服务端口设置:定义防火墙监听端口
- 数据库连接:配置本地数据存储
- 防护规则:管理各种安全策略
- 日志参数:设置日志存储和加密选项
高级防护功能
OWASP CRS 支持
集成了 OWASP 核心规则集,提供:
- SQL 注入防护:自动检测和阻止 SQL 攻击
- XSS 跨站脚本防护:防止恶意脚本执行
- 文件包含攻击防护:保护系统文件安全

