账号安全:密码管理、双因素认证与恢复码
面板一旦公网可访问,astrbot 账号就是整台机器人的钥匙。改强密码只是第一步,TOTP 双因素认证是官方提供的第二道锁。
开启双因素认证
基于 TOTP(时间一次性密码),任何标准验证器应用都兼容:
- 左侧菜单「配置文件 → 系统配置」
- 打开「启用 WebUI TOTP 双因素认证」开关
- 面板显示二维码,用 Google Authenticator 等验证器扫码
- 输入验证器生成的 6 位验证码完成绑定
- 系统生成恢复码——立即抄下来妥善保存,这是弄丢验证器后唯一的常规门
恢复码的机制
三条规则决定了它的珍贵程度:
- 每个恢复码只能用一次
- 用恢复码登录后,双因素认证自动关闭,需要重新设置
- 恢复码可以在 TOTP 管理弹窗里重新生成
恢复码丢了且验证器也没了,常规途径无法找回账户访问权,只能手动改配置文件救急:编辑 data/cmd_config.json,把 dashboard.totp.enable 设为 false,并清空 dashboard.totp.secret 和 dashboard.totp.recovery_code_hash 两个字段,重启后重新配置。
安全约束要知道
- 启用双因素后,修改 TOTP 相关配置必须先验证当前验证码——防止攻击者拿到会话后直接拆锁
- 修改面板密码会撤销所有受信任设备,所有已登录端重新认证
- 验证器应用本身也是资产:手机丢了 = 验证器丢了,所以恢复码比验证器更要紧
公网部署的额外清单
- 面板端口不要为了省事映射到常见扫描段,改默认端口可挡大量无脑扫描(改 data/cmd_config.json 里 dashboard 的 port)
- 云服务器安全组尽量限源 IP,只放行自己常用的出口
- 定期在统计页看登录与调用是否有异常峰值
- 忘记密码的重置流程按部署方式分流,见登录问题排查
安全配置的本质是给「面板公网可达」这件事上保险。面板只在内网或本机跑的话,强度按需降低,但初始密码修改永远不该跳过。