雷池WAF(SafeLine WAF)是由长亭科技研发的一款先进的Web应用防火墙产品。它旨在为网站和Web应用提供强大的安全防护,抵御各类网络攻击,保障业务的稳定与数据的安全,以下是官方网站:
a.雷池WAF的主要特点和功能介绍:
1.全面的攻击防护
OWASP Top 10 防护:有效防御SQL注入、XSS跨站脚本、CSRF跨站请求伪造、文件包含、命令执行等常见Web攻击。
CC攻击防护:通过智能算法识别并拦截恶意的高频访问(如爬虫、刷单、撞库等),保障服务器资源不被耗尽。
Bot管理:区分善意爬虫(如搜索引擎)与恶意Bot,对后者进行阻断或挑战(如验证码),保护业务逻辑。
API安全防护:针对日益增长的API接口,提供专门的规则和策略,防止API滥用和数据泄露。
2.部署灵活
多种形态:支持云WAF、硬件设备、软件部署以及SaaS化服务等多种交付模式,满足不同客户的需求。
混合云/多云支持:可统一管理分布在不同环境中的Web资产。
3.高性能与高可用
基于高性能架构设计,处理延迟极低,不影响正常用户访问体验。
支持集群部署和负载均衡,保障高可用性。
4.可视化与易用性
提供直观的管理控制台,实时展示攻击态势、流量统计、安全事件等。
支持详细的日志记录和审计,便于安全分析和合规要求。
5.合规支持
帮助企业满足等保2.0、GDPR、PCI-DSS等国内外安全合规要求。
b.雷池WAF的安装与部署:
1.安装介绍
雷池WAF有个人版和专业版,新手小白免费使用推荐个人版能够更好的掌握基础知识,当然专业版的功能更为强大如有需要可付费使用。雷池WAF部署的系统环境要求(Linux系统、Docker 20.10.14+、1核CPU/1GB内存)、三种安装方式分为(自动/手动/离线),官网系统也提供了一键安装命令和常见问题咨询渠道。

根据以下命令来查看当前部署环境的相关信息
uname -m # 查看指令架构
cat /proc/cpuinfo| grep "processor" # 查看 CPU 信息
lscpu | grep ssse3 # 确认 CPU 是否支持 ssse3 指令集
lscpu | grep avx2 # 确认 CPU 是否支持 avx2 指令集
docker version # 查看 Docker 版本
docker compose version # 查看 Docker Compose 版本
docker-compose version # 查看老版本 docker-compose 版本
free -h # 查看内存信息
df -h # 查看磁盘信息选择自动化安装只需执行一条命令下载雷池WAF脚本,命令执行完成即可访问
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"2.docker离线安装
如果你的设备完全无法连接互联网,可以参考这种方式安装,需在官方网站中下载WAF镜像包,然后将镜像包上传到服务器中,雷池WAF环境依赖需要docker环境部署,根据上述依赖环境需自行安装docker。
离线安装docker,检查服务器中是否安装docker,如果未安装docker会提示 command not found 或类似错误。
docker --version
从官方或可信源下载 Docker 二进制包:https://download.docker.com/linux/static/stable/x86_64/

因雷池WAF环境依赖所需要下载的docker二进制包版本要大于
docker-20.10.14以上,所以需要下载较高的docker版本部署环境,我所使用的是docker-20.10.18版本,将文件上传到服务器中

解压服务器中
/opt目录下的docker-20.10.18文件
tar -xzvf docker-20.10.18.tgz
复制包含 Docker的二进制文件到系统目录
cp docker/* /usr/bin/验证文件已复制到系统目录
ls -l /usr/bin/docker*
创建 Docker.service 服务文件
tee /etc/systemd/system/docker.service > /dev/null << 'EOF'
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF创建 Docker 目录
mkdir -p /etc/docker创建 Docker 守护进程文件
tee /etc/docker/daemon.json > /dev/null << 'EOF'
{
"data-root": "/var/lib/docker",
"storage-driver": "overlay2"
}
EOF启动 Docker 服务,重新加载系统服务配置
systemctl daemon-reload启动docker服务,设置开机自启
---开启docker
systemctl start docker
---设置开机自启
systemctl enable docker
---关闭docker
systemctl stop docker查看docker服务状态是否正常启动
systemctl status docker
检查 Docker 版本,测试docker功能是否正常使用
docker --version
docker info
docker images
部署环境还需要配置docker-compose,正常有网的情况下可以直接通过该命令去下载并配置好
curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose这里因为是离线安装操作,考虑在有网的电脑中下载:https://github.com/docker/compose/releases然后将文件上传到服务器中并复制修改到bin目录中,给对应文件添加执行权限
cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
查看一下version,显示有版本号那就说明安装成功了

3.雷池WAF离线安装
下载雷池社区版镜像包,上传到服务器中

执行提供的命令加载镜像
cat image.tar.gz | gzip -d | docker load
查看镜像是否加载完成

创建雷池目录,并下载 compose 编排脚本,如果没有网络可以网上下载在传输到服务器上
mkdir -p /data/safeline
cd /data/safeline
wget "https://waf-ce.chaitin.cn/release/latest/compose.yaml"创建 .env 配置文件,配置 compose 环境变量
touch .env
SAFELINE_DIR=/data/safeline
IMAGE_TAG=latest
MGT_PORT=9443
POSTGRES_PASSWORD=yourpassword #-------(自定义密码使用数字+英文大小写组合,勿使用特殊字符)
SUBNET_PREFIX=172.22.222
IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com/chaitin-safeline
ARCH_SUFFIX=
RELEASE=
REGION=
MGT_PROXY=0
如果是 ARM 服务器需要把
ARCH_SUFFIX改成-arm
ARCH_SUFFIX=-arm安装 LTS 版本需要把
RELEASE改成-lts
RELEASE=-lts
因为是离线安装部署镜像包不需要去pull,所以直接启动雷池
cd /data/safeline
docker compose up -d #老版本启动方法
docker-compose up -d #新版本
4.访问雷池控制台
雷池安装成功以后,你可以打开浏览器访问
https://<safeline-ip>:9443/来使用雷池控制台。
注意需要对 9443 的端口放开防火墙,如果是云服务器或私人服务器部署需要自行开放其端口,我这里用的是vmware虚拟机所以直接使用firewall开启对应端口访问。
firewall-cmd --permanent --add-port=9443/tcp
firewall-cmd --reload
firewall-cmd --list-all
第一次登录雷池需要初始化你的管理员账户(默认会执行),如果没有找到账户密码,手动执行以下命令即可
docker exec safeline-mgt resetadmin命令执行完成后会随机重置 admin 账户的密码,输出结果如下
[SafeLine] Initial username:admin
[SafeLine] Initial password:**********
[SafeLine] Done
