Lucky DDNS反向代理与雷池WAF集成实战:解决流量拦截与攻击测试难题

张开发
2026/4/13 13:37:58 15 分钟阅读

分享文章

Lucky DDNS反向代理与雷池WAF集成实战:解决流量拦截与攻击测试难题
1. 为什么需要Lucky DDNS与雷池WAF集成最近在帮朋友部署个人网站时遇到个头疼问题用Lucky DDNS做反向代理后所有流量都绕过了雷池WAF的防护。这就像给房子装了防盗门却忘了锁攻击者可以直接从后门溜进来。经过两天折腾终于找到解决方案今天就把这个实战经验完整分享给大家。先说下这个组合的典型使用场景。很多开发者会在家庭宽带或云服务器上自建服务但动态IP和网络安全是两大难题。Lucky DDNS能解决动态IP解析问题而雷池WAF可以提供基础防护。问题在于默认配置下两者配合会出现流量短路——用户访问域名时请求直接通过Lucky的反向代理到达后端服务完全跳过了WAF的安全检查。我测试过三种常见错误现象访问网站正常但WAF日志空空如也手动模拟SQL注入等攻击时毫无拦截部分设备能访问而部分设备超时这些问题的本质都是流量路径配置错误。正确的数据流向应该是用户访问 - DNS解析 - Lucky DDNS - 雷池WAF - 后端服务。接下来我们就一步步实现这个链路。2. 环境准备与基础配置2.1 硬件与系统要求我的测试环境是台老笔记本改造的服务器CPUIntel i5-6300U证明不需要多高性能系统Ubuntu 24.04 LTS推荐使用LTS版本内存8GB4GB也够用网络电信家庭宽带动态公网IP关键准备项确保有可解析的域名不建议用免费域名申请SSL证书Lets Encrypt免费证书就行安装Docker和docker-compose安装Docker的快速命令curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER newgrp docker2.2 Lucky DDNS的Docker部署推荐使用host网络模式部署避免后续端口映射的麻烦docker run -d --name lucky \ --restartalways \ --nethost \ -v /opt/lucky/config:/goodluck \ gdy666/lucky这里有几个易错点/opt/lucky/config是本地配置文件目录删除容器不会丢失配置如果主机有IPv6必须确保Docker已开启IPv6支持Windows系统不要用host模式改用桥接模式部署完成后访问http://你的IP:16601默认账号密码都是666。首次登录建议立即修改密码。3. Lucky DDNS反向代理配置3.1 动态域名解析设置在Lucky控制台的动态域名页面添加解析任务选择你的域名服务商如阿里云、Cloudflare填写API密钥和主域名设置子域名前缀如www测试时我发现个细节部分路由器会拦截DDNS的更新请求。如果发现IP更新不及时需要到路由器后台放行Lucky所在主机的出站请求。3.2 Web服务与反向代理规则重点来了这是确保流量经过WAF的关键步骤在Web服务页面添加新规则监听类型根据网络环境选择纯IPv4选TCP4双栈选TCP监听端口设为非标准端口如8080避免与WAF冲突子规则配置示例子规则名称: my_service 服务类型: 反向代理 前端地址: www.yourdomain.com 后端地址: http://127.0.0.1:8081特别注意后端地址必须用HTTP协议端口号不要与WAF监听端口重复本地测试时建议先用IP直接访问确认服务正常3.3 配置重定向到雷池WAF这是最关键的流量引导步骤添加新的重定向规则监听类型与Web服务规则保持一致服务类型选重定向目标地址填https://{host}:9443这里的9443是雷池WAF的默认端口。配置完成后所有到达Lucky的流量都会被重定向到WAF进行安全检查。4. 雷池WAF防护配置4.1 防护站点设置登录雷池控制台默认端口9443在防护站点添加新站点站点域名填写完整的子域名如www.yourdomain.com源站地址你的实际服务地址如http://localhost:3000我踩过的一个坑如果后端服务在Docker容器内不能用127.0.0.1要填容器所在主机的局域网IP。4.2 安全策略调整默认策略可能过于宽松建议调整在防护配置开启OWASP核心规则设置CC防护阈值个人站点建议60次/分钟暂时不要开启仅允许国内IP容易误拦截测试期间可以开启学习模式先观察正常流量特征。5. 全链路测试与排错5.1 访问测试流程完整的测试应该包括内网设备通过域名访问外网用手机流量访问不同地区的朋友帮忙测试常见问题排查表现象可能原因解决方案能访问但WAF无日志流量未经过WAF检查Lucky的重定向规则访问超时防火墙拦截放行9443端口HTTPS证书错误证书未配置在WAF上传证书5.2 攻击模拟测试有效的测试方法记得先关闭学习模式# SQL注入测试 curl https://yourdomain.com/?id1%20OR%2011-- # XSS测试 curl https://yourdomain.com/?qscriptalert(1)/script # 路径穿越测试 curl https://yourdomain.com/../../../etc/passwd在雷池控制台应该能看到拦截日志。如果没效果检查WAF是否处于防护模式规则集是否启用流量统计中是否有请求记录6. 生产环境优化建议经过两周的稳定运行我总结出几个优化点端口隐藏在Lucky配置HTTP自动跳转HTTPS避免暴露端口号日志联动将WAF日志接入ELK栈实现可视化监控自动更新设置cron任务定期更新WAF规则库备援方案配置健康检查当WAF故障时自动切换直连对于家庭宽带用户特别注意避免大流量使用可能触发运营商限制不要开放高危端口如22、3389定期检查路由器防火墙规则这套方案我已经在三个不同网络环境部署成功包括家庭宽带树莓派腾讯云轻量服务器公司测试环境每种环境需要调整的主要是网络配置部分核心的LuckyWAF联动配置都是通用的。遇到问题最多的还是端口冲突和证书配置建议第一次部署时边操作边记录方便后续回查。

更多文章