OpenSource - 开源WAF_SamWaf

news2024/11/18 23:50:22

文章目录

  • Pre
  • SafeLine VS SamWaf
  • 开发初衷
  • 软件介绍
    • 架构
    • 界面
    • 主要功能
  • 使用说明
    • 下载最新版本
    • 快速启动
      • Windows
      • Linux
      • Docker
    • 启动访问
    • 升级指南
      • 自动升级
      • 手动升级
    • 在线文档
  • 代码相关
    • 代码托管
    • 介绍和编译
    • 已测试支持的平台
    • 测试效果
  • 安全策略
  • 问题反馈
  • 许可证书
  • 贡献代码

在这里插入图片描述


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

  • 直接启动
SamWaf64.exe
  • 服务形式
//安装
SamWaf64.exe install 

//启动
SamWaf64.exe start

//停止
SamWaf64.exe stop

//卸载
SamWaf64.exe uninstall

Linux

  • 直接启动
./SamWafLinux64
  • 服务形式
//安装
./SamWafLinux64 install 

//启动
./SamWafLinux64 start

//停止
./SamWafLinux64 stop

//卸载
./SamWafLinux64 uninstall

Docker

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

启动访问

http://127.0.0.1:26666

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

升级指南

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

自动升级

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

手动升级

  • 对于直接启动方式

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

  • 对于以服务形式
1.先暂停服务

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

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

PS:windows服务形式升级时候貌似会触发360、火绒规则导致无法正常替换新文件。此时可以手工替换。
熟悉这方面的朋友可以帮看下正确方式怎么处理。

在线文档

在线文档

代码相关

代码托管

  • gitee
    https://gitee.com/samwaf/SamWaf
  • github
    https://github.com/samwafgo/SamWaf

介绍和编译

How to compile
编译说明

已测试支持的平台

已测试支持的平台

测试效果

测试效果

安全策略

安全策略

问题反馈

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

  • gitee issues
  • github issues
  • 邮件反馈:samwafgo@gmail.com

许可证书

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

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

贡献代码

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


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2173721.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关系模型与关系代数——数据库原理 总结2

2.1 关系模型 关系数据结构 关系模型的数据结构是二维表,亦称为关系。关系数据库是表的集合,即关系的集合。表是一个实体集,一行就是一个实体,它由有关联的若干属性的值所构成。 关系模型的相关概念 列就是数据项 或 字段 或 属…

C++那些你不得不知道的(2)

C那些你不得不知道的(2) 1、缺省参数在使用的遍历 (1)以下是实现顺序表的初始化和检查容量空间的方式: void Init(list* ps) {ps->arr NULL;ps->Capacity ps->size 0; }void CheckCapacity(list* ps) {…

量化系统QTYX使用攻略|“自动交易”篇——ETF量化框架,集成“策略回测仓位风控下单”(更新v2.9.2)...

QTYX系统简介 股票量化交易系统QTYX是一个即可以用于学习,也可以用于实战炒股分析的系统。 分享QTYX系统目的是提供给大家一个搭建量化系统的模版,最终帮助大家搭建属于自己的系统。因此我们提供源码,可以根据自己的风格二次开发。 关于QTYX的…

ABAP版本管理

在开发中ABAP管理有查看,生成,比对,远程比对,回滚,删除等等操作。日常中往往会遇到需要回滚到上一版本的代码,但是ABAP不像git代码管理那么专业,但是也是可以回滚代码的。在此记录一下操作过程。…

大模型时代,2024的传统程序员还需要写代码吗?需要学习大模型吗?

一.引言 随着大模型(如GPT等)的迅猛发展,软件开发领域中我们的开发方式也在悄然发生变化。当然,我作为一名传统的Java后端开发工程师,在职业生涯的初期主要专注于使用多种数据结构以及算法编写业务代码。 …

所有测试人,下半年的新方向(大模型),赢麻了!!!

现在做测试,真的挺累的。 现在测试越来越难做,晋升困难,工资迟迟不涨……公司裁员,测试首当其冲!! 做测试几年了,还没升职,就先到了“职业天花板”。 想凭工作几年积累的经验&…

面向未来的设计:推动企业架构创新的关键——The Open Group 2024生态系统架构与可持续发展年度大会

在当今快速变化的数字时代,企业的可持续发展和创新能力比以往任何时候都更为重要。The Open Group 2024生态系统架构可持续发展年度大会,为全球技术和数字化转型专业人士提供了一个无与伦比的机会,以探索先进的企业架构与建模解决方案&#x…

SQLite3模块使用详解

目录 一、引言 1.1 SQLite3 简介 1.2 Python sqlite3 模块 二、连接数据库 2.1 导入 sqlite3 模块 2.2 连接数据库 2.3 创建游标对象 三、执行 SQL 语句 3.1 创建表 3.2 插入数据 3.3 查询数据 3.4 更新数据 3.5 删除数据 四、处理查询结果 4.1 fetchall() 4.2…

FollowYourPose - 生成可编辑、姿态可控制的人物视频

文章目录 关于 FollowYourPose摘要🍻🍻🍻设置环境💃💃💃培训🕺🕺🕺推理💃💃💃 本地 Gradio 演示🕺🕺&#x1f…

性能测试常见故障和解决思路详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、性能问题分析流程 1、查看服务器的CPU、内存 、负载等情况,包括应用服务器和数据库服务器 2、查看数据库健康状态,数据库死锁、连…

监控易监测对象及指标之:全面监控Sybase_New数据库

随着企业数据量的不断增长和业务的复杂化,数据库的稳定性和性能成为了保障业务连续性的关键因素。Sybase_New数据库作为众多企业选择的数据管理解决方案,其稳定性和性能对于企业的运营至关重要。 为了确保Sybase_New数据库的稳定运行和高效性能&#xff…

在类外定义的运算符重载函数

对基本的数据类型,C提供了许多预定义的运算符,如,-,*,/,等,他们可以用一种简洁的方式工作,例如 运算符: int x, y, z; x 3; y 5; z x y; 这是将两个整数相加的方法…

急!现在转大模型还来得及吗?零基础入门到精通,收藏这一篇就够了

大模型的出现,让行内和行外大多数人都感到非常焦虑。 行外很多人想了解却感到无从下手,行内很多人苦于没有硬件条件无法尝试。想转大模型方向,相关的招聘虽然层出不穷,但一般都要求有大模型经验。而更多的人,则一直处…

指数级增长使Hugging Face上的人工智能模型达到100万个

本周四,人工智能托管平台Hugging Face的人工智能模型列表首次突破100 万个,这标志着快速扩张的机器学习领域的一个里程碑。 人工智能模型是一种计算机程序(通常使用神经网络),通过数据训练来执行特定任务或进行预测。 …

【算法】字符串相关

【ps】本篇有 4 道 leetcode OJ。 一、算法简介 字符串是一种数据结构,大多与别的算法结合在一起出题,例如模拟、高精度算法、双指针、dp、回溯等,因此这个专题的题型本身是特别丰富的。本篇选取了较为典型的字符串题型,除了涵盖一…

双端之Nginx+Php结合PostgreSQL搭建Wordpress

第一台虚拟机:安装 Nginx 更新系统包列表: sudo apt update安装 Nginx及php扩展: sudo apt install nginx php-fpm php-pgsql php-mysqli -y启动 Nginx 服务: sudo systemctl start nginx检查 Nginx 是否正常运行: xdg-open http://localhost注意:终端命令打开网址 …

【射频通信电子线路第六讲】射频信号与调制包括调幅和部分调频的内容

一、调制(Modulation)与解调(Demodulation) 1、相关概念 调制是指使一个信号(如光信号、高频电磁振荡等)的某些参数(振幅、频率和相位)按照另一个欲传输的信号的特点变化的过程。 …

Linux基础(二):磁盘分区

1.磁盘在Linux中的文件名 SATA接口的磁盘在Linux中名字为/dev/sdx。/dev 几乎是所有外接设备存放的文件夹: 磁盘在Linux中的文件名是不确定的,比如拿一个U盘插到Linux主机,可能第一次名字为sda,拔插后名字为sdc,这取…

新160个crackme - 067-CarLitoZ.1

运行分析 需要破解Code PE分析 VB程序,32位,无壳 静态分析&动态调试 使用VB Decompiler分析,发现注册模块需要满足var_18 var_ret_7var_18 abt.Label1.MousePointer 即输入框填入的信息var_ret_7 Mid(var_1C, 6, 1) Mid(var_20, 9, 1…

《Linux运维总结:使用 MongoDB工具备份和恢复mongodb 7.0.14分片集群(方案一)》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、备份说明 1、要使用mongodump备份分片集群,您必须 停止负载均衡器、 停止写入,避免备份的数据出现状态不一致问题。 2、从MongoDB7.0.2开始(也可以从6.0…