Windows远程裸奔等着被爆破?给Windows加上手机动态码锁,开源免费

一台公网 Windows 服务器,远程桌面只靠"账号+密码"守门,等于把家门钥匙放在脚垫下面。

今天教你用一款开源免费工具,给 RDP 加一道手机动态验证码——密码就算泄露了,攻击者也进不来。

全程十几分钟。

 凌晨三点,谁在敲你服务器的门
打开网易新闻 查看精彩图片
凌晨三点,谁在敲你服务器的门

先说个真实场景。

很多人部署 Windows 服务器,图省事就把 3389 端口往公网一开,密码设得复杂一点,心里就踏实了。

然后某天翻安全日志,会发现一堆凌晨两三点的登录失败记录——来源 IP 遍布全球,用户名是 Administrator、admin、test 轮着试。

这不是有人在针对你。互联网上存在大量自动化扫描器,7×24 小时在扫公网开放的 3389 端口,撞库、爆破、弱密码字典轮番上阵。密码一旦被撞出来,服务器就是人家的了。

更现实的是——勒索软件团伙最爱的入口之一,就是暴露在公网的 RDP

打开网易新闻 查看精彩图片

所以问题不是"会不会被盯上",而是"什么时候被盯上"。

为什么"强密码"已经不够用了

很多人觉得:我密码 16 位、大小写数字符号齐全,够了吧?

说实话,单靠密码这件事本身,在今天就已经过时了。原因很简单——

密码是个静态凭证

  • • 你不知道它在哪个第三方网站泄露过

  • • 撞库攻击会拿别处泄露的密码来试你

  • • 弱密码字典能覆盖大部分人的设置习惯

  • • 一旦泄露,攻击者拿到就是完整权限

双因素认证(2FA)解决的就是这个问题:密码是"你知道的东西",而动态码是"你拥有的东西"。两个都要有,才能进门。

TOTP 到底是个啥

不用被术语吓到,原理特别朴素。

TOTP(Time-based One-Time Password),就是基于时间的一次性密码

它拿一个共享密钥 + 当前时间做运算,每 30 秒生成一个 6 位数字

你手机上的认证器和服务器各算各的,两边结果对得上,就放行。

由于时间一直在变,这个码用过就废,下次登录又是新的。攻击者就算截获了一次,也没用。

手机可以在各大应用商店下载。

常见认证器都能用:

  • • 腾讯身份验证器

  • • Microsoft Authenticator

  • • Google Authenticator

  • • 2FAS

装完之后,登录流程从一步变两步:

账号 → 密码 → 手机动态码 → 进入系统

能防住什么? 密码泄露、暴力破解、撞库攻击、弱密码——传统密码最怕的这几件事,基本都被堵死了。

用什么工具:multiOTP

今天要用的工具叫 multiOTP Credential Provider,一款开源免费的 Windows 登录凭据提供程序(Apache 2.0 协议,商用无忧),目前版本 5.10.2.2

它最打动我的地方是三个字:不折腾

市面上很多 2FA 方案要搭 Radius 服务器、配 LDAP、搞域控策略,光环境准备就能劝退一半人。而 multiOTP 直接集成在 Windows 登录界面里,本地完成校验

  • • 不需要 Radius

  • • 不需要 LDAP

  • • 不需要额外认证服务器

  • • 一台 Windows 自己就能跑

兼容性也没问题:Windows 10 / 11,以及 Windows Server 2012 R2 一路到 2025,本地账户、域账户都支持。

动手之前,先记住这条铁律

这部分请读完再操作,别跳。

安装完成并重启后,RDP 登录会立刻开始索要验证码。如果你还没配好 Token 就重启了,而这台机器又只有 RDP 一种登录方式——

那你就把自己关在门外了。

所以装之前,请务必确认这台服务器至少有一条非 RDP 的登录通道兜底:

  • • VMware Console / Hyper-V Console

  • • VNC

  • • iDRAC / iLO / IPMI(物理服务器)

  • • 接个物理显示器

只有 RDP 一条路的机器,千万别直接装。 这不是危言耸听,是运维圈交过学费的坑。

三步走,十几分钟搞定 第一步:装 VC++ 运行库

先装 VC++ 运行库,微软官方直链(永久链接,自动指向最新版):

  • x64(64 位服务器装这个) :https://aka.ms/vc14/vc_redist.x64.exe

  • • x86(32 位):https://aka.ms/vc14/vc_redist.x86.exe

这是前置依赖,不装的话后面会直接报 DLL 缺失错误。

两个提醒:一是 VC++ 2017 之后(2019 / 2022 / 2026)共用同一套运行库文件,装最新这一个就行,不用按年份挨个装;二是 Visual Studio 2015 的运行库已于 2025 年 10 月停止支持,别再去搜"2015-2022 版"的老包了。
打开网易新闻 查看精彩图片
第二步:安装multiOTP,两个选项别点错

下载地址:https://github.com/multiOTP/multiOTPCredentialProvider/releases

multiOTPCredentialProvider-5.10.2.2.zip 解压得到:multiOTPCredentialProviderInstaller.msi安装包

打开网易新闻 查看精彩图片

运行安装包,一路 Next,但有两个地方千万别闭眼点

① 勾选 "No remote server, local multiOTP only"

这就是本地模式——不依赖 Radius/LDAP,自己跟自己校验。登录界面标题可以自定义,随便填。

打开网易新闻 查看精彩图片

② 验证范围选 "Only Remote"

意思是:本地登录不要验证码,只有 RDP 远程登录才要。

这个配置对服务器来说是最稳的。万一手机丢了、Token 出问题,你还能通过 VNC、IPMI、本地控制台进系统抢救,不至于把自己彻底锁死

打开网易新闻 查看精彩图片

选完重启服务器。

第三步:生成 Token,扫码绑定

重启后先别用 RDP,走 VNC / IPMI / 控制台进去,管理员身份开 CMD:

cd "C:\Program Files\multiOTP"

① 给 Administrator 生成密钥:

.\multiotp.exe -fastcreatenopin Administrator

② 生成二维码:

.\multiotp.exe -qrcode Administrator Administrator.png

在C:\Program Files\multiOTP木有中找到二维码,用app扫描

打开网易新闻 查看精彩图片

③ 手机认证器扫码,完成绑定。

④ 验证一下(把 123456 换成手机当前的 6 位码):

.\multiotp.exe Administrator 123456

APP上的048196

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

⚠️ 注意:这条命令没有任何输出,才是验证成功。别以为卡住了。

多用户也没问题,每个 Windows 账户都有自己的 Secret,分别生成、分别扫码就行。

装完之后长这样

以后远程桌面登录,输完账号密码,会自动多弹一步 One-Time Password——把手机上的 6 位码填进去,才放行。

多出来的这 5 秒钟,换来的是密码泄露也进不来的安全感。

 踩坑速查
打开网易新闻 查看精彩图片
踩坑速查

验证码一直提示错误?

九成是时间不同步。TOTP 完全靠时间算,服务器和手机差太多必挂。按这个顺序查:

  1. 1. Windows 系统时间对不对

  2. 2. 手机时间是不是自动同步的

  3. 3. 扫的是不是最新生成的那张二维码

  4. 4. 有没有重复执行过生成命令(会覆盖旧 Secret)

服务器时间可以用这条命令强制同步:

w32tm /resync

本地登录也要验证码吗?

按推荐配置选了 Only Remote,本地就不用,只有 RDP 要。

手机丢了怎么办?

只要还留着 VNC / IPMI / 本地控制台任一通道,进去重新生成 Token 或直接卸载即可。

所以那句话值得再说一遍:留好本地通道。

光加 TOTP 还不够

最后说点实在的——TOTP 很强,可以做到以下防护

真想防住 RDP 攻击,建议把这几层一起做上:

  1. 1. 限制来源 IP :能用白名单就别对全网开放

  2. 2. 强制网络级别认证(NLA) :让认证发生在建立完整会话之前

  3. 3. 账户锁定策略 :连续失败 N 次就锁,把爆破成本拉高

  4. 4. 改默认端口 :虽然只是"防君子",但能挡掉大部分无差别扫描

  5. 5. 登录审计 :失败日志要有人看,异常登录要能告警

  6. 6. 定期打补丁 :RDP 本身的历史漏洞不少(想想 BlueKeep)

TOTP 加上这几层,基本上绝大多数针对 RDP 的自动化攻击都会被挡在门外

卸载

控制面板 → 程序和功能 → 找到 multiOTP Credential Provider → 卸载 → 重启。

最后

云服务器、运维跳板机、企业内部 Windows Server——只要是开了 RDP 的 Windows,我都建议安排上。

开源免费、不用额外服务器、十几分钟部署完,这个投入产出比,在安全加固里算得上是极高的一档了。

下载方式:

  • • GitHub 搜索: multiOTP/multiOTPCredentialProvider

  • • 官方下载页: download.multiotp.net/credential-provider/ (认准 5.10.2.2 版本)

动手前再默念一遍:留好本地通道,再装。

你服务器开 RDP 了吗?日志里有没有见过凌晨三点的敲门声?评论区聊聊。