Windows DirectAccess配置多因素认证MFA

一、Windows DirectAccess配置MFA的方式

Windows Server 自带的 DirectAccess 本身不直接支持多因素认证(MFA),但可以通过 整合 Active Directory + NPS(网络策略服务器)+ RADIUSAzure AD 来实现。以下是几种常见的方式:

1、使用 NPS + RADIUS + OTP(Windows 本地方案)

适用情况

  • 适用于 本地 AD 环境,不依赖 Azure。
  • 适合 希望通过动态密码(OTP)或智能卡认证的企业

配置步骤

  1. 安装 NPS(网络策略服务器)

    • 在 Windows Server 上安装 NPS 角色(在服务器管理器中添加)。
    • 配置 NPS 作为 RADIUS 服务器
  2. 配置 DirectAccess 服务器使用 NPS 进行身份验证

    • 在 DirectAccess 控制台,选择 身份验证策略,指向 NPS 服务器
    • 设置 DirectAccess 要求双因素认证(如 OTP 或智能卡)。
  3. 启用 OTP(一次性密码)

    • 在 DirectAccess 服务器上运行 Enable-DAOTPAuthentication 以启用 OTP 支持。
    • 需要部署 OTP 服务器(如 Windows 内置 OTP 方案,或使用 第三方 OTP 服务器)。

优点

✅ 适用于 本地 AD,无需 Azure。
✅ 结合 智能卡、OTP(动态密码),提高安全性。
✅ 适合已有 NPS + RADIUS 方案的企业。

缺点

❌ 部署复杂,涉及多个服务器组件。
❌ 需要额外的 OTP 服务器或智能卡。

2、通过 Azure AD + Conditional Access 实现 MFA

适用情况

  • 企业已有 Azure AD,并希望使用 Microsoft Authenticator 或 SMS 作为 MFA
  • 希望无缝集成 Windows 设备,并支持基于用户身份的访问控制

配置步骤

  1. 将本地 AD 同步到 Azure AD

    • 安装 Azure AD Connect,将 本地 Active Directory 用户同步到 Azure
  2. 在 Azure AD 配置 MFA

    • Azure Portal 进入 Azure AD > 安全性 > 条件访问(Conditional Access)
    • 创建策略 要求 DirectAccess 连接时使用 MFA
      • 用户或组:选择使用 DirectAccess 的用户组。
      • 云应用或操作:选择 Windows Server
      • 条件:要求 MFA(短信、Authenticator、FIDO2 认证等)。
  3. 在 DirectAccess 服务器启用 Azure AD 认证

    • 配置 DirectAccess 将身份验证指向 Azure AD
    • 确保设备能解析 Azure AD 登录端点

优点

云端管理,支持 Microsoft Authenticator、短信验证码等。
策略灵活,可针对不同用户设置不同级别的 MFA 认证。
✅ 适用于 企业计划未来向云端发展

缺点

需要 Azure AD P1/P2 许可证,增加成本。
本地 AD 需要同步到 Azure,涉及额外配置。

3、使用第三方 MFA 方案

如果不想使用 Windows 内置方案,也可以集成第三方 MFA 解决方案

  • Duo Security(Cisco)
  • RSA SecurID
  • Okta MFA
  • Google Authenticator(结合 RADIUS 认证)

这些方案通常都可以通过 RADIUS/NPS 方式 整合到 DirectAccess,实现双因素认证。

🔹 结论:选择哪种方案?

方案适用场景认证方式复杂度额外成本
NPS + RADIUS + OTP纯本地 AD,已有 NPS 服务器OTP、智能卡中等
Azure AD + Conditional Access企业已使用 Azure AD,想用云端 MFAMicrosoft Authenticator、短信需要 Azure AD P1/P2
第三方 MFA(Duo, RSA, Okta)需要更强的 MFA 选项手机验证码、硬件令牌中等取决于供应商

如果企业主要在 本地部署 Windows 域环境,建议 使用 NPS + RADIUS + OTP,这样无需依赖 Azure,而且可以直接与 DirectAccess 结合。

二、 本地 DirectAccess + NPS + RADIUS + OTP 的部署

📌 部署步骤概览

第一步:安装 NPS(网络策略服务器)
第二步:配置 RADIUS 认证
第三步:部署 OTP 服务器(Windows 内置方案)
第四步:配置 DirectAccess 服务器使用 OTP 认证
第五步:测试与优化

1、 安装 NPS(网络策略服务器)

NPS(Network Policy Server)是 Windows Server 内置的 RADIUS 服务器,负责身份验证。

🔹 安装 NPS 角色

1️⃣ 打开 Windows Server,启动 “服务器管理器”
2️⃣ 选择 “添加角色和功能”“基于角色或基于功能的安装”
3️⃣ 在 服务器角色 选择 “网络策略和访问服务”,然后勾选 “网络策略服务器(NPS)”
4️⃣ 点击 下一步 → 安装,等待安装完成。

🔹 注册 NPS 服务器到 Active Directory

1️⃣ 在 服务器管理器,点击 “工具”“网络策略服务器”
2️⃣ 在 NPS 控制台,右键 “NPS(本地)” → 选择 “注册到 Active Directory”
3️⃣ 确保 NPS 服务器有域管理员权限,然后确认注册。

2、配置 RADIUS 认证

DirectAccess 服务器需要通过 RADIUS 服务器(NPS) 进行身份验证。

🔹 在 NPS 服务器上添加 DirectAccess 服务器

1️⃣ 在 NPS 控制台,展开 RADIUS 客户端和服务器,右键 “RADIUS 客户端”新建
2️⃣ 输入 DirectAccess 服务器信息

  • 名称DirectAccess-Server
  • IP 地址:输入 DirectAccess 服务器的内网 IP。
  • 共享密钥:手动设置一个复杂的密钥,并记住它(稍后 DirectAccess 服务器会用到)。
    3️⃣ 点击“确定”,完成 RADIUS 客户端添加。

🔹 配置 RADIUS 连接请求策略

1️⃣ 在 NPS 控制台,展开 策略 → 右键 “连接请求策略”新建
2️⃣ 设置策略名称:如 DirectAccess-Connection
3️⃣ 条件

  • 点击 添加条件 → 选择 客户端 IPv4 地址,输入 DirectAccess 服务器的 IP 地址。
    4️⃣ 身份验证方式
  • 勾选 “Microsoft: Encrypted Authentication (MS-CHAP v2)”(如果使用 OTP,还要启用 EAP)。
    5️⃣ 点击 应用 → 确定

3、部署 OTP 服务器(Windows 内置方案)

DirectAccess 服务器支持 Windows OTP(一次性密码),但需要额外安装和配置 OTP 服务。

🔹 安装 OTP 组件

1️⃣ 在 DirectAccess 服务器 上,打开 PowerShell(管理员权限)
2️⃣ 运行以下命令启用 OTP 认证

Enable-DAOTPAuthentication

3️⃣ 服务器会自动安装 OTP 组件,并提示你**需要 AD 证书服务(AD CS)**来颁发 OTP 证书。

🔹 配置 AD 证书服务(CA)

1️⃣ 安装 AD 证书服务(CA)

  • 服务器管理器,添加 Active Directory 证书服务(AD CS) 角色。
  • 配置 CA 作为 企业根 CA,用于颁发 OTP 认证证书。

2️⃣ 创建 OTP 认证模板

  • 打开 证书管理器(certsrv.msc)
  • 模板管理 中,复制 “用户”模板,创建一个新的 OTP 认证模板
  • 设置 密钥使用仅限 OTP 认证
  • 允许 DirectAccess 服务器 颁发 OTP 证书。

🔹 配置 DirectAccess 使用 OTP

1️⃣ 在 DirectAccess 服务器,打开 远程访问管理控制台
2️⃣ 进入 DirectAccess 配置向导,选择 身份验证启用 OTP 认证
3️⃣ 在 OTP 设置中:

  • 指定 CA 服务器(企业 AD CS 服务器)。
  • 选择 OTP 证书模板(前面创建的模板)。
  • 选择 RADIUS 服务器(NPS 服务器)。
    4️⃣ 绑定 RADIUS 共享密钥(前面在 NPS 服务器设置的密钥)。
    5️⃣ 保存配置并应用,等待 OTP 配置生效。

4、 在 DirectAccess 服务器上启用 OTP

1️⃣ 打开 PowerShell(管理员权限)。
2️⃣ 运行以下命令:

Set-DAOtpAuthentication -RadiusServer "NPS_Server_IP" -SharedSecret "YourRadiusSecret"

3️⃣ 确保 RADIUS 和 OTP 服务正常运行:

Get-DAOTPAuthentication

 如果返回 Enabled,说明 OTP 认证已启用。

5、客户端测试与优化

🔹 测试 OTP 认证

1️⃣ 在客户端(Windows 10/11 企业版)

  • 连接互联网,等待 DirectAccess 自动连接。
  • 登录时,系统会提示输入 OTP 一次性密码(通常由短信、APP 生成)。
  • 输入 OTP,验证通过后,自动连接企业内网。

2️⃣ 使用 Microsoft Authenticator / OTP 令牌测试

  • 可以使用 Microsoft Authenticator、Google Authenticator 作为 OTP 生成器。
  • 也可以使用 YubiKey / RSA SecurID 硬件令牌

总结

DirectAccess + NPS + RADIUS + OTP 可实现基于 Windows 本地的多因素认证,提升远程访问安全性。
无须 Azure,适合本地 AD 企业环境
支持智能卡、OTP 令牌、手机验证码等 MFA 认证方式。
基于 Active Directory 管理,与 Windows 域无缝集成。

三、配置使用软件 OTP 方案

使用软件 OTP 方案(如 Microsoft Authenticator、Google Authenticator)来实现 DirectAccess + MFA,可以提升安全性,同时避免硬件令牌的额外成本和维护。 

📌 详细部署方案:DirectAccess + NPS + RADIUS + 软件 OTP

🔹 目标

✅ 在 Windows Server 上配置 DirectAccess,并集成 OTP 动态密码
✅ 让 员工使用手机 APP(Microsoft Authenticator、Google Authenticator) 生成 OTP
✅ 通过 NPS + RADIUS 认证 实现 Windows 远程访问的双因素认证(MFA)

1、配置 RADIUS 服务器(NPS)

1️⃣ 安装 NPS(已完成,可跳过)
2️⃣ 创建 RADIUS 认证策略

  • NPS 控制台,展开 策略 → 右键 “网络策略” → 选择 新建
  • 策略名称DirectAccess-OTP-Policy
  • 条件
    • 点击 添加条件 → 选择 客户端 IPv4 地址,输入 DirectAccess 服务器的 IP
  • 身份验证方式
    • 选择 “Microsoft: Protected EAP (PEAP)”
    • 选择 “EAP-MSCHAPv2” 作为认证方法(OTP 需要基于 EAP)。
  • 身份验证方式
    • 勾选 “用户必须使用 OTP 进行身份验证”
  • 点击应用 → 确定

2、部署 Windows OTP 服务器

Windows Server 提供内置 OTP(一次性密码)认证支持,但需要额外配置。

1️⃣ 在 DirectAccess 服务器上启用 OTP 认证

  • PowerShell(管理员权限) 运行:
Enable-DAOTPAuthentication

2️⃣ 配置 OTP 服务器

  • 运行:
Set-DAOtpAuthentication -RadiusServer "NPS_Server_IP" -SharedSecret "YourRadiusSecret"
  • 确保 RADIUS 服务器 IP 正确,并使用 前面创建的共享密钥

3️⃣ 配置 OTP 令牌验证

  • 进入 DirectAccess 控制台身份验证
  • 选择 OTP 认证,并配置 RADIUS 服务器(NPS) 作为 OTP 提供者。
  • 选择 OTP 证书模板(可使用 AD CS 创建专用 OTP 证书模板)。

3、 在客户端(Windows 10/11)启用 OTP 认证

1️⃣ 在 Windows 10/11 设备上,运行:

Get-DAConnectionStatus

确保 DirectAccess 连接状态正常。

2️⃣ 登录 Windows 远程访问时,系统会提示 OTP

  • 使用 Microsoft Authenticator / Google Authenticator 扫描 QR 码,获取 6 位动态密码
  • Windows 认证界面输入 OTP,完成双因素验证。

结论

采用软件 OTP(手机 APP)认证,避免硬件令牌成本
基于 Windows Server + RADIUS 实现 MFA,增强 DirectAccess 远程访问安全性
支持 Microsoft Authenticator、Google Authenticator,适配多种设备
OTP 结合 Active Directory 证书(AD CS)可进一步增强安全性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深海科技服务

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值