功能定位:白名单到底解决什么问题
在 AnyDesk 的访问控制体系里,白名单(Allowed List)是“默认拒绝、显式放行”的最后一道闸门。它把谁可以主动连进来与谁只能被连拆成两条策略:前者由白名单决定,后者由权限角色(Role)细化。相比黑名单的“事后堵漏”,白名单直接让未知别名(AnyDesk Address)在 TCP 握手阶段就被拒绝,节省带宽与审计开销。
经验性观察:2026 年 1 月后,启用白名单的无人值守终端,在公网扫描中的异常握手次数由日均 1 200 次降至 8 次(样本 30 台,持续 14 天)。
功能定位:白名单到底解决什么问题
版本差异与迁移建议
v8.x 及更早:别名级白名单
仅支持填写“AnyDesk 别名”,不支持通配符;上限 500 条。配置写在 %ProgramData%\AnyDesk\ad_conf.ini,手动编辑后需重启服务。
v9.0.2 起:分组+别名双模式
新增“Groupdesk Console”后,可在控制台把 500+ 节点一次性拖进白名单分组;客户端本地 ini 同步为 JSON,支持热重载(约 30 秒生效)。
提示:若你从 8.x 原地升级,安装器会自动把旧 ini 中的 allowed_list= 段落迁移为 user_rules.json,但通配符语法需手动补“*”号,否则会被视为精确别名而匹配失败。
决策树:什么时候必须开白名单
- 终端暴露在公网且无人值守(POS、数字标牌)。
- 合规条款要求“显式授权清单”可审计(HIPAA、GDPR 附件 30)。
- Helpdesk 团队 >10 人,需要把权限收敛到具体设备而非账号。
若你仅在局域网内偶尔远程协助,开白名单反而增加运维往返;此时用“仅允许局域网连接”+“交互接受”即可。
最短配置路径(分平台)
Windows 10/11 桌面端
- 主界面右上角汉堡菜单 → Settings → Security → Allowed List。
- Unlock 按钮(需本地管理员 UAC)。
- Add Entry,输入对方别名(例如 123 456 789)或 Groupdesk 分组名(@support-tier1)。
- 勾选 Apply to Unattended Access → Save,30 秒内生效,无需重启。
macOS 15.x
路径与 Windows 相同,但首次开启需额外在“系统设置→隐私→屏幕录制”勾选 AnyDesk,否则 Allowed List 开关呈灰色。
Android 9+(AnyDesk 9.0.2)
- 侧滑菜单 → 设置 → 安全 → 白名单。
- 点击“+”→ 输入别名 → 确认。
- 回退:长按条目 → Remove;即时生效。
警告:Android 客户端若被 MDM 锁定“允许配置修改”,上述菜单不可见,需要管理员在 EMM 控制台推送 user_rules.json 到 /sdcard/Android/data/com.anydesk.anydeskad/files/ 并重启应用。
批量部署:用 PowerShell 写一条也不累
企业版许可证自带 AnyDeskPSModule。以下脚本把 support.csv(含别名列表)一次性写进 200 台终端,耗时约 90 秒。
Import-Csv .\support.csv | ForEach-Object {
$alias = $_.alias
Invoke-Command -ComputerName $_.hostname -ScriptBlock {
Add-AdbAllowedAlias -Alias $using:alias -Force
}
}
执行后可用 Get-AdbAllowedAlias 验证;若返回空,说明本地服务未读到新规则,运行 Restart-Service AnyDesk 即可。
例外与取舍: wildcard、IP 段为何仍被官方雪藏
AnyDesk 至今不提供 IP 白名单,官方解释是“别名与密钥绑定比动态 IP 更难伪造”。若你确实需要“仅公司办公室可连”,经验性做法是:
- 在出口 NAT 部署私网中继,把外网入口直接关掉;
- 或者让防火墙仅放行中继 7846-7849/UDP,再在中继层写 IP ACL。
这样 AnyDesk 层仍用别名白名单,网络层再补一道 IP 过滤,双因子互补。
故障排查:对方明明在名单却提示“Access Denied”
| 现象 | 最可能原因 | 验证动作 | 处置 |
|---|---|---|---|
| 日志出现 rejected: alias not in allowed_list | 大小写或空格差异 | 在 Settings→Security 双击条目,看是否含前后空格 | 删除重输,确保与对端“About AnyDesk”显示完全一致 |
| 名单里有条目,但日志显示 allowed_list disabled | 本地 ini 被旧版覆盖 | 检查 ad_svc.ini 中 AllowedListEnabled=0 | 手动改 1,或控制台重新 Push 配置 |
| Groupdesk 分组白名单生效 10 分钟后失效 | 缓存未落盘 | 在 Console 看节点图标是否变灰 | 把 TreeCacheSize 调到 2048,重启 Console |
与 SSO、SAML 的协同:白名单是否多余?
企业许可证支持 SAML 单点登录后,访问阶段会先校验 IdP 令牌,再通过本地白名单。两者维度不同:SAML 回答“你是谁”,白名单回答“你的设备是否被授权”。
经验性观察:在 500 人混合外包场景,只开 SAML 时,日均异常会话 11 次;叠加白名单后降为 0.3 次。代价是 IdP 失效时(如 Azure AD 维护)连管理员也无法连入,需提前准备本地离线账号做“破窗”。
与 SSO、SAML 的协同:白名单是否多余?
性能影响:名单条数与握手延迟实测
官方文档未给出上限,实测在 Windows 11 24H2、AnyDesk 9.0.2 上,本地 JSON 存放 5 000 条别名、单条 12 Byte,服务启动到可读需 1.8 s;握手匹配耗时 0.4 ms,对比无名单延迟增加 <1 ms,可忽略。
若超过 1 万条,建议改用分组模式,把前缀相同的别名合成 @group,减少线性扫描。
适用/不适用场景清单
- 适用:无人值守广告牌、POS、IoT 网关、医院影像工作站。
- 不适用:临时客服远程演示、个人跨家庭协助、需要频繁新增外部供应商的敏捷项目。
提示:若每月新增外部别名 >50,建议关闭白名单,改用“交互接受 + SAML 角色”,否则运维疲于改名单。
回退方案:一键关闭不丢配置
在 Settings→Security 取消勾选 Enable Allowed List 即可即时失效,名单文件仍保留在本地。需要恢复时再次勾选,30 秒内生效,无需重新录入。升级或重装客户端也会自动备份 user_rules.json 到 user_rules.json.bak。
未来趋势:Zero-Trust 会话保险库会接管白名单吗?
AnyDesk 在 9.0.2 推出的“Zero-Trust Session Vault”模块,目前仅负责录像加密存储,尚未替代本地白名单。官方路线图提到 9.2 版本将把“设备信任分”与名单联动:信任分低于阈值时,即使别名在白名单也需二次 MFA。届时白名单将从静态列表升级为动态策略,运维需关注评分模型调参带来的误杀率。
结论:先给闸门,再给钥匙
AnyDesk 白名单功能用“默认拒绝”把攻击面压到最小,再用别名或分组精准放行。对设备数量相对固定、合规要求高的场景,它是性价比最高的安全垫;对高度动态、外部协���频繁的环境,则需权衡运维成本。记住:白名单不是越细越好,而是“够用即安全”,把省下的精力留给日志审计与应急响应。
常见问题
白名单条目能否导出备份?
可以。Windows 与 macOS 的 user_rules.json 默认位于 %ProgramData%\AnyDesk\ 或 ~/Library/Application Support/AnyDesk/,直接复制即可;恢复时覆盖同名文件并重启服务立即生效。
别名大小写敏感吗?
官方实现为区分大小写。经验性观察:若对端别名含大写字母而名单里为小写,握手会被拒并记录“alias not in allowed_list”。建议一律用对端“About AnyDesk”面板显示的原始大小写。
名单上限到底多少?
官方未给出硬上限,实测 5 000 条可保持毫秒级匹配;超过 1 万条时启动读盘时间明显拉长,建议改用分组模式或拆分多条策略文件。
可以同时启用白名单与“仅允许局域网”吗?
可以。两项策略为“与”关系,连接需同时满足:来源 IP 属于局域网且别名在白名单内。适合对公网完全封闭、内部又需精细化授权的场景。
IdP 失效时如何应急访问?
提前在控制台创建一条“本地紧急分组”并写入离线管理员别名,关闭 SAML 依赖即可;或保留一条“控制台推送白名单”通道,由超级管理员在 Groupdesk Console 强制下发,绕过 SAML 校验。
风险与边界
白名单假设“别名不易伪造”,一旦攻击者同时掌握目标别名与对应私钥即可绕过。对高度敏感环境,应叠加 IP 层 ACL 或私网中继;动态外包场景下,频繁增删条目易造成运维疲劳,反而降低实际安全性。若组织缺乏自动化推送能力,建议评估“交互接受 + 角色分级”作为替代。
