跳转到主要内容

双因素认证(2FA)

双因素认证(2FA)为登录增加一层额外保护。除密码外,用户还需输入认证器应用生成的验证码(TOTP)。如果无法使用该应用,备用代码可用于恢复账户。

为账户启用 2FA

  1. 进入 Profile → Security。
  2. 点击 启用双因素认证。
  3. 用认证器应用(Google Authenticator、Authy、1Password、Bitwarden 等)扫描二维码。
  4. 输入应用显示的 6 位验证码以确认。
  5. 将屏幕上的备用代码保存到安全位置(密码管理器、物理保险柜)。
  6. 确认完成。
此后每次登录都需要密码 + 应用验证码。

备用代码

备用代码是一次性代码,可在没有认证器应用时登录——手机丢失、更换设备或应用故障时尤为有用。

工作方式

  • 每个代码只能使用一次,使用后即失效。
  • 启用 2FA 时会获得一组代码。快用完时,请重新生成一组。
  • 代码以 BCrypt 哈希形式存储在数据库中(自 v1.0.0-rc3 起,WTO-991)。即使是部署运维人员也无法读取明文代码。

重新生成代码

Profile → Security → Regenerate backup codes。
注意:重新生成后,旧代码立即失效。请仅在当前能访问认证器应用时执行,以便确认重新生成。

何时重新生成

  • 使用过某个代码之后 —— 保持库存充足。
  • 怀疑泄露之后 —— 如果你认为有人看到过代码列表。
  • 组织变动之后 —— 如果你的角色发生变化,而旧列表存放在他人可接触的位置。
对于 v1.0.0-rc3 之前就已存在的部署:当时生成的代码以明文形式存储在数据库中。如果数据库历史记录曾被部署运维以外的人员访问,建议重新生成。

没有 2FA 和备用代码时的账户恢复

如果认证器应用和备用代码同时丢失:
  1. 联系部署管理员(super_admin)。
  2. 管理员可通过管理控制台停用你账户上的 2FA。
  3. 下次登录后,请立即用新设备重新启用 2FA,并保存新的备用代码。
部署管理员无法读取你的代码(以哈希存储)。唯一可执行的操作是清空账户上的 2FA 配置,以便你重新设置。

安全建议

  • 使用认证器应用,不要用短信。 短信容易遭受 SIM 卡劫持攻击。
  • 把备用代码存进密码管理器。 不要打印后随手塞进抽屉。
  • 不要共享备用代码。 它等同于你的第二因素。
  • 管理类账户必须启用 2FA。 尤其是 super_admin 和 account_owner。

最后说明

2FA 是应对凭据泄露成本最低、也最有效的访问控制手段。请配合强密码使用(内联校验也有帮助——WTO-1063),并在自定义角色中定期复查角色配置。