跳到正文

管理

安全与隐私

怎样安全地从外面访问控制台,令牌怎么用,以及烽燧保存了哪些数据。

烽燧能改动你的路由器、读你的短信,所以请像对待路由器管理页面一样对待它。

不要直接暴露到公网

小心

不要在路由器上把 18384 端口转发到公网,也不要给这台机器开 DMZ。控制台使用普通 HTTP,登录密码和会话会以明文经过网络。

要在外面访问,用下面任意一种:

  • Tailscale 或其他 VPN(最简单):手机连上 VPN 后访问 NAS 的内网地址。*.ts.net 主机名默认就被允许。
  • HTTPS 反向代理:例如群晖自带的反向代理、Caddy、Nginx,并且设置一个足够强的控制台密码。

经反向代理访问

  1. 在 ALLOWED_HOSTS 里写上你的域名,例如 cpe.example.com。否则烽燧会以 421 拒绝陌生域名的请求(这是为了防止 DNS 重绑定攻击)。
  2. 在 TRUSTED_PROXIES 里写上反向代理的 准确 IP。只有来自这个地址的请求,烽燧才会相信它带来的真实客户端地址和 HTTPS 标记。
    • 代理和烽燧在同一台机器、且烽燧用 host 网络:保持默认的 127.0.0.1,::1。
    • 代理在另一个 Docker 容器里:写代理容器在 Docker 网络里的地址,例如 172.18.0.2。
  3. 设置正确后,登录 Cookie 会自动加上 Secure,登录限流也会按真实客户端计算。

警告

如果 TRUSTED_PROXIES 没设对,所有访问者在烽燧看来都来自代理的地址:登录失败的限流会作用于所有人,Cookie 也不会带 Secure。

控制台密码与令牌

  • 控制台密码:首次设置时创建,在「设置 → 登录密码」修改。只保存它的 scrypt 哈希。
  • 令牌:在「设置 → 令牌」生成,分「完全控制」和「只读」两种,可以设有效期(1 到 365 天或永不过期),只显示一次,随时可以撤销。令牌不能修改控制台设置。
  • 交给智能体、仪表盘或脚本:一律用只读令牌。
  • 忘记密码:在 NAS 上执行 docker exec cpe-dash node dist/cli.js reset-login 拿到 15 分钟有效的重置码,或在已绑定的 Telegram 私聊里发 /reset(可在「设置 → 安全」关闭),然后在登录页点「忘记密码」。

烽燧保存了什么

所有文件都在 data/ 里,用 DATA_ENCRYPTION_KEY 加密(AES-256-GCM),文件权限为 0600:

文件内容
settings.json路由器连接(含路由器密码)、控制台密码哈希、令牌哈希、实验性写入的同意
state.json最新数据缓存、7 天历史曲线、告警、锁定状态、自愈记录
sms.json / contacts.json短信和通讯录
telegram.json绑定的 Telegram 聊天
audit.json最近 500 条审计记录

审计日志(「设置 → 审计」)记录每次改动路由器、每次登录控制台和每次修改设置:谁(网页、哪个令牌、MCP、Telegram、自愈)、什么时候、做了什么、结果如何。

烽燧不连接任何云服务,不收集使用数据。只有你配置的 Telegram 和 Webhook 会收到通知内容。

隐私模式

  • 页头的眼睛图标隐藏 IMEI、IMSI、号码、MAC、WAN 地址和短信内容,适合截图和投屏。
  • 用令牌访问的 API、实时事件和 MCP 默认拿到打码后的数据(REDACT_SENSITIVE_IN_API=true)。

报告安全问题

请按 SECURITY.md 私下报告,不要发公开 issue。

在 GitHub 上编辑此页

Esc

常用页面

快速开始开始使用安装与升级开始使用配置参考管理锁频与锁小区使用烽燧短信使用烽燧排障帮助