1. 项目概述雷池WAFWeb Application Firewall是一款专注于保护Web应用安全的防护系统。它通过分析HTTP/HTTPS流量能够有效防御SQL注入、XSS跨站脚本、CSRF等常见Web攻击。在实际企业环境中由于安全合规要求或网络环境限制很多场景需要进行离线部署。我在金融行业安全防护体系中多次实施过雷池WAF的离线部署这种部署方式特别适合以下场景生产环境与互联网物理隔离的金融机构对数据出境有严格监管要求的政务系统需要满足等保三级以上安全要求的核心业务系统2. 离线部署前期准备2.1 硬件环境要求雷池WAF离线部署对硬件有明确要求根据我实际部署经验建议配置如下组件最低配置推荐配置备注CPU4核8核建议Intel Xeon系列内存8GB16GBDDR4 ECC内存更稳定存储100GB500GB建议SSD阵列网卡千兆×2万兆×2需支持bypass功能特别注意在金融行业部署时建议使用带Bypass功能的万兆网卡确保在设备故障时流量能自动旁路不影响业务连续性。2.2 软件依赖准备离线环境下需要预先下载所有依赖包主要包括操作系统镜像推荐CentOS 7.9 minimalDocker离线安装包v20.10Docker-compose二进制文件雷池WAF离线安装包需从官网申请依赖库libseccomp, libltdl等我通常会准备一个包含所有依赖的离线仓库结构如下/offline-repo ├── os-packages/ # 系统RPM包 ├── docker/ # Docker离线包 ├── leichi/ # 雷池安装包 └── scripts/ # 部署脚本3. 详细部署步骤3.1 基础环境配置首先需要在目标服务器配置本地yum源# 挂载系统ISO mount -o loop CentOS-7-x86_64-Minimal-2009.iso /mnt # 创建本地repo文件 cat /etc/yum.repos.d/local.repo EOF [local] nameLocal Repository baseurlfile:///mnt enabled1 gpgcheck0 EOF # 安装基础依赖 yum install -y openssl openssl-devel libffi-devel bzip2-devel3.2 Docker离线安装将提前准备的docker离线包解压后执行tar xzvf docker-offline.tar.gz cd docker-offline ./install.sh验证安装docker --version docker-compose --version systemctl enable docker3.3 雷池WAF部署解压离线安装包并导入镜像tar xzvf leichi-waf-offline.tar.gz cd leichi-waf docker load -i leichi-images.tar修改配置文件# config/leichi.conf [system] mode offline license_file /data/license.dat [network] management_ip 192.168.1.100 bypass_interface eth0启动服务./deploy.sh --offline4. 配置与调优4.1 网络拓扑配置典型部署拓扑建议互联网 → 负载均衡 → 雷池WAF透明模式 → 业务服务器关键配置参数# 设置网卡工作模式 ethtool -K eth0 gro off lro off echo net.ipv4.conf.all.rp_filter 0 /etc/sysctl.conf4.2 规则库更新离线环境更新规则库的方法在联网环境导出最新规则./leichi-cli rule export --output rules-20230801.tar.gz将规则包拷贝到离线环境导入规则./leichi-cli rule import --file rules-20230801.tar.gz4.3 性能调优根据业务流量特点调整参数# 调整WAF引擎参数 [waf_engine] worker_processes 8 # 建议与CPU核心数相同 max_connections 10000 # 根据内存调整每个连接约20KB request_body_size 10M # 允许检测的最大POST数据5. 常见问题排查5.1 部署阶段问题问题1Docker服务启动失败现象Failed to start docker.service: Unit not found解决方案# 检查依赖是否完整 rpm -qa | grep docker # 重新安装containerd yum reinstall -y containerd.io问题2镜像导入失败现象Error processing tar file: unexpected EOF解决方案# 检查镜像包完整性 sha256sum leichi-images.tar # 重新传输文件建议使用rsync rsync -avzP leichi-images.tar rootoffline-server:/tmp/5.2 运行阶段问题问题1HTTPS解密失败现象SSL handshake failed解决方案确保证书链完整openssl verify -CAfile ca-bundle.crt server.crt检查WAF的SSL中间证书配置问题2性能瓶颈现象请求延迟高CPU使用率100%优化步骤# 查看慢请求日志 tail -f /var/log/leichi/slow.log # 调整检测规则优先级 ./leichi-cli rule modify --id 1005 --priority high6. 运维管理实践6.1 日志收集方案建议的日志收集架构雷池WAF → Filebeat日志采集 → Logstash过滤处理 → Elasticsearch存储 → Kibana展示关键配置示例# filebeat.yml filebeat.inputs: - type: log paths: - /var/log/leichi/access.log fields: type: waf-access output.logstash: hosts: [logstash.internal:5044]6.2 监控指标设置必须监控的核心指标指标名称告警阈值检查频率CPU使用率80%持续5分钟1分钟内存使用90%1分钟丢包率0.1%5分钟规则匹配率30%15分钟配置Prometheus监控示例# prometheus.yml scrape_configs: - job_name: leichi-waf static_configs: - targets: [waf-server:9100]6.3 灾备方案设计建议采用双机热备架构主备节点通过keepalived实现VIP漂移配置实时会话同步./leichi-cli sync --master 192.168.1.100 --slave 192.168.1.101定期备份关键配置# 每周全量备份 tar czvf /backup/leichi-conf-$(date %F).tar.gz /etc/leichi我在某银行项目中的实际维护经验表明离线环境下的WAF运维需要特别注意建立严格的更新包校验流程SHA256校验准备完整的应急回退方案定期进行故障演练建议每季度一次