# 安全边界与威胁模型 ## 保护目标 - 设备令牌和一次性配对码不进入日志。 - 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、局域网共享、私网穿透或多用户计费隔离。 安全问题应附带版本、复现条件和经过脱敏的日志;切勿提交设备令牌、配对码或证书私钥。