跳板机驱动的内网安全防线:CentOS 7.6离线部署雷池WAF全实战
当生产环境被物理隔离在内网,如何构建可靠的安全防护?上周我帮某金融机构部署雷池WAF时,他们机房只有一台能上网的跳板机和数十台离线服务器。这种场景下,传统U盘搬运依赖包的方式不仅效率低下,更可能因版本混乱导致部署失败。本文将分享如何用跳板机作为传输枢纽,在内网环境构建完整的雷池WAF防护体系。
1. 环境准备:构建跳板机传输通道
1.1 跳板机与内网服务器配置检查
在开始前需要确认以下硬件配置:
- 跳板机要求:
- CentOS 7.6(与内网服务器大版本一致)
- 至少20GB可用磁盘空间
- Docker 20.10+ 运行环境
- 内网服务器要求:
- 关闭SELinux和firewalld
- 预留5GB以上空间用于WAF运行
- 确保
/etc/yum.repos.d/目录可写
通过跳板机批量检查内网服务器配置:
# 检查系统版本 cat /etc/redhat-release # 检查磁盘空间 df -h /data # 关闭防火墙 systemctl stop firewalld && systemctl disable firewalld1.2 跳板机资源缓存策略
跳板机需要缓存三类关键资源:
- 系统依赖包:通过修改yum配置自动缓存
- Docker组件:包括docker-ce和docker-compose
- 雷池镜像:社区版完整镜像包
配置yum缓存目录:
mkdir -p /opt/offline_packages echo "cachedir=/opt/offline_packages" >> /etc/yum.conf echo "keepcache=1" >> /etc/yum.conf2. 物料清单与传输方案设计
2.1 完整依赖清单
| 组件类型 | 具体内容 | 获取方式 |
|---|---|---|
| 系统依赖 | createrepo, device-mapper | yum缓存 |
| Docker引擎 | docker-ce, containerd.io | 阿里云镜像 |
| 编排工具 | docker-compose | GitHub release |
| 安全组件 | 雷池社区版镜像 | 官网下载 |
2.2 跳板机传输方案对比
方案一:rsync同步
rsync -avz /opt/offline_packages/ user@internal_server:/opt/offline_packages优点:增量同步,节省带宽
缺点:需配置SSH免密登录
方案二:NFS共享
# 跳板机端 yum install nfs-utils echo "/opt/offline_packages *(ro,sync)" >> /etc/exports systemctl start nfs-server # 内网服务器端 mount jumpbox_ip:/opt/offline_packages /mnt优点:实时访问最新资源
缺点:需要开放网络端口
3. 关键组件离线安装实战
3.1 构建本地Yum仓库
在跳板机生成仓库元数据:
createrepo /opt/offline_packages tar czvf repo_pkg.tar.gz /opt/offline_packages内网服务器部署流程:
- 解压仓库包到/opt目录
- 创建repo配置文件:
[local_repo] name=Local Repository baseurl=file:///opt/offline_packages enabled=1 gpgcheck=0- 验证仓库:
yum clean all yum makecache3.2 Docker离线部署
通过跳板机下载完整RPM包:
yum install --downloadonly --downloaddir=/opt/docker_pkgs \ docker-ce docker-ce-cli containerd.io内网服务器安装命令:
rpm -ivh /opt/docker_pkgs/*.rpm systemctl start docker3.3 雷池镜像传输技巧
使用split命令处理大镜像文件:
# 跳板机分割镜像 split -b 1G image.tar.gz "image_part_" # 内网服务器合并 cat image_part_* > image.tar.gz docker load < image.tar.gz4. 部署验证与排错指南
4.1 常见问题解决方案
问题1:docker-compose版本不兼容
解决方案:
# 下载指定版本 curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose问题2:镜像加载失败
检查步骤:
- 验证文件完整性:
sha256sum image.tar.gz - 检查存储格式:
file image.tar.gz
4.2 安全配置建议
- 修改默认管理端口(9443)
- 定期备份PostgreSQL数据
- 设置强密码策略:
docker exec safeline-mgt resetadmin --password YourStrong@Pass123
5. 性能优化与监控
5.1 资源分配调整
编辑compose.yaml增加资源限制:
services: safeline-mgt: deploy: resources: limits: cpus: '2' memory: 4G5.2 日志收集方案
配置ELK日志管道:
docker run --name filebeat -d \ -v /data/safeline/logs:/usr/share/filebeat/logs \ docker.elastic.co/beats/filebeat:8.6.2实际部署中发现,跳板机方案比传统U盘方式节省约70%的时间。特别是在需要批量部署时,通过NFS共享可以让所有内网服务器并行获取依赖包。记得在每次更新补丁后,用createrepo --update刷新仓库元数据