如何为 VPN 登录和 RADIUS 支持的终端登录启用 MFA
ADSelfService Plus 的终端 MFA 为使用 RADIUS 认证的 VPN 和终端登录增加了一个额外的认证步骤(如 Microsoft 远程桌面网关和 VMware Horizon View 等),以增强安全性。
ADSelfService Plus 需要在 VPN 和终端中使用 Windows 网络策略服务器 (NPS)。它随附一个 NPS 扩展,应该安装在 NPS 服务器上。此扩展便于 NPS 服务器和 ADSelfService Plus 在 VPN 和终端登录期间的 MFA 通信。
工作原理:
一旦将 VPN 或终端 (Microsoft RD Gateway、VMware Horizon View 等) 服务器配置为使用 RADIUS 身份验证,并在 RADIUS 服务器上安装了 NPS 扩展,身份验证过程将如下工作:
- 用户尝试通过向 VPN 或终端服务器提供他们的用户名和密码来建立连接。
- 服务器将请求转换为 RADIUS 访问请求消息,并将其发送到安装了 ADSelfService Plus NPS 扩展的 NPS 服务器。
- 如果用户名和密码组合正确,NPS 扩展将在 ADSelfService Plus 服务器上触发第二因素身份验证的请求。
- ADSelfService Plus 执行二次身份验证,并将结果发送到 NPS 服务器中的 NPS 扩展。
- 如果身份验证成功,NPS 服务器会向 VPN 或终端服务器发送 RADIUS 访问接受消息。
- 用户获取访问 VPN 或终端服务器的权限,并建立到内部网络的加密隧道。
配置 VPN 和支持 RADIUS 的终端的 MFA
先决条件:
- ADSelfService Plus 的专业版许可证。
- 将 VPN 或终端服务器配置为使用 RADIUS 身份验证。
- 对于 RADIUS 服务器,您必须使用启用了 NPS 角色的 Windows 服务器 (Windows Server 2008 R2 及以上版本)。
- 在 ADSelfService Plus 中启用 HTTPS (Admin → Product Settings → Connection)。
注意:如果您使用不受信任的证书在 ADSelfService Plus 中启用 HTTPS,则必须在 Configuration → Administrative Tools → GINA/Mac/Linux (Ctrl+Alt+Del) →GINA/Mac/Linux Customization → Advanced 中禁用 Restrict user access when there is an invalid SSL certificate option。
- 在 Active Directory 中,将用户的 Network Access Permission 设置为在其 Dial-in properties 中使用 Control access through NPS Network Policy。
- 您在 Admin → Product Settings → Connection → Configure Access URL 中配置的 访问 URL 将被 NPS 扩展用于与 ADSelfService Plus 服务器进行通信。确保在安装 NPS 扩展之前已经更新了 访问 URL。
- 在安装 NPS 扩展的 Windows NPS 服务器中,将 连接请求策略的 认证设置为 Authenticate requests on this server。
步骤 1:启用所需的身份验证器
- 以管理员身份登录 ADSelfService Plus。
- 进入 Configuration → Self-Service → Multi-Factor Authentication → Authenticators
支持终端 VPN MFA 的身份验证器可以分类为,
- 单向身份验证器
这些身份验证器默认适用于所有提供 RADIUS 身份验证的终端。
注意:
- 当您启用推送通知或指纹/面部识别身份验证时,请确保ADSelfService Plus服务器可以通过互联网从用户的移动设备访问。
- 在VPN服务器的RADIUS身份验证配置设置中,RADIUS身份验证超时时间应设置为至少60秒。
- 基于挑战的认证器
- ADSelfService Plus TOTP身份验证
- Google身份验证器
- Microsoft身份验证器
- Yubico OTP(硬件密钥认证)
基于挑战的认证器仅在以下情况下适用:
- PAP被配置为RADIUS身份验证方法。
- RADIUS客户端(VPN或终端服务器)支持挑战响应,即它有办法向用户提示挑战(验证码)并发回输入的挑战。
注意:
- 当使用基于挑战的认证器时,网络策略中配置的RADIUS属性将不会转发到RADIUS客户端(VPN或终端服务器)。因此,VPN客户端可能会有比您希望的更多访问权限,或者更少访问权限,或者没有访问权限。
点击相应的链接了解如何启用这些身份验证方法。
步骤2:在ADSelfService Plus中为VPN登录启用MFA
- 进入终端的MFA。
- 从选择策略下拉菜单中选择一个策略。此策略将决定为哪些用户启用VPN和终端登录的MFA。要了解更多关于创建基于OU或组策略的信息,点击这里。
- 在VPN登录的MFA部分,选择选择所需的认证方法旁边的复选框。选择要强制执行的身份验证因素的数量。选择要使用的身份验证方法。列出的身份验证方法也可以通过拖放重新排列到所需的位置。
- 点击保存设置。
步骤3:安装NPS扩展
- 进入终端的MFA。
- 使用备注部分提供的链接下载NPS扩展。
- 将扩展文件(ADSSPNPSExtension.zip)复制到您配置为RADIUS服务器的Windows服务器上。提取ZIP文件的内容并保存在一个位置。
- 以管理员身份打开Windows PowerShell,并导航到扩展文件内容所在的文件夹。
- 执行以下命令:
PS C:\> .\setupNpsExtension.ps1 Install
注意:如果需要卸载NPS扩展插件或更新到较新的版本和配置数据,请分别输入Uninstall和Updated而不是Install。
- 安装后,将提示您重新启动NPS Windows服务。请继续重新启动。
高级设置
请参阅高级设置以配置VPN MFA会话限制,以及在ADSelfService Plus不可达或用户未注册时绕过MFA的选项。
自定义VPN和支持RADIUS的终端的MFA配置
您可以根据组织的需求自定义MFA配置。为此,
- 打开注册表编辑器(在运行对话框中输入regedit)。
HKEY_LOCAL_MACHINE\SOFTWARE\ZOHO Corp\ADSelfService Plus NPS Extension.
注意:
- 在编辑注册表项之前,先备份它。
- 仅计算机中的内置管理员组有权限编辑此项。
- 您可以根据组织需求自定义以下属性:
- ServerName:填写ADSelfService Plus Web服务器的主机名或IP地址。
- ServerPortNo:填写ADSelfService Plus Web服务器的TCP端口号。
- ServerContextPath:填写Web服务器上下文(如果更改过)
- MfaStatus:根据是否需要强制执行MFA设置为true或false。
- ServerSSLValidation:此项可以设置为true或false。若设置为true,它将在从NPS扩展到ADSelfService Plus服务器建立HTTPS连接时验证SSL证书和主机名。出于安全考虑,建议将此属性始终设置为true。
- BypassMFAOnConnectionError(可选):根据在身份验证期间存在任何连接问题时是否可以绕过MFA,设置此属性为true或false。
- CRPolicies(可选):此属性可用于仅对符合这些连接请求策略的用户强制执行MFA。输入连接请求策略的名称,如果需要提到多个策略,用分号(;)分隔策略名称。
- NetworkPolicies(可选):此属性可用于仅对符合这些网络策略的用户强制执行MFA。输入网络策略的名称,如果需要提到多个策略,用分号(;)分隔策略名称。
注意: 当同时配置了CRPolicies和NetworkPolicies时,只有在RADIUS请求的CRPolicies和NetworkPolicies与配置的策略匹配时,才会考虑进行MFA。如果未配置策略,将对发送到NPS服务器的所有成功RADIUS请求强制执行MFA。
- LogLevel(可选):此属性可用于确定记录的信息的复杂程度。默认情况下,属性将设置为Normal,可以更改为Debug以额外记录有助于调试的详细信息。建议将此属性设置为Normal。
- 点击确定。