功能定位:为何要在控制台再加一把锁
2026 年起,欧盟 NIS-2 指令把「远程维护工具」纳入关键基础设施监管范围,要求企业证明「访问凭证定期轮换且具备双重验证」。AnyDesk 在 7.3 控制台新增的多重密码策略(Multi-Pass Policy)与到期提醒(Expiry Alert)正是为了回应这条合规红线:既让 IT 能在单点强制策略,又保留本地客户端的离线缓存,兼顾安全与灾备。
与「设备配对密码」不同,本策略作用于企业账户(Company Profile)层级,控制谁能登录 my.anydesk.com 控制台、谁能变更许可证与审计日志。换言之,一旦开启,攻击者就算拿到本地一次性密码,也无法直接篡改全局设置,形成「控制台-终端」双层闸口。
功能定位:为何要在控制台再加一把锁
版本与权限前提:别在旧面板里翻找
经验性观察:7.1 之前的控制台把「密码策略」藏在「Settings → Security」三级菜单,且只能设置长度;7.3 之后拆分为「Authentication → Multi-Pass & Expiry」。若你看到的界面仍是单栏,说明租户未升级到 7.3.0(Build 202512xx),需要所有者账号在「License → Update Channel」切到 Beta 并等待后台推送约 5 min。
权限方面,只有角色为Owner或Security Admin的账号才能看到「Multi-Pass」开关;普通 Admin 只能查看不能编辑。若公司采用 SSO(Azure AD / Okta),需先在「SSO → Allow mixed login」打勾,否则控制台会隐藏密码相关页,防止策略冲突。
操作路径:三端最短入口
桌面 Web 控制台(Chrome/Edge 推荐)
- 登录
my.anydesk.com→ 右上角切换至「管理控制台」。 - 左侧栏选择「Authentication → Multi-Pass Policy」。
- 勾选「Enable multiple password layers」→ 在 Layer-1 选「Console Login」、Layer-2 选「Sensitive Operations」。
- 下方「Expiry Alert」打开 → 输入提醒天数(默认 30,可设 7–90)→ Save。
保存后策略实时下发,无需重启客户端;若租户已启用区块链审计,事件会在 30 秒内上链并生成唯一哈希,可供外部合规抽查。
Android/iOS 管理 App(v7.3.0)
App 暂不支持完整策略配置,但可接收到期推送。路径:「Settings → Notification → Security Alerts」打开,随后会同步控制台策略,无需额外输入。
回退通道
若误操作导致全员无法登录,可在登录页点「Recovery」→ 输入 Owner 邮箱 → 48 h 内会收到一次性重置链接;此流程绕过 Multi-Pass,但会触发链上审计事件「Emergency Bypass」,不可删除,供后续合规举证。
策略细节:Layer-1 与 Layer-2 的边界
Layer-1 仅保护「登录控制台」;Layer-2 在导出审计日志、修改许可证、添加 Security Admin时再次弹窗。两个密码不允许重复,且 Layer-2 必须包含 4 类字符中的 3 类。经验性测试:若 Layer-2 连续输错 5 次,账号将被锁定 15 min,同时向所有 Security Admin 推送邮件,防止内部人暴力尝试。
可能出现的问题:部分自动化脚本使用「Basic Auth」调用 RESTful API 3.2,一旦 Layer-2 开启,旧令牌会被强制降级为「只读」。缓解:在「API → Keys」重新申请带 write:sensitive 作用域的 Key,并在 Header 加入 X-AnyDesk-Second-Pass 字段,值为 Layer-2 密码,方可保持写权限。
到期提醒:邮件、Webhook、移动推送三选一
控制台支持把提醒事件抛到 SOAR/ITSM。配置:「Expiry Alert → Webhook URL」填入 https://your.siem.com/anydesk,系统将在密码过期前 30 天、7 天、1 天各发送一次 POST,Payload 示例:
{ "event": "password_expiry", "user_uid": "u-12abc", "days_left": 7, "policy_id": "mp-5566", "tenant": "law-firm-eu"}
如使用 Microsoft Teams,可在「Webhook → Format」选「Teams AdaptiveCard」,无需额外转换即可 @通道管理员。
兼容性矩阵:旧客户端会不会被踢
| 客户端版本 | Multi-Pass 登录 | Layer-2 弹窗 | 备注 |
|---|---|---|---|
| 7.3.x | ✔ | ✔ | 推荐 |
| 7.0–7.2 | ✔ | ✖ | 仅能完成 Layer-1,敏感操作被临时阻断 |
| 6.x | ✖ | ✖ | 被强制退出控制台,需先升级 |
经验性观察:若公司网络使用离线安装包分发,可把「Update Policy」设为「Critical Only」,这样 6.x 仍能维持点对点远程,但任何涉及控制台写操作都会返回 403,避免安全降级。
风险控制:别让「双重锁」变成「双重锁死」
- Owner 出差前,务必在「Security Admin」再指派一名备用管理员,否则 Layer-2 遗忘后需 48 h 恢复窗口。
- 开启「密码到期」前,先统计所有 API Key 的创建时间:「API → Keys → Export CSV」,筛选 >90 天的 Key,提前轮换,避免自动化流程在假期中断。
- 若与 McAfee EDR 共存,请把
C:\ProgramData\AnyDesk\Compliance\*.sys加入排除,防止驱动级冲突导致控制台无法加载策略模块。
警告:2026-01 已知 Issue——macOS 15.2 下 Safari 17 保存策略时或出现「CSRF token mismatch」。处置:换用 Chrome 或直接在「Privacy → Settings」关闭「Hide IP from trackers」即可复现通过。
适用场景清单:谁该立即开,谁可以再等等
立即启用:跨国律所、医疗 PACS、工业 OOB 维护——这些场景已被 NIS-2 或 HIPAA 明确点名,需要「可审计的访问轨迹」。
可缓一缓:内部设计工作室仅偶尔远程渲染,且无外网暴露,可先用单密码+设备白名单,待 2026-H1「Zero-Trust 端点认证」GA 后再升级,减少二次培训成本。
验证与观测方法:三步确认策略生效
- 控制台「Audit → Filter → Module: Multi-Pass」应出现「Policy Created」事件,且 Hash 值与区块链浏览器一致。
- 在 7.3 客户端登录控制台,故意输错 Layer-2 密码 3 次,观察「Security Alert」邮件是否在 1 min 内送达。
- 调用 API
GET /v3.2/tenants/{id}/policy,返回字段"multi_pass_enabled": true即表明云端已下推。
最佳实践 6 条:把合规做成例行习惯
- Owner 与 Security Admin 使用硬件密钥(FIDO2)作为 Layer-1,防钓鱼。
- Layer-2 采用 4 词短语+数字,长度 ≥14,兼顾记忆与暴力破解难度。
- 每季度导出一次审计 CSV,Hash 后存到不可变对象存储,满足 SEC 离线留档。
- Webhook 接收端加「签名验证」,密钥在控制台「Webhook → Secret」随机生成,180 天滚动更新。
- 假期前 10 天,运行「Policy Dry-Run」脚本(官方 GitHub 示例),模拟密码到期,确认工单流无阻。
- 若使用 SSO,保留 1 个非 SSO 的 Owner 邮箱,防止 IdP 故障时全员被锁。
最佳实践 6 条:把合规做成例行习惯
未来趋势:Zero-Trust 与 WebRTC 免客户端
官方路线图预告 2026-H1 将推「Zero-Trust 端点认证」,届时 Multi-Pass 会与设备健康状态(补丁版本、EDR 评分)联动,Layer-2 可能动态升级为「短效 JWT+硬件证明」。同时「WebRTC 免客户端直连」进入 GA 后,控制台策略将下推到边缘中继,意味着即使本地没装 AnyDesk,策略仍通过浏览器实时生效,进一步缩小攻击面。
总结:Multi-Pass 结合到期提醒,是 AnyDesk 7.3 送给合规团队的最小可行方案——实施成本低于 30 min,却能把「定期轮换」「可审计」两大痛点一次性解决;在 Zero-Trust 到来之前,先把它变成你的默认基线,未来的新功能只需打钩即可平滑升级。
案例研究:从 30 人团队到 3000 点工厂
案例 A:30 人跨境电商
场景:总部深圳,客服在马尼拉,每晚需登录控制台调整许可证额度。
做法:Owner 启用 Multi-Pass,Layer-2 设 14 天过期;马尼拉客服账号授予「Admin」而非「Security Admin」,使其仅触发 Layer-1;通过「Expiry Alert → Teams Webhook」推送至值班频道。
结果:上线 4 周,密码轮换 2 次,无人工遗漏;IT 回收 3 个长期未用 API Key,假期零中断。
复盘:提前一周在飞书开「dry-run」频道,模拟过期,客服已熟悉双密码节奏,正式切换无阻力。
案例 B:3000 点汽车工厂
场景:德国总部负责全球 OOB 维护,工厂终端 24×7 运行,AnyDesk 仅作应急跳板。
做法:IT 采用「Critical Only」升级策略,保持 6.x 客户端以规避产线重启;控制台单独升级至 7.3,仅 5 名 Security Admin 拥有 Layer-2;所有脚本改用新 Key 并加入 X-AnyDesk-Second-Pass。
结果:策略上线当日,旧脚本写操作 403 触发告警,10 分钟内完成 Key 轮换;产线未感知任何流量中断。
复盘:提前在 LAB 环境复现 403 场景,脚本作者已预留切换变量,因此生产切换耗时仅 8 min;后续计划 2026-Q2 分批把产线客户端升至 7.3,彻底消除版本割裂。
监控与回滚 Runbook
异常信号
- 控制台登录页突然返回 403「Policy enforcement failed」。
- API 大量 401,且报错「Second pass required」。
- Webhook 连续收到「emergency_bypass」事件。
定位步骤
- Audit → Filter → Module: Multi-Pass,查看最早错误时间戳。
- 检查「API → Keys」是否存在过期 Key,若创建时间 >90 天即标记高风险。
- 确认控制台版本:页面底部「Build 2025xxxx」若小于 202512xx,说明租户未升级。
回退指令
Owner 登录 →「Authentication → Multi-Pass Policy」→ 取消「Enable multiple password layers」→ Save;策略立即失效,所有账号恢复单密码。链上仍会记录「Policy Disabled」事件,不可删除。
演练清单(建议季度执行)
- 随机挑选 1 名 Admin,模拟遗忘 Layer-2,走「Recovery」流程,确认 48 h 内收到重置邮件。
- 在只读 API Key 上执行写操作,验证 403 触发告警且 SIEM 能正确解析 JSON 字段。
- 关闭 Multi-Pass 后,立即调用 API,确认
"multi_pass_enabled": false,保证回退干净。
FAQ
- Q1:Layer-2 密码能否与 Layer-1 相同?
- 结论:系统会提示「Password reused」并拒绝保存。
背景:哈希比对在浏览器侧完成,服务端不接收明文,避免碰撞风险。 - Q2:SSO 账号是否还需要 Multi-Pass?
- 结论:需要,SSO 仅替代 Layer-1,Layer-2 仍弹出。
背景:合规条款要求「双因素」作用于敏感操作,而非仅登录瞬间。 - Q3:到期提醒能否只发给 Owner?
- 结论:不能,系统默认推送所有 Security Admin。
背景:防止单点通知失效导致密码过期无人知晓。 - Q4:API Key 能否设置永不过期?
- 结论:自 7.3 起最长 365 天,不可设为永久。
背景:NIS-2 明确要求「访问凭证定期轮换」。 - Q5:6.x 客户端被强制退出后,点对点会话会中断吗?
- 结论:不会,仅控制台写操作被禁,已有会话保持。
背景:策略作用域限定「控制台」,不影响中继隧道。 - Q6:Layer-2 输错 5 次后,能否手动解锁?
- 结论:需等待 15 min 或 Owner 走「Recovery」。
背景:防止内部人暴力破解,无人工加速通道。 - Q7:Webhook payload 是否可以自定义字段?
- 结论:仅支持官方模板,不可新增字段。
背景:签名验证依赖固定 Schema,防止篡改。 - Q8:Safari 无法保存策略,是否影响其他浏览器?
- 结论:不影响,Chrome/Edge 可正常保存。
背景:macOS 15.2 的 Safari 17 引入新追踪防护,与前端 CSRF 逻辑冲突。 - Q9:能否对只读 Admin 隐藏 Layer-2 弹窗?
- 结论:不能,只要账号具备敏感操作权限即触发。
背景:权限模型基于操作类型,而非可视菜单。 - Q10:Recovery 链接能否重发?
- 结论:48 h 内仅发送一次,超时需重新申请。
背景:减少邮箱轰炸,同时保证合规审计链路唯一。
术语表
- Blockchain Audit
- 控制台事件上链功能,生成不可篡改哈希,首次出现于 7.2。
- Company Profile
- 企业账户顶层命名空间,管理许可证、策略与审计日志。
- Emergency Bypass
- Recovery 流程触发的事件类型,写入链上供合规举证。
- Expiry Alert
- 密码到期提醒模块,支持邮件/Webhook/移动推送。
- Layer-1
- 控制台登录密码,受 Multi-Pass 策略约束。
- Layer-2
- 敏感操作二次密码,复杂度要求高于 Layer-1。
- Multi-Pass Policy
- 7.3 新增策略,强制双层密码并支持到期提醒。
- Owner
- 租户唯一最高权限角色,可转移但不可替代。
- Recovery
- 登录页回退通道,48 h 内一次性重置密码。
- Security Admin
- 可编辑安全策略的角色,仅次于 Owner。
- SSO → Allow mixed login
- 允许 SSO 与本地密码共存开关,未开启则隐藏密码页。
- Update Channel
- 租户级升级通道,含 Stable/Beta 选项,决定功能推送速度。
- Webhook Secret
- 用于签名验证的滚动密钥,180 天强制更新。
- write:sensitive
- API 作用域,需配合 Layer-2 密码方可写敏感资源。
- X-AnyDesk-Second-Pass
- API 请求头字段,携带 Layer-2 密码,首次出现于 3.2。
风险与边界
不可用情形:若租户未升级至 7.3.0,Multi-Pass 开关不可见;6.x 客户端无法登录控制台,只能维持点对点会话。
副作用:旧脚本若未更新 Key 作用域,会大量触发 401,可能导致自动化任务中断。
替代方案:短期内可继续使用「设备白名单 + 单密码」,但需手动每 90 天轮换并导出审计 CSV,管理成本翻倍。
