SamWaf网站防火墙是一款适用于小公司、工作室和个人网站的开源轻量级网站防火墙,完全私有化部署,数据加密且仅保存本地,一键启动,支持Linux,Windows 64位。SamWaf 支持一键启动,兼容Linux和Windows 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#
总体而言对于小站长是完全够用,大家可以自行下载测试,宝塔的收费,我们自己搭建一个,其实挺好用的。