OpenSource - 开源WAF_SamWaf

文章目录


Pre

Nginx - 集成ModSecurity实现WAF功能 用ModSecurity,能折腾成啥样都得靠自己 .


SafeLine VS SamWaf

长亭的号称开源和免费WAF:SafeLine,中文名叫"雷池" . SafeLine(雷池)虽然它声称是开源的,但实际上并未提供源代码

SamWaf 最近开源了代码,也为开发者提供了一条多的选择


开发初衷

  • 【轻量】早期在使用过一些产品基于 nginx,apache,iis 做插件进行防护,但是插件形式耦合度太高了。
  • 【私有化】 后期基本上都是有云防护,而私有化部署针对一般的中大企业能承受,普通小企业公司,小工作室费用有点太高了。
  • 【隐私加密】 网站防护过程中不希望本地数据上云做处理,想做一款涉及的本地信息进行加密,管理端的网络通信进行加密。
  • 【DIY】在这么多年网站维护开发过程中有些特定的功能想加入自己的想法,无法实现。
  • 【感知】如果站长没有用过类似的 waf ,单纯从自己的日志或者是 nginx 、apache 、IIS 等查看信息不方便,不知道到底网站有谁在访问,都请求了什么?

总之,在网站或 API 防护上做一款趁手的兵器,来抵御一些异常情况,确保网站和应用的正常运行。

软件介绍

SamWaf网站防火墙是一款适用于小公司、工作室和个人网站的开源轻量级网站防火墙,完全私有化部署,数据加密且仅保存本地,一键启动,支持Linux,Windows 64位

架构

界面

添加主机

攻击日志

CC

IP黑名单

IP白名单

LDP

添加规则脚本日志

选择日志

日志详情

手动规则

URL黑名单

URL白名单


主要功能

  • 代码完全开源
  • 支持私有化部署
  • 轻量化不依赖三方服务
  • 完全独立引擎,防护功能不依赖IIS,Nginx
  • 自定义防护规则,支持脚本和界面编辑
  • 支持白名单访问
  • 支持IP黑名单
  • 支持URL白名单
  • 支持限制URL访问
  • 支持指定界面数据隐私输出
  • 支持CC频率访问
  • 支持全局一键配置
  • 支持分网站单独防护策略
  • 日志加密保存
  • 通讯日志加密
  • 信息脱敏保存

使用说明

强烈建议您在测试环境测试充分在上生产,如遇到问题请及时反馈

下载最新版本

gitee: https://gitee.com/samwaf/SamWaf/releases

github: https://github.com/samwafgo/SamWaf/releases

快速启动

Windows

  • 直接启动
bash 复制代码
SamWaf64.exe
  • 服务形式
bash 复制代码
//安装
SamWaf64.exe install 

//启动
SamWaf64.exe start

//停止
SamWaf64.exe stop

//卸载
SamWaf64.exe uninstall

Linux

  • 直接启动
bash 复制代码
./SamWafLinux64
  • 服务形式
bash 复制代码
//安装
./SamWafLinux64 install 

//启动
./SamWafLinux64 start

//停止
./SamWafLinux64 stop

//卸载
./SamWafLinux64 uninstall

Docker

bash 复制代码
docker run -d --name=samwaf-instance \
           -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 \
           samwaf/samwaf

更多docker启动上面的解释 https://hub.docker.com/r/samwaf/samwaf

启动访问

java 复制代码
http://127.0.0.1:26666

默认帐号:admin 默认密码:admin868 (注意首次进入请把默认密码改掉)

升级指南

注意:升级过程会终止服务,请在闲时进行升级。

自动升级

如有新版本页面会弹出升级框进行确认即可发起升级,升级完毕后,页面会自动刷新。

手动升级

  • 对于直接启动方式

关闭应用,下载最新程序替换,再手工启动就可以了。

  • 对于以服务形式
bash 复制代码
1.先暂停服务

  windows: SamWaf64.exe stop
  linux: ./SamWafLinux64 stop
  
2.替换最新应用文件

3.启动
windows: SamWaf64.exe start
linux: ./SamWafLinux64 start

PS:windows服务形式升级时候貌似会触发360、火绒规则导致无法正常替换新文件。此时可以手工替换。

熟悉这方面的朋友可以帮看下正确方式怎么处理。

在线文档

在线文档

代码相关

代码托管

介绍和编译

How to compile
编译说明

已测试支持的平台

已测试支持的平台

测试效果

测试效果

安全策略

安全策略

问题反馈

当前 SamWaf 还正在不停迭代,欢迎大家反馈问题、提出意见

许可证书

SamWaf 采用 Apache 2.0 license. 详细见 LICENSE .

第三方软件使用声明,见ThirdLicense

贡献代码

感谢以下小伙伴对本仓库的贡献!


相关推荐
2501_943695332 小时前
高职大数据技术专业,怎么参与开源数据分析项目积累经验?
大数据·数据分析·开源
万岳科技程序员小金2 小时前
多商户商城系统源码 + APP/小程序开发:技术架构与应用解
程序员·开源·源码·多商户商城系统源码·多商户商城小程序·多商户商城app开发·多商户商城平台开发
JustHappy4 小时前
「web extensions🛠️」有关浏览器扩展,开发前你需要知道一些......
前端·javascript·开源
一只大侠的侠6 小时前
Flutter开源鸿蒙跨平台训练营 Day8获取轮播图网络数据并实现展示
flutter·开源·harmonyos
DolitD7 小时前
云流技术深度剖析:国内云渲染主流技术与开源和海外厂商技术实测对比
功能测试·云原生·开源·云计算·实时云渲染
一战成名9968 小时前
深度解析 CANN 模型转换工具链:从 ONNX 到 OM
人工智能·学习·安全·开源
聆风吟º13 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
冬奇Lab15 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
大大大反派17 小时前
CANN 生态未来展望:统一框架 `CANN Unified` 与开源协同演进
开源
酷酷的崽79818 小时前
CANN 开源生态实战:端到端构建高效文本分类服务
分类·数据挖掘·开源