Repolode
samwafgo

samwafgo/SamWaf

面向小型企业、工作室和个人网站的轻量开源 Web 应用防火墙,支持完全私有化部署。

可替代:Cloudflare WAF

Star
1,607
Fork
195
未关闭 Issue
147
最近提交
昨天

这是什么?

SamWaf 是一款部署在网站和 API 前端的 Web 应用防火墙,可检测并拦截 SQL 注入、XSS、远程命令执行、路径遍历等常见攻击。它同时提供反向代理与负载均衡、健康检查、静态站点托管、TCP/UDP 四层隧道转发,并通过 ACME 自动申请和续期 SSL 证书。

项目面向在自有服务器上私有化部署的场景。默认使用内嵌加密的 SQLite 数据库,无需依赖外部服务,也可切换为 MySQL 或 PostgreSQL。程序支持 Linux、Windows 64 位和 ARM64,并提供 Docker 镜像。Web 管理界面可配置站点、查看攻击日志、管理 IP 与 URL 黑白名单、设置地域封禁,并将告警推送到邮件、钉钉、飞书、企业微信等渠道。

在正式开启拦截前,可使用仅记录模式观察流量并调整规则。项目还通过 Coraza 引擎支持 OWASP CRS 规则集。

核心功能

  • 01检测 SQL 注入、XSS、远程命令执行、路径遍历和扫描器流量。
  • 02反向代理支持加权轮询、IP 哈希和最少连接等负载均衡方式。
  • 03通过 ACME 自动申请和续期 SSL 证书。
  • 04日志与数据加密存储在本地,默认使用 SQLite。
  • 05支持地域封禁、IP 与 URL 黑白名单及 CC 频率限制。
  • 06提供仅记录模式,可在不拦截流量的情况下调整规则。

适用场景

  • 在不依赖云端 WAF 服务的前提下保护小型企业的网站或 API。
  • 在 Linux 或 Windows 服务器上为个人网站或工作室站点部署自管防火墙。
  • 在要求流量日志留在本地的环境中运行私有化 WAF。
  • 在生产环境启用拦截前,先以仅记录模式验证规则效果。

快速上手

  1. 1

    从发布页面下载最新版本

  2. 2

    运行 Docker 镜像

    docker run -d --name=samwaf-instance --restart always -p 26666:26666 -p 80:80 -p 443:443 -v /path/to/your/conf:/app/conf -v /path/to/your/data:/app/data -v /path/to/your/logs:/app/logs -v /path/to/your/ssl:/app/ssl samwaf/samwaf
  3. 3

    打开 http://127.0.0.1:26666 并使用 admin 账户及初始密码登录

使用前须知

  • 服务模式下的 Windows 和 Linux 安装需要管理员或 root 权限。
  • 初始密码保存在文件中,首次登录后必须修改。

收录于专题

标签

常见问题

SamWaf 是什么?
面向小型企业、工作室和个人网站的轻量开源 Web 应用防火墙,支持完全私有化部署。 SamWaf 是一款部署在网站和 API 前端的 Web 应用防火墙,可检测并拦截 SQL 注入、XSS、远程命令执行、路径遍历等常见攻击。它同时提供反向代理与负载均衡、健康检查、静态站点托管、TCP/UDP 四层隧道转发,并通过 ACME 自动申请和续期 SSL 证书。
SamWaf 可以免费使用吗?用的什么许可证?
SamWaf 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
SamWaf 还在维护吗?
活跃维护中。SamWaf 最近一次提交是在 2026年10月22日。
SamWaf 适合用来做什么?
在不依赖云端 WAF 服务的前提下保护小型企业的网站或 API。 在 Linux 或 Windows 服务器上为个人网站或工作室站点部署自管防火墙。 在要求流量日志留在本地的环境中运行私有化 WAF。 在生产环境启用拦截前,先以仅记录模式验证规则效果。
SamWaf 怎么安装和运行?
从发布页面下载最新版本 运行 Docker 镜像: docker run -d --name=samwaf-instance --restart always -p 26666:26666 -p 80:80 -p 443:443 -v /path/to/your/conf:/app/conf -v /path/to/your/data:/app/data -v /path/to/your/logs:/app/logs -v /path/to/your/ssl:/app/ssl samwaf/samwaf 打开 http://127.0.0.1:26666 并使用 admin 账户及初始密码登录
在哪里获取 SamWaf?
源代码和安装说明在 GitHub 上:https://github.com/samwafgo/SamWaf

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目