发布于 16 天前
发布于 16 天前
萌新
更新于 16 天前
2
0
系统要求
lscpu | grep ssse3
验证)软件依赖
image.tar.gz
)compose.yaml
编排脚本在可联网设备上操作
1# 创建离线包目录
2mkdir docker-offline && cd docker-offline
3
4# 安装必要工具
5sudo apt-get update && sudo apt-get install -y curl gnupg
6
7# 添加DockerGPG密钥
8curl -fsSL http://mirrors.volces.com/docker/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
9
10# 配置Docker镜像源
11echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] http://mirrors.volces.com/docker/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
12
13# 更新软件源
14sudo apt-get update
15
16# 下载docker全家桶及核心依赖(--download-only确保仅下载)
17sudo apt-get download \
18 docker-ce \
19 docker-ce-cli \
20 containerd.io \
21 docker-buildx-plugin \
22 docker-compose-plugin \
23 ca-certificates \
24 libltdl7 \
25 libseccomp2 \
26 iptables \
27 libdevmapper1.02.1
28
29# 收集所有deb包
30cp /var/cache/apt/archives/*.deb .
31
32# 确保没有遗漏的依赖,可以通过apt-cache depends命令检查每个包的依赖关系
33for pkg in docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin; do
34 echo "Checking dependencies for $pkg"
35 apt-cache depends $pkg | grep "Depends" | sed "s/Depends: //" | xargs -I % sudo apt-get download %
36done
37
38# 校验文件完整性(可选)
39md5sum *.deb > checksum.md5
40
41# 输出收集到的.deb包列表以供确认
42echo "Collected .deb packages:"
43ls -lh *.deb
打包压缩离线包目录
1tar -cvf docker-offline.tar.gz docker-offline/
文件传输
将打包好的 docker-offline
目录通过物理介质拷贝到目标服务器的 /tmp
目录,然后执行命令解压
tar -xvf docker-offline.tar.gz -C /tmp
安装Docker环境
1cd /tmp/docker-offline 2 3# 按依赖顺序安装 4sudo dpkg -i /tmp/docker-offline/ca-certificates*.deb 5sudo dpkg -i /tmp/docker-offline/lib*.deb 6sudo dpkg -i containerd.io*.deb 7sudo dpkg -i docker-ce-cli*.deb 8sudo dpkg -i docker-ce*.deb 9sudo dpkg -i docker-buildx-plugin_*.deb docker-compose-plugin_*.deb 10sudo dpkg -i *.deb
服务管理
1# 配置守护进程 2sudo mkdir -p /etc/docker 3sudo tee /etc/docker/daemon.json <<-'EOF' 4{ 5 "registry-mirrors": ["https://registry-docker.cdnmirror.top"] 6} 7EOF 8 9# 启动服务 10sudo systemctl enable docker 11 12sudo systemctl start docker 13 14# 验证版本 15sudo docker --version
增强配置
用户权限配置
1# 添加当前用户到docker组 2sudo usermod -aG docker $USER 3 4# 立即生效需要重新登录 5newgrp docker || true
镜像预加载(可选)
1# 在在线环境提前拉取并打包镜像 2docker pull ubuntu:22.04 3docker save ubuntu:22.04 > ubuntu.tar 4 5# 在离线环境加载 6sudo docker load -i ubuntu.tar
下载雷池镜像与安装启动服务
创建雷池目录
1mkdir -p /data/safeline && cd /data/safeline
下载雷池社区版镜像包
1cd /data/safeline 2wget https://demo.waf-ce.chaitin.cn/image.tar.gz
下载compose编排脚本
1cd /data/safeline 2wget https://waf-ce.chaitin.cn/release/latest/compose.yaml
加载雷池社区版镜像包
1cat image.tar.gz | gzip -d | docker load
配置环境变量
1cat > .env <<EOF 2SAFELINE_DIR=/data/safeline 3IMAGE_TAG=latest 4MGT_PORT=9443 5POSTGRES_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 32) 6SUBNET_PREFIX=172.22.222 7IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com/chaitin-safeline 8ARCH_SUFFIX= 9RELEASE= 10REGION= 11EOF
启动雷池服务
1docker compose up -d
初始化控制台
访问 https://<服务器IP>:9443
,首次登录需执行命令获取随机密码。
1docker exec safeline-mgt resetadmin
添加防护站点
防护测试
1# 模拟攻击验证拦截效果 2curl "http://<域名>/?id=1%20AND%201=1" # SQL注入测试 3curl "http://<域名>/?html=<script>alert(1)</script>" # XSS测试
成功拦截则控制台显示攻击事件。
启动报错处理
unknown shorthand flag: 'd' in -d
:升级Docker Compose至2.0+。性能调优
docker-compose.yaml
调整容器内存与CPU配额。升级与迁移
docker compose down && docker compose up -d
。/data/safeline
目录,复制至新主机按相同步骤启动。本文基于雷池社区实践整合了雷池WAF离线部署的最优路径,覆盖环境准备、离线包生成、服务配置及故障排查全流程。通过语义分析引擎与轻量级设计,雷池社区版可有效防御OWASP Top 10攻击,适合内网及无外网环境的业务防护。建议定期关注官方更新,结合业务流量调整防护策略。