0x01 雷池介绍
一款足够简单、足够好用、足够强的免费 WAF。基于业界领先的语义引擎检测技术,作为反向代理接入,保护你的网站不受黑客攻击。核心检测能力由智能语义分析算法驱动,专为社区而生,不让黑客越雷池半步。
官方网址:CT Stack 安全社区
下载链接:
CT Stack 地址:https://stack.chaitin.com/tool/detail?id=717
GitHub 地址:https://github.com/chaitin/safeline
0x02 官方演示:
雷池在线设备点击可浏览
0x03 相关特性
便捷性
采用容器化部署,一条命令即可完成安装,0 成本上手。安全配置开箱即用,无需人工维护,可实现安全躺平式管理。
安全性
首创业内领先的智能语义分析算法,精准检测、低误报、难绕过。语义分析算法无规则,面对未知特征的 0day 攻击不再手足无措。
高性能
无规则引擎,线性安全检测算法,平均请求检测延迟在 1 毫秒级别。并发能力强,单核轻松检测 2000+ TPS,只要硬件足够强,可支撑的流量规模无上限。
高可用
流量处理引擎基于 Nginx 开发,性能与稳定性均可得到保障。内置完善的健康检查机制,服务可用性高达 99.99%。
0x04 安装步骤
雷池使用容器化部署,由多个 Docker 容器组成。
准备安装环境
- 首先验证环境是否满足安装需求,可参考以下命令:
uname -m # 查看指令架构是否为 x86_64
docker version # 确保 Docker 版本不低于 20.10.6 apt install docker.io -y
docker compose version # 确保 Docker Compose 版本不低于 2.0.0
docker-compose version # 同上(兼容老版本 Docker Compose)
cat /proc/cpuinfo # 查看 CPU 信息,最低 1 核即可
cat /proc/meminfo # 查看内存信息,最低 1 GB 即可
df -h # 查看磁盘信息,最低 5 GB 即可 确保/data存储空间大于5GB
lscpu | grep ssse3 # 确保 CPU 支持 ssse3 指令集
- 关于确保 Docker Compose 版本不低于 2.0.0
大多数系统默认安装都:docker-compose --version ## 默认一般现在是 1.18.xxx 版本
手动升级docker-compose,下载docker-compose v2最新安装包
- 下载docker-compose V2 的可执行文件:Releases · docker/compose
- 开始升级:针对下载好的文件,上传到服务器, 增加执行权限, 替代原有的脚本,查看版本。
# mv docker-compose-linux-x86_64 docker-compose
# chmod +x docker-compose
# whereis docker-compose # 输出位置 /usr/bin/docker-compose
# mv /usr/bin/docker-compose /usr/bin/docker-compose.bak # 备份一下原有的脚本
# mv ./docker-compose /usr/bin/ # 将当前目录的docker-compose 拷贝到 /usr/bin 目录下
# docker-compose --version # Docker Compose version v2.17.3
docker-compose 升级到V2版本
雷池安装
方法一:在线安装
命令安装:bash -c “$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)”
- 安装选项默认回车即可。
- 安装完成后访问本地 https://127.0.0.1:9443/ ,绑定 TOTP 认证即可开始使用。
方法二:离线安装
如果你的服务器无法连接互联网环境,或连接 Docker Hub 网络不稳,可以使用镜像包安装方式
这里忽略 Docker 安装的过程
首先,下载 雷池社区版镜像包 并传输到需要安装雷池的服务器上,执行以下命令加载镜像
cat image.tar.gz | gzip -d | docker load
执行以下命令创建并进入雷池安装目录
mkdir -p safeline # 创建 safeline 目录
cd safeline # 进入 safeline 目录
下载 编排脚本 并传输到 safeline 目录中
执行以下命令,生成雷池运行所需的相关环境变量
echo "SAFELINE_DIR=$(pwd)" >> .env
echo "IMAGE_TAG=latest" >> .env
echo "MGT_PORT=9443" >> .env
echo "POSTGRES_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> .env
echo "REDIS_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> .env
echo "SUBNET_PREFIX=172.22.222" >> .env
执行以下命令启动雷池
docker compose up -d
- 安装完成后访问本地 https://127.0.0.1:9443/ ,绑定 TOTP 认证即可开始使用。
方法三:github仓库克隆安装程序
- 克隆 github 仓库,执行仓库中的 setup.sh 即可安装,可参考以下命令:
git clone git@github.com:chaitin/safeline.git
cd safeline
bash ./setup.sh
- 安装完成后访问本地 https://127.0.0.1:9443/ ,绑定 TOTP 认证即可开始使用。
下载验证器绑定登录
腾讯身份验证器,扫描 9443网页上的二维码,进行绑定,方便管理雷池WAF后台。
0x05 使用讲解
配置防护站点
雷池以反向代理方式接入,优先于网站服务器接收流量,对流量中的攻击行为进行检测和清洗,将清洗过后的流量转发给网站服务器。
- 配置支持Http和HTTPs
- 站点的防护模式支持 防护、观察、维护
- 防护模式下,防护规则生效,可以阻断攻击事件。
- 观察模式下,不会自动阻断攻击事件,给出攻击事件告警,可以手动阻断攻击事件。
- 维护模式下,网站无法访问,会提出网站维护的页面提示。
- 黑白名单 是添加防护站点的黑白名单,包括源IP,路径,host,header,body。
- 人机验证 人机验证主要是针对机器人扫描,攻击等行为,增加人机验证页面。
- 频率限制 频率限制主要针对web站点访问频率限制,可以设置高频访问限制,高频攻击限制。
- IP组 IP组主要是将恶意攻击IP添加到IP组中,用于向长亭社区共享恶意 IP 情报信息。
- 通用配置,用于设置防护模块运行模式,包括观察,平衡,高强度等。 配置是否加入长亭社区恶意 IP 情报共享计划。
测试效果
使用以下方式尝试模拟黑客攻击,看看雷池的防护效果如何
- 浏览器访问 http://<IP或域名>:<端口>/?id=1%20AND%201=1
- 浏览器访问 http://<IP或域名>:<端口>/?a=
0x06 雷池升级
详见官网:升级雷池 | 长亭雷池 WAF 社区版