window雷池WAF安装运行文档

雷池WAF安装运行文档

1. 环境准备

1.1 硬件要求

  • CPU:支持 ssse3 指令集
  • 内存:至少 1 GB(建议 2 GB 以上)
  • 磁盘:至少 5 GB 可用空间

1.2 软件依赖

  • Docker Desktop:20.10.14 或更高版本(包含 Docker Compose)

1.3 安装 Docker Desktop

1.3.1 下载 Docker Desktop
  1. 打开浏览器,访问 Docker 官方下载页面:https://www.docker.com/products/docker-desktop
  2. 点击 "Download for Windows" 按钮下载安装包
  3. 等待下载完成
1.3.2 安装 Docker Desktop
  1. 找到下载好的安装包(通常在 "下载" 文件夹中,文件名类似 Docker Desktop Installer.exe
  2. 双击安装包开始安装
  3. 在安装向导中,保持默认选项,点击 "OK" 按钮
  4. 安装完成后,点击 "Close and restart" 按钮重启电脑
1.3.3 启动 Docker Desktop
  1. 电脑重启后,双击桌面的 "Docker Desktop" 图标启动 Docker
  2. 在欢迎界面,勾选 "I accept the terms",然后点击 "Accept"
  3. 等待 Docker 启动完成,右下角会出现 Docker 图标
1.3.4 验证 Docker 安装
  1. 打开 PowerShell(按下 Win + R,输入 powershell,然后按 Enter)
  2. 在 PowerShell 中执行以下命令:
powershell 复制代码
# 查看 Docker 版本
docker version

# 查看 Docker Compose 版本
docker compose version
  1. 如果命令执行成功并显示版本信息,说明 Docker 安装成功

1.4 配置 Docker Desktop(可选)

1.4.1 配置镜像加速

由于网络原因,建议配置 Docker 镜像加速:

  1. 右键点击右下角的 Docker 图标,选择 "Settings"
  2. 在左侧菜单中选择 "Docker Engine"
  3. 在右侧配置框中添加以下内容:
json 复制代码
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://reg-mirror.qiniu.com"
  ]
}
  1. 点击 "Apply & Restart" 按钮重启 Docker
1.4.2 配置资源分配

根据电脑配置,调整 Docker 的资源分配:

  1. 右键点击右下角的 Docker 图标,选择 "Settings"
  2. 在左侧菜单中选择 "Resources"
  3. 调整 CPU 和内存分配(建议至少 2 核 CPU 和 4 GB 内存)
  4. 点击 "Apply & Restart" 按钮重启 Docker

2. 安装步骤

2.1 打开 PowerShell

  1. 按下 Win + R 键,打开 "运行" 窗口
  2. 输入 powershell,然后点击 "确定"
  3. PowerShell 窗口会打开,我们将在这个窗口中执行所有命令

2.2 创建安装目录

  1. 在 PowerShell 中执行以下命令,创建一个名为 safeline 的目录:
powershell 复制代码
mkdir -p safeline
  1. 进入刚创建的目录:
powershell 复制代码
cd safeline

2.3 下载配置文件

  1. 在 PowerShell 中执行以下命令,下载雷池WAF的配置文件:
powershell 复制代码
# 下载 docker-compose.yaml 文件
Invoke-WebRequest -Uri https://waf-ce.chaitin.cn/release/latest/compose.yaml -OutFile compose.yaml
  1. 等待命令执行完成,会显示下载进度,最后显示 "StatusCode : 200" 表示下载成功

2.4 创建环境变量配置文件

  1. 在 PowerShell 中执行以下命令,创建 .env 文件:
powershell 复制代码
# 创建 .env 文件
New-Item -ItemType File -Name .env -Value '# 雷池WAF配置
# 子网前缀,用于Docker网络
SUBNET_PREFIX=172.22.0

# 镜像配置
IMAGE_PREFIX=chaitin
REGION=
ARCH_SUFFIX=
IMAGE_TAG=latest

# 雷池目录(Windows系统需使用绝对路径)
SAFELINE_DIR=C:\Users\74859\Documents\trae_projects\safeline

# 数据库配置
POSTGRES_PASSWORD=Safeline123!' -Force
  1. 命令执行完成后,会显示创建的文件信息

2.5 修改 compose.yaml 文件

由于 Windows 环境下文件权限问题,需要修改 PostgreSQL 卷配置。我们将使用记事本编辑文件:

  1. 在 PowerShell 中执行以下命令,用记事本打开 compose.yaml 文件:
powershell 复制代码
notepad compose.yaml
  1. 在记事本中,找到以下内容(大约在第 18-20 行):
yaml 复制代码
    volumes:
      - ${SAFELINE_DIR}/resources/postgres/data:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
  1. 将其修改为:
yaml 复制代码
    volumes:
      - postgres_data:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
  1. 然后,在文件末尾添加以下内容:
yaml 复制代码
volumes:
  postgres_data:
  1. 点击记事本的 "文件" -> "保存",然后关闭记事本

2.6 启动雷池WAF服务

  1. 在 PowerShell 中执行以下命令,启动雷池WAF服务:
powershell 复制代码
# 启动雷池WAF服务
docker compose up -d
  1. 等待命令执行完成,会显示服务启动进度
  2. 最后显示 [+] up 9/9 表示所有服务都已成功启动

2.7 验证服务启动

  1. 在 PowerShell 中执行以下命令,查看服务状态:
powershell 复制代码
# 查看所有服务状态
docker compose ps
  1. 如果所有服务的 "STATUS" 列显示 "Up" 或 "Up (healthy)",说明服务启动成功

3. 服务管理

3.1 启动服务

  1. 打开 PowerShell
  2. 进入雷池WAF安装目录(如果还没在该目录):
powershell 复制代码
cd C:\Users\74859\Documents\trae_projects\safeline
  1. 执行以下命令启动服务:
powershell 复制代码
# 启动雷池WAF服务
docker compose up -d

3.2 停止服务

  1. 打开 PowerShell
  2. 进入雷池WAF安装目录:
powershell 复制代码
cd C:\Users\74859\Documents\trae_projects\safeline
  1. 执行以下命令停止服务:
powershell 复制代码
# 停止雷池WAF服务
docker compose down

3.3 停止服务并删除数据卷

注意:这个命令会删除所有数据,包括配置和日志,请谨慎使用!

  1. 打开 PowerShell
  2. 进入雷池WAF安装目录:
powershell 复制代码
cd C:\Users\74859\Documents\trae_projects\safeline
  1. 执行以下命令:
powershell 复制代码
# 停止服务并删除所有数据
docker compose down -v

3.4 查看服务状态

  1. 打开 PowerShell
  2. 进入雷池WAF安装目录:
powershell 复制代码
cd C:\Users\74859\Documents\trae_projects\safeline
  1. 执行以下命令查看服务状态:
powershell 复制代码
# 查看所有服务状态
docker compose ps
  1. 输出结果说明:
  • "NAME":服务名称
  • "IMAGE":使用的镜像
  • "STATUS":服务状态(Up 表示运行中,healthy 表示健康)
  • "PORTS":端口映射

3.5 查看服务日志

  1. 打开 PowerShell
  2. 进入雷池WAF安装目录:
powershell 复制代码
cd C:\Users\74859\Documents\trae_projects\safeline
  1. 执行以下命令查看日志:
powershell 复制代码
# 查看所有服务日志(实时更新)
docker compose logs -f

# 查看特定服务日志(例如管理界面)
docker compose logs -f mgt

4. 访问雷池WAF

4.1 访问管理界面

  1. 确保雷池WAF服务已经启动
  2. 打开浏览器(建议使用 Chrome 或 Edge)
  3. 在地址栏中输入:https://localhost:9443
  4. 按下 Enter 键

4.2 处理证书警告

首次访问会出现证书不安全的警告,这是正常现象,因为雷池WAF使用的是自签名证书:

  1. 在 Chrome 浏览器中:
  • 点击 "高级" 按钮
  • 点击 "继续前往 localhost (不安全)"
  1. 在 Edge 浏览器中:
  • 点击 "详细信息" 链接
  • 点击 "继续访问 localhost (不安全)"

4.3 登录管理界面

  1. 在登录页面,输入以下信息:
  • 用户名:admin
  • 密码:Chaitin123!(或您重置后的密码)
  1. 点击 "登录" 按钮

4.4 首次登录建议

  1. 登录成功后,点击右上角的用户名
  2. 选择 "个人设置"
  3. 在 "密码管理" 部分,修改默认密码
  4. 点击 "保存" 按钮

4.5 注意事项

  1. 管理界面使用 HTTPS 协议,端口为 9443
  2. 请妥善保管您的密码
  3. 如果忘记密码,可以使用以下命令重置:
powershell 复制代码
# 重置 admin 密码
docker exec safeline-mgt resetadmin
  1. 重置密码后,会显示新的初始密码

5. 高级操作

5.1 重置 admin 密码

如果您忘记了 admin 密码,可以按照以下步骤重置:

  1. 打开 PowerShell
  2. 进入雷池WAF安装目录:
powershell 复制代码
cd C:\Users\74859\Documents\trae_projects\safeline
  1. 执行以下命令:
powershell 复制代码
# 重置 admin 密码
docker exec safeline-mgt resetadmin
  1. 命令执行完成后,会显示新的初始密码

5.2 查看日志文件

日志文件存储在宿主机的以下位置:

  • 管理界面 Nginx 日志:C:\Users\74859\Documents\trae_projects\safeline\logs\nginx
  • 检测引擎日志:C:\Users\74859\Documents\trae_projects\safeline\logs\detector

您可以使用记事本或其他文本编辑器查看这些日志文件。

5.3 更新雷池WAF

  1. 打开 PowerShell
  2. 进入雷池WAF安装目录:
powershell 复制代码
cd C:\Users\74859\Documents\trae_projects\safeline
  1. 停止当前服务:
powershell 复制代码
docker compose down
  1. 下载最新的配置文件:
powershell 复制代码
# 备份旧的配置文件
Copy-Item compose.yaml compose.yaml.old

# 下载最新的配置文件
Invoke-WebRequest -Uri https://waf-ce.chaitin.cn/release/latest/compose.yaml -OutFile compose.yaml
  1. 重新修改配置文件(参考 2.5 节)
  2. 启动更新后的服务:
powershell 复制代码
docker compose up -d

6. 常见问题解答

6.1 为什么启动服务时出现 "permission denied" 错误?

这是 Windows 环境下的常见问题,主要是由于文件权限不兼容导致的。解决方案是将 PostgreSQL 的卷配置改为 Docker 管理卷(参考 2.5 节)。

6.2 为什么无法访问管理界面?

请检查以下几点:

  1. 确保雷池WAF服务已经启动:docker compose ps
  2. 确保端口没有被占用:netstat -ano | findstr 9443
  3. 检查管理界面日志:docker compose logs -f mgt

6.3 为什么 PostgreSQL 容器不断重启?

这通常是由于数据目录权限问题导致的。解决方案是将 PostgreSQL 的卷配置改为 Docker 管理卷(参考 2.5 节)。

6.4 如何修改管理界面端口?

  1. 打开 .env 文件
  2. 添加或修改以下行:
env 复制代码
# 修改管理界面端口为 8443
MGT_PORT=8443
  1. 重启服务:
powershell 复制代码
docker compose down
docker compose up -d

6.5 如何查看雷池WAF的版本?

  1. 打开浏览器,访问管理界面
  2. 登录后,点击右上角的用户名
  3. 选择 "关于",即可查看版本信息

7. 实用提示

  1. 定期备份配置 :建议定期备份 safeline/resources 目录,以便在出现问题时恢复配置
  2. 定期更新:雷池WAF团队会定期发布更新,修复漏洞和添加新功能,建议定期更新
  3. 监控服务状态:定期查看服务状态,确保所有服务正常运行
  4. 使用强密码:admin 密码应使用强密码,包含字母、数字和特殊字符
  5. 限制访问 IP:在生产环境中,建议限制只有特定 IP 可以访问管理界面

8. 技术支持

如果您在使用过程中遇到问题,可以通过以下方式获取支持:

9. 版本信息

  • 安装日期:2026-01-19
  • 雷池WAF版本:latest
  • Docker版本:29.1.3
  • Docker Compose版本:v5.0.0-desktop.1
  • 操作系统:Windows 10/11

注意:本文档基于 Windows 环境下的 Docker Desktop 安装,Linux 环境安装过程可能有所不同。

温馨提示:如果您是第一次使用雷池WAF,建议先阅读官方文档,了解基本概念和使用方法。

10. 配置说明

10.1 主要配置文件

  • .env:环境变量配置,包含数据库密码、子网前缀等
  • compose.yaml:Docker Compose 配置文件,定义服务、网络和卷

10.2 常见配置项

配置项 说明 默认值
SUBNET_PREFIX Docker 网络子网前缀 172.22.0
POSTGRES_PASSWORD PostgreSQL 数据库密码 Safeline123!
MGT_PORT 管理界面端口 9443
SAFELINE_DIR 雷池数据存储目录 -

11. 卸载雷池WAF

11.1 停止服务并删除数据

  1. 打开 PowerShell
  2. 进入雷池WAF安装目录:
powershell 复制代码
cd C:\Users\74859\Documents\trae_projects\safeline
  1. 执行以下命令停止服务并删除所有数据:
powershell 复制代码
# 停止服务并删除所有数据
docker compose down -v
  1. 执行以下命令删除安装目录:
powershell 复制代码
# 删除安装目录
cd ..
rm -rf safeline
相关推荐
不做码农好多年,该何去何从。2 小时前
云原生k8s(一)
云原生·容器·kubernetes
Y.O.U..3 小时前
Kubernetes-PV(PersistentVolume)和PVC(PersistentVolumeClaim)
云原生·容器·kubernetes
Curvatureflight3 小时前
Kubernetes完全指南:从集群搭建到生产部署
云原生·容器·kubernetes
博思云为3 小时前
企业级智能PPT生成:Amazon云+AI驱动,全流程自动化提效
人工智能·语言模型·云原生·数据挖掘·云计算·语音识别·aws
laozhoy14 小时前
K8s基础命令
云原生·容器·kubernetes
不做码农好多年,该何去何从。4 小时前
云原生k8s(二)——核心组件详解与基础命令
云原生·容器·kubernetes
汪碧康5 小时前
一文掌握k8s容器的资源限制
docker·云原生·容器·golang·kubernetes·k8s·xkube
可爱又迷人的反派角色“yang”5 小时前
k8s(七)
java·linux·运维·docker·云原生·容器·kubernetes
Java程序员威哥5 小时前
Spring Boot 3.x 云原生终极适配:GraalVM 原生镜像构建 + Serverless 生产级部署(完整实战+最优模板)
java·开发语言·spring boot·后端·云原生·serverless·maven