问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用Azure的NPS扩展集成VPN与Microsoft Entra多重身份验证

创作时间:
作者:
@小白创作中心

使用Azure的NPS扩展集成VPN与Microsoft Entra多重身份验证

引用
1
来源
1.
https://learn.microsoft.com/zh-cn/entra/identity/authentication/howto-mfa-nps-extension-vpn

Azure的网络策略服务器(NPS)扩展使组织能够使用基于云的Microsoft Entra多重身份验证来保护远程身份验证拨入用户服务(RADIUS)客户端身份验证。本文将说明如何使用Azure的NPS扩展集成NPS基础结构与MFA,为尝试使用VPN连接到网络的用户提供安全双重验证。

尽管NPS MFA扩展支持基于时间的一次性密码(TOTP),但某些VPN客户端(如Windows VPN)不支持它。在NPS扩展中启用之前,请确保你使用的VPN客户端支持TOTP作为身份验证方法。

网络策略和访问服务让组织能够:

  • 分配一个用于网络请求管理和控制的集中位置以指定:
  • 谁可以连接
  • 允许什么时间进行连接
  • 连接持续时间
  • 客户端连接时须使用的安全级别
  • 建立和强制执行网络访问保护(NAP)客户端健康策略,可确定是授予设备对网络资源的无限制还是受限制的访问权限。
  • 提供一种强制进行身份验证和授权,以访问支持802.1x无线访问点和以太网交换机的方式。有关详细信息,请参阅网络策略服务器。

为了增强安全性,并提供高级别的合规性,组织可以将NPS与Microsoft Entra多重身份验证集成,以确保用户使用双重验证连接到VPN服务器上的虚拟端口。已授予访问权限的用户,他们必须提供其用户名和密码组合与他们控制的其他信息。此信息必须受信任且不易复制。可以包括手机号码、座机号码或者移动设备上的应用程序。

如果组织使用VPN,并且用户注册了TOTP代码和Authenticator推送通知,则用户无法满足MFA质询,并且远程登录会失败。在这种情况下,可设置OVERRIDE_NUMBER_MATCHING_WITH_OTP = FALSE来回退到“使用Authenticator批准/拒绝”推送通知。为了使NPS扩展继续服务于VPN用户,必须在NPS服务器上创建此注册表项。在NPS服务器上,打开注册表编辑器。转到:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa
创建以下字符串/值对:
名称:OVERRIDE_NUMBER_MATCHING_WITH_OTP
值 = FALSE

在为Azure提供NPS扩展之前,希望对集成的NPS和Azure MFA环境实施双重验证的客户,必须在本地环境中配置和维护单独的MFA服务器。远程桌面网关和Azure多重身份验证服务器使用RADIUS提供这种类型的身份验证。通过用于Azure的NPS扩展,组织可以通过部署基于本地的MFA解决方案或基于云的MFA解决方案,保护RADIUS客户端身份验证。

身份验证流

用户在连接到VPN服务器上的虚拟端口时,必须先使用多种协议进行身份验证。协议允许使用用户名和密码的组合和基于证书的身份验证方法。除了进行身份验证和验证标识外,用户还必须具有适当的拨入权限。在简单实现中,可直接在Active Directory用户对象上设置允许访问的拨入权限。

在简单实现中,每个VPN服务器将根据每个本地VPN服务器上定义的策略授予或拒绝访问。在更大和更具缩放性的实现中,授予或拒绝VPN访问的策略集中在RADIUS服务器上。在这种情况下,VPN服务器充当向RADIUS服务器转发连接请求和帐户消息的访问服务器(RADIUS客户端)。要连接到VPN服务器上的虚拟端口,用户必须进行身份验证,并满足RADIUS服务器上集中定义的条件。

当Azure的NPS扩展与NPS集成时,成功的身份验证流结果如下:

  1. VPN服务器从包含用户名和密码的VPN用户接收身份验证请求,用于连接到资源,如远程桌面会话。
  2. 作为RADIUS客户端,VPN服务器将请求转换为RADIUS“访问请求”消息,并将其(密码已加密)发送到安装了NPS扩展的RADIUS服务器。
  3. 用户名和密码组合在Active Directory中进行验证。如果用户名或密码不正确,RADIUS服务器将发送“访问被拒”消息。
  4. 如果满足NPS连接请求和网络策略中的条件(例如一天中的时间或组成员身份限制),NPS扩展将使用Microsoft Entra多重身份验证请求辅助身份验证。
  5. Microsoft Entra多重身份验证与Microsoft Entra ID通信,检索用户的详细信息,并使用用户配置的方法(手机呼叫、短信或移动应用)来执行辅助身份验证。
  6. 当MFA质询成功时,Microsoft Entra多重身份验证会将结果传递给NPS扩展。
  7. 对连接尝试进行身份验证和授权之后,在其上安装了扩展的NPS会将RADIUS“访问接受”消息发送到VPN服务器(RADIUS客户端)。
  8. 用户被授予对VPN服务器上虚拟端口的访问权限,并建立加密的VPN隧道。

先决条件

此部分详细介绍在可用将MFA与VPN集成之前必须完成的先决条件。开始集成之前,必须具备以下先决条件:

  • VPN基础结构
  • 网络策略和访问服务角色
  • Microsoft Entra多重身份验证许可证
  • Windows Server软件
  • 与本地Active Directory同步的Microsoft Entra ID
  • Microsoft Entra GUID ID

VPN基础结构

本文假定你具有一个使用Microsoft Windows Server 2016的工作VPN基础结构,并假定目前还没有配置VPN服务器来将连接请求转发到RADIUS服务器。在本文中,要配置VPN基础结构,以使用中央RADIUS服务器。如果没有正常运行的VPN基础结构,可以按照许多VPN设置教程中的指导快速创建一个,这些教程可在Microsoft和第三方站点上找到。

网络策略和访问服务角色

网络策略和访问服务提供RADIUS服务器和客户端功能。本文假设已在环境中的成员服务器或域控制器上安装网络策略和访问服务角色。在本指南中,要配置RADIUS以实现VPN配置。在服务器上而非VPN服务器上,安装网络策略和访问服务角色。

有关安装网络策略和访问服务角色服务Windows Server 2012或更高版本的详细信息,请参阅安装NAP健康策略服务器。Windows Server 2016已弃用NAP。有关NPS最佳实践的说明,包括在域控制器上安装NPS的建议,请参阅NPS最佳实践。

Windows Server软件

NPS扩展要求使用Windows Server 2008 R2 SP1或更高版本,且需安装网络策略和访问服务角色。本指南中的所有步骤均使用Windows Server 2016执行。

以下库会自动随NPS扩展一同安装:

  • Visual C++ Redistributable Packages for Visual Studio 2013 (X64)

如果Microsoft Graph PowerShell模块尚不存在,则它随在安装过程中运行的配置脚本一起安装。无需提前安装Graph PowerShell。

与本地Active Directory同步的Microsoft Entra ID

要使用NPS扩展,本地用户必须与Microsoft Entra ID同步并启用MFA。本指南假定本地用户通过Microsoft Entra Connect与Microsoft Entra ID同步。以下部分提供了有关为用户启用MFA的说明。

有关Microsoft Entra Connect的信息,请参阅将本地目录与Microsoft Entra ID集成。

Microsoft Entra GUID ID

要安装NPS扩展,你需要知道Microsoft Entra ID的GUID。下一节中提供了有关查找Microsoft Entra ID的GUID的说明。

为VPN连接配置RADIUS

如果在成员服务器上安装了NPS角色,则需要将其配置为对请求VPN连接的VPN客户端进行身份验证和授权。本部分假定你安装了网络策略和访问服务角色,但尚未将其配置为在基础结构中使用。

注意:如果你已经有使用集中式RADIUS服务器进行身份验证的工作VPN服务器,则可以跳过本部分内容。

在Active Directory中注册服务器

要在这种情况下正常工作,需要在Active Directory中注册NPS服务器。

  1. 打开服务器管理器。
  2. 在“服务器管理器”中,依次选择“工具”和“网络策略服务器”。
  3. 在“网络策略服务器”控制台中,右键单击“NPS(本地)”,然后选择“在Active Directory中注册服务器”。选择两次“确定”。

  1. 使控制台保持打开状态以进行下一个过程。

使用向导来配置RADIUS服务器

你可以使用标准(基于向导的)或高级配置选项来配置RADIUS服务器。本部分假设正在使用基于向导的标准配置选项。

  1. 在“网络策略服务器”控制台中,选择“NPS(本地)”。
  2. 在“标准配置”下,选择“用于拨号或VPN连接的RADIUS服务器”,然后选择“配置VPN或拨号”。
  3. 在“选择拨号或虚拟专用网络连接类型”窗口中,选择“虚拟专用网络连接”,然后选择“下一步”。
  4. 在“指定拨号或VPN服务器”窗口中,选择“添加”。
  5. 在“新建RADIUS客户端”窗口中,提供一个友好名称,输入VPN服务器的可解析名称或IP地址,然后输入一个共享密钥密码。将此共享密钥密码设置为复杂的长密码。请将其记录下来,因为下一个部分中会用到。
  6. 选择“确定”,然后选择“下一步”。
  7. 在“配置身份验证方法”窗口中,接受默认选择(“Microsoft加密身份验证版本2 [MS-CHAPv2]”),或者选择另一个选项,然后选择“下一步”。

注意:如果配置可扩展的身份验证协议(EAP),则必须使用质询握手身份验证协议(CHAPv2)或受保护的可扩展身份验证协议(PEAP)。不支持任何其他EAP。

  1. 在“指定用户组”窗口中,选择“添加”,然后选择相应的组。如果没有组,将此选项保留为空,以授予所有用户访问权限。
  2. 选择“完成”。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号