安全边界与威胁模型
保护目标
- 设备令牌和一次性配对码不进入日志。
- HTTPS 目标流量保持端到端加密;LumaTunnel 不安装 CA、不做中间人解密。
- 服务端不能被已配对设备用作访问本机、云元数据地址或内网的 SSRF 跳板。
- 客户端崩溃后不遗留指向失效端口的 Windows 系统代理。
- 无界输入、慢速目标和高并发不能导致不受控内存增长。
已实现控制
RandomNumberGenerator生成配对码和 256 位令牌,摘要比较使用固定时间算法。- 配对码持久化为摘要,使用一次或过期即失效,最长 TTL 一天。
- WSS 同时检查设备 ID、Bearer 令牌和协议头;吊销通过文件监视通知活动会话。
- 目标端口和所有 DNS 解析结果在连接前校验;只要一个结果属于禁止网段,整个目标即拒绝。
- 本地 HTTP/SOCKS 监听器拒绝非回环绑定。
- 代理解析和隧道发送使用固定上限,单帧最大 32 KiB。
- 内部 API/WSS 禁用系统代理,避免本地代理递归。
- 系统代理恢复采用 compare-before-restore:只有当前值仍完全指向 LumaTunnel 时才恢复快照,避免覆盖用户在外部做的新设置。
- Watchdog 同时观察父进程和命名管道;正常退出有显式信号,异常 EOF/进程退出会恢复快照。
运维要求
- 正式环境必须使用公开受信任证书和
wss://;开发用http://localhost:3300不得暴露到网络。 - 不要把
server.json中的绑定改成明文公网 HTTP。 - 服务账户保持
NetworkService,不要改成 LocalSystem。 - 定期审计设备列表并吊销遗失设备。
- 只从受信任构建流程分发客户端,发布前对可执行文件和安装器进行代码签名。
明确不提供的保护
- 服务器作为出口节点能看到目标域名/IP、端口、连接时长和流量大小。
- 已入侵的客户端用户账户可调用 DPAPI 解密自己的设备令牌。
- LumaTunnel 不是匿名网络;节点运营者和目标服务仍可关联出口 IP。
- v1 没有 UDP、TUN、局域网共享、私网穿透或多用户计费隔离。
安全问题应附带版本、复现条件和经过脱敏的日志;切勿提交设备令牌、配对码或证书私钥。