在网站安全防护场景中,将流量入口(WAF)与业务服务器分离部署是行业最佳实践。这种架构既能有效防御Web攻击,又避免单点故障风险。本教程将以宝塔面板为网站管理工具,雷池WAF为安全防护层,通过双服务器部署实现企业级防护方案。
一、部署架构与准备清单
核心拓扑图
用户访问 → 雷池WAF(防护服务器) → 宝塔网站(业务服务器)
服务器配置建议
服务器 | 推荐配置 | 内网地址 | 开放端口 | 作用说明 |
---|---|---|---|---|
业务服务器 | 4核4G(按业务需求) | 10.0.1.10 | 80,443 | 业务应用+宝塔面板可视化运维 |
防护服务器 | 2核4G(最低要求) | 10.0.1.8 | 80,443,9443 | 雷池WAF流量防护过滤 |
环境要求
- 两台独立云服务器(同一内网可提升性能)
- 已备案域名(需完成DNS解析配置)
- SSH连接工具(Xshell/FinalShell等)
二、业务服务器:宝塔面板部署详解
1. 一键安装宝塔(Linux版)
安装宝塔面板前,先执行挂载数据盘命令
if [ -f /usr/bin/curl ];then curl -sSO http://download.bt.cn/tools/auto_disk.sh && bash auto_disk.sh;else wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh;fi;bash auto_disk.sh

执行一键安装宝塔Linux面板命令
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh 256b5394
注:安装完成后,请立即修改默认8888端口和安全入口路径

2. 网站部署最佳实践
2.1. 安装业务所需的运行环境
这里博主是以WordPress为例子,安装Nginx、MySQL、PHP8.1版本运行环境

2.2. 安装WordPress
点击左侧侧边栏【网站】→【添加站点】→【传统项目】
填写域名,然后选择选择PHP版本(推荐7.4+)并创建FTP/数据库

上传WordPress安装包到
/www/wwwroot/你的域名
目录然后解压

访问域名正常安装即可

3. 安全加固设置
开启系统防火墙和禁Ping
修改SSH默认22端口/安装「Fail2ban」防爆破插件
启用「BasicAuth」和「动态口令认证」访问限制(针对面板登录)
三、防护服务器:雷池WAF专业级配置
1. 雷池WAF一键自动部署
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"
雷池安装成功以后,你可以打开浏览器访问 https://<safeline-ip>:9443/
来使用雷池控制台。


2. 防护策略优化
开启OWASP Top10防护规则集
设置CC攻击防护阈值(建议300次/分钟)
建议:
某 IP 在 60 秒内请求达到 120 次,600 分钟内再次访问需要进行人机验证
某 IP 在 120 秒内触发攻击拦截次数达到 10 次,自动封禁此 IP 30 分钟
某 IP 在 60 秒内触发 400、401、403、404、405、429、444 错误达到 60 次,自动封禁此 IP 120 分钟
配置「加强规则」可以针对性给自己的服务定制规则(这里博主没有专业版所以没法演示)
配置IP黑白名单(屏蔽扫描器常见IP段)
站点全局配置
建议:
开启监听IPv6、启用 HTTP/1.0、启用 HTTP/2、HTTP 自动跳转到 HTTPS(这个看自己业务类型来选择)
启用 HSTS、代理时修改请求中的 Host 头、为上游服务器传递 X-Forwarded-Host、 X-Forwarded-Proto
清空并重写 X-Forwarded-For、应用不存在时返回内置证书
四、双服务器联动配置
1. 流量转发规则
转发类型 | 雷池监听端口 | 后端服务器地址 | 协议说明 |
---|---|---|---|
HTTP | 80 | 业务服务器内网IP:80 | 建议使用内网通信 |
HTTPS | 443 | 防护服务器内网IP:443 | 需保持协议一致 |
2. DNS解析设置
- 登录域名控制台
- 将A记录指向B服务器公网IP
- 等待全球DNS生效(可用
dig +short 你的域名
验证)
3. SSL证书双端配置方案
方案一:集中式管理(推荐)
- 在雷池WAF控制台申请Let’s Encrypt证书
- 自动续签并同步到宝塔面板
方案二:分布式管理
- 宝塔面板申请证书 → 导出.pem/.key文件
- 雷池控制台「站点管理」→「TLS配置」上传证书
五、全链路验证测试
1. 正常流量测试
# 使用curl模拟访问
curl -I http://你的域名
# 应返回200状态码,且响应头包含X-Safe-Line字段
2. 攻击模拟测试
# SQL注入测试
curl "http://你的域名/?id=1'%20OR%201=1--"
# XSS攻击测试
curl "http://你的域名/<script>alert(1)</script>"
预期结果:返回403拦截页面,雷池控制台生成安全事件记录
3. 性能压测(可选)
# 使用ab工具测试
ab -n 1000 -c 50 http://你的域名/
关注指标:每秒请求数(QPS)、错误率、服务器负载
六、运维监控与故障排查
1. 关键监控项
- 雷池WAF:CPU使用率、拦截统计、TOP攻击IP
- 宝塔面板:磁盘IO、数据库连接数、PHP进程状态
2. 日志分析技巧
# 实时查看WAF拦截日志
tail -f /data/safeline/logs/audit.log
# 筛选SQL注入攻击记录
grep 'sqli-detected' /data/safeline/logs/audit.log
3. 常见故障处理
现象:HTTPS访问出现证书错误 ➔ 解决方案:检查雷池与宝塔的证书有效期是否一致,禁用TLS1.0协议
现象:网站加载静态资源过慢 ➔ 优化建议:在雷池开启Gzip压缩,宝塔面板配置浏览器缓存
七、升级与备份方案
1. 雷池WAF升级方法
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"
2. 宝塔整站备份策略
- 使用「计划任务」每天凌晨打包网站文件
- 开启「七牛云存储」自动同步备份
- 数据库设置每日增量备份
结语:安全防护效果预览
通过本方案部署后,您的网站将获得:
✅ 日均拦截2000+次恶意扫描
✅ 有效防御SQL注入/XSS/CSRF等OWASP攻击
✅ 业务服务器真实IP隐藏,抗DDoS能力提升
✅ 可视化安全报表,攻击数据一目了然
[操作提示] 建议部署后运行docker stats