当我们的网站上线后首先会遇到什么,可能不一定是自己的客户,而是来自网络的攻击。
今天我们分享的开源项目,它是登顶GITHUB的开源WAF,让黑客不敢越雷池一步,并且还是国产的开源项目,它就是:雷池(SafeLine)
雷池是什么?
雷池(SafeLine)是一款足够简单、足够好用、足够强的免费 WAF。基于业界领先的语义引擎检测技术,作为反向代理接入,保护你的网站不受黑客攻击。是长亭科技耗时近 10 年倾情打造,核心检测能力由智能语义分析算法驱动。
雷池以反向代理方式接入,优先于网站服务器接收流量,对流量中的攻击行为进行检测和清洗,将清洗过后的流量转发给网站服务器。通过以上行为,最终确保外部攻击流量无法触达网站服务器。
安装雷池
系统资源要求:
- 操作系统:Linux
- 指令架构:x86_64
- 软件依赖:Docker 20.10.6 版本以上
- 软件依赖:Docker Compose 2.0.0 版本以上
- 最小化环境:1 核 CPU / 1 GB 内存 / 5 GB 磁盘
自动安装:
最简单的方式使用项目提供的一键安装脚本,用root用户执行以下命令即可
bash -c "$(curl -fsSLk <https://waf-ce.chaitin.cn/release/latest/setup.sh>)"
当然如果你的服务器不能直接访问网络,那么你可以提前将项目clone下来,然后再执行手动安装。
手动安装:
你也可以手动安装雷池,首先需要确定你的服务器已经安装好docker,这里就不单独说明,可以自己查一下相关介绍。
创建雷池目录
mkdir -p "/data/safeline"
该命令会创建 /data/safeline 目录作为雷池的安装目录(你可以根据你的实际情况选择安装目录)。
请确保该目录至少有 5GB 的存储空间(如果日常流量较大,请保证充足的磁盘容量)。
下载compose.yaml:
cd "/data/safeline"
wget "<https://waf-ce.chaitin.cn/release/latest/compose.yaml>"
创建.env配置文件,写入一下内容:
SAFELINE_DIR={safeline-dir}
IMAGE_TAG=latest
MGT_PORT=9443
POSTGRES_PASSWORD={postgres-password}
SUBNET_PREFIX=172.22.222
IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com/chaitin-safeline
启动服务:
docker compose up -d
服务启动完成后访问本地 https://127.0.0.1:9443/ 即可开始使用。
使用雷池
安装完成后我们登录到管理界面。
配置站点
首先我们要配置一下要保护的站点,这里也说明一下,正常使用的时候,不建议把雷池和实际的业务应用部署到一台服务器上,这样对于服务器的负载会很大,存在隐患,最好是单独的一台服务器来部署雷池,之后将流量转给真实应用。
配置完成后,用浏览器访问域名,能获取到业务网站的响应,并且数据统计页的 “今日请求数” 增加,代表配置成功。
我们可以简单的模拟下对网站进行攻击,比如SQL注入伙XSS攻击:
<https://example.com/?id=1+and+1=2+union+select+1>
<https://example.com/?id=><img+src=x+onerror=alert()>
不出意外的话,这些攻击都将被雷池拦截,如下图所示。
动态防护
在最新的雷池6.0中,发布了动态防护功能。所谓动态防护,是在用户浏览到的网页内容不变的情况下,将网页赋予动态特性,即使是静态页面,也会具有动态的随机性。雷池作为反向代理程序,经过雷池的网页代码都将被动态加密保护,动态防护可以实现很多效果,比如:
- 保护前端代码的隐私性
- 阻止爬虫行为
- 阻止漏洞扫描行为
- 阻止攻击利用行为
在站点防护站点里可以找到动态防护的设置入口。
目前提供的动态防护能力包括HTML动态加密和JS动态混淆。
动态加密可以设置到具体的路径上。
开启动态防护之后,可以在站点列表中查看到开启的状态。
之后我们来对比下开启之后页面的源码状态。
正常应该是这样的。
站点高级防护
加单个站点的高级防护配置,支持对单个站点进行额外的防护配置,黑白名单、人机验证、身份认证等。
比如人机验证,可以有效验证真人用户的流量,对爬虫, 漏洞扫描器, 蠕虫病毒等很有用。
产品特点
便捷性,采用容器化部署,一条命令即可完成安装,0 成本上手。安全配置开箱即用,无需人工维护,可实现安全躺平式管理。
安全性,首创业内领先的智能语义分析算法,精准检测、低误报、难绕过。语义分析算法无规则,面对未知特征的 0day 攻击不再手足无措。
高性能,无规则引擎,线性安全检测算法,平均请求检测延迟在 1 毫秒级别。并发能力强,单核轻松检测 2000+ TPS,只要硬件足够强,可支撑的流量规模无上限。
高可用,流量处理引擎基于 Nginx 开发,性能与稳定性均可得到保障。内置完善的健康检查机制,服务可用性高达 99.99%。
总结
总的来说,雷池一款非常不错的WAF产品,尤其最为开源产品它的功能和完成度非常的高,尤其还是国产的开源项目,必须要加分,希望可以发展的越来越好。从产品能力角度完全可以满足企业或个人的如此需要,如果你有WAF的需要,而有在成本方面存在疑虑,那么可以来试试雷池的社区版。
项目信息
- 项目名称: SafeLine
- GitHub 链接:https://github.com/chaitin/SafeLine
- Star 数:11K
作者:IT咖啡馆
链接:https://juejin.cn/post/7392249407225987126