侧边栏壁纸
博主头像
诗语blog 博主等级

行动起来,活在当下

  • 累计撰写 8 篇文章
  • 累计创建 13 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

自己SamWaf网站免费防火墙

Administrator
2024-11-02 / 0 评论 / 0 点赞 / 23 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于81天前,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

SamWaf网站防火墙是一款适用于小公司、工作室和个人网站的开源轻量级网站防火墙,完全私有化部署,数据加密且仅保存本地,一键启动,支持Linux,Windows 64位。SamWaf 支持一键启动,兼容LinuxWindows 64位系统,为用户提供了一种高效且简单的方式,以保护他们的网站不受异常情况的影响。

1.1、SamWaf的特点

  • 完全开源:源码可供任何人查阅和修改。

  • 私有化部署:数据安全,无泄露之忧。

  • 轻量化设计:无需第三方服务支持,独立运作。

  • 独立引擎:防护功能不依赖IIS、Nginx等服务器软件。

  • 自定义防护规则:通过脚本或界面编辑规则。

  • 黑白名单支持:设定特定IP的访问权限。

  • URL访问控制:控制URL的访问权限。

  • 数据隐私:可选择性输出界面数据。

  • CC攻击防护:防止恶意流量导致服务中断。

  • 一键配置:全局设置简单快捷。

  • 分网站防护策略:根据不同网站需求设置不同策略。

  • 日志加密:确保日志数据安全。

  • 通讯加密:保护传输中的信息安全。

1,2、架构

SamWaf采用了先进的技术架构,确保其高效稳定,同时提供强大的扩展性和安全性。

1.3 部署方式

Windows环境:

  • 直接启动:SamWaf64.exe

  • 服务形式:安装、启动、停止、卸载服务

  • 安装服务 SamWaf64.exe install   

  • 启动服务  SamWaf64.exe start  

  • 停止服务  SamWaf64.exe stop  

  • 卸载服务 SamWaf64.exe 

Linux环境:

  • 直接启动:./SamWafLinux64

  • 服务形式:安装、启动、停止、卸载服务

// 安装服务  ./SamWafLinux64 install   
// 启动服务  ./SamWafLinux64 start  
// 停止服务  ./SamWafLinux64 stop  
// 卸载服务  ./SamWafLinux64 uninstall

Docker部署:

version: '3.8'
services: 
 samwaf-instance:   
 image: samwaf/samwaf    
container_name: samwaf-instance    
ports:      
- "26666:26666"      
- "8089:80"     
 - "443:443"    
volumes:      
- ./conf:/app/conf      
- ./data:/app/data      
- ./logs:/app/logs    
restart: unless-stopped

启动访问:

访问地址:127.0.0.1:26666

默认账号:admin 密码:admin868(建议立即更改密码)

1.4、功能

SamWaf的核心功能包括添加主机、查看攻击日志、配置CC攻击防护、管理IP黑白名单、管理URL黑白名单等。其他的功能这里就不再截图了。

1.5、下载地址

SamWaf以其轻量、安全、易用的特点,成为小公司、工作室和个人网站的理想选择。它不仅能有效地保护网站免受威胁,还能根据用户需求进行灵活配置。

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

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

0x2、测试使用

2.1、测试环境

  • 客户端:mac、172.19.11.82

  • waf:win、172.19.11.171:80

  • web:win、172.19.11.171:81

2.2、搭建单Web

(1)安装samwaf,测试了win版本的,安装完服务直接启动即可。http://127.0.0.1:26666/#/login

登录完建议修改密码。添加防护的网站,需要输入网站域名、端口、后端IP和Web服务器的端口。

这里测试的部署方法是WAF和WEB服务器在一台服务器中。

然后再客户端配置hosts:172.19.11.171 www.demo1.com,访问效果如下:

2.3、配置负载

启用负载后,有两个负载均衡类型,权重和IP hash。

  • 权重轮询(WRR):根据后端服务器的权重,按依次将请求分发给不同的服务器。权值越高的服务器被轮询到的次数(概率)越高。

  • IP Hash:根据请求的源 IP 地址,使用散列键(Hash Key)从散列表找出对应的服务器,使得相同IP每次访问的服务器是固定的

这里选择权重。

下面的服务器填写两个以上,一个端口是81(小皮系统搭建的,使用PHP版本是5.6.9),一个端口是82(php -S 0.0.0.0:82,PHP版本是5.4.45)。实际上需要配置相同的环境,这里为了看到效果,用了两套PHP环境。访问效果如下。

2.4、测试防护

在测试防护之前需要启用全域网站的防护能力。

防护能力测试这里使用的是blazehttp。

https://github.com/chaitin/blazehttp/releases/tag/v0.3.0

2.5、拉黑处理

在研判的过程中可以直接拉黑某个IP或者单独在“IP黑名单”中添加某个IP。

直接访问,效果如下:

2.6、SQL注入测试

使用webug搭建目标服务器,http://www.demo1.com/control/we_bug_env.php#

总体而言对于小站长是完全够用,大家可以自行下载测试,宝塔的收费,我们自己搭建一个,其实挺好用的。

0
博主关闭了所有页面的评论