Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
如何将 Duo 与 AWS 托管 Microsoft AD 结合使用,为连接到 Client VPN 端点的最终用户提供多重身份验证?
我想将 Duo 与 AWS Directory Service for Microsoft Active Directory 结合使用。我想为连接到 AWS Client VPN 端点的最终用户提供多重身份验证(MFA)。
简短描述
Client VPN 支持以下类型的最终用户身份验证:
- 相互身份验证
- Active Directory 身份验证
- 双重身份验证(相互身份验证和 Active Directory 身份验证)
最新版本的 Duo 利用作为双重身份验证发送给最终用户的推送通知。传统的 Duo 实施要求最终用户使用 Duo 移动应用程序生成多重身份验证(MFA)代码。您接着可以将此代码用于 Client VPN。
您必须在 Active Directory 上启用 MFA 服务,但不能直接在 Client VPN 上打开。
**注意:**您的 Active Directory 类型必须支持 MFA。新的和现有的 Client VPN 都支持 MFA 功能。
解决方法
创建和配置 AWS 托管 Microsoft AD
-
将 Amazon Elastic Compute Cloud(Amazon EC2)Windows 实例加入 AWS 托管 Microsoft AD 目录。此实例会在 Active Directory 中安装服务并管理用户和组。该实例必须与 Active Directory 关联。您必须添加一个附加有“AmazonEC2RoleforSSM”策略的 AWS Identity and Access Management(IAM)角色。
-
运行以下命令登录 Amazon EC2 实例。
Username: Admin@ad_DNS_name Password: <Your Admin password>
**注意:**请将 Your Admin password 替换为您为 Active Directory 创建的管理员密码。
-
在管理员模式下,使用 PowerShell 安装以下服务:
install-windowsfeature rsat-ad-tools, rsat-ad-admincenter, gpmc, rsat-dns-server -confirm:$false
-
创建 Active Directory 用户和 Active Directory 组,然后将这些用户添加到相应的 Active Directory 组中。
**注意:**这些 Active Directory 用户是将连接到 Client VPN 端点的最终用户。 -
运行以下命令以检索 Active Directory 组的 SID。将 Your-AD-group-name 替换为您的 Active Directory 组名。
Get-ADGroup -Identity <Your-AD-group-name>
**注意:**配置 Client VPN 授权规则时,需要 SID 才能授权此组的 Active Directory 用户。
安装和配置 Duo
- 注册(Duo 网站)或登录 Duo。
- 在您的移动设备上安装 Duo 应用程序。按照说明对您的 Duo 账户进行身份验证。
- 在您的 Duo Web 账户中,从左侧的导航窗格中选择应用程序。
- 在搜索字段中,输入 RADIUS 并选择保护。
- 在导航窗格中,选择用户,然后选择添加用户。对于用户名,输入最终用户的名称。名称必须与 Active Directory 用户的名称匹配。这些名称还必须与您的最终用户对其与 Client VPN 端点的连接进行身份验证时使用的用户名匹配
- 选择每个用户,然后添加其电话号码。最终用户将通过您在此处输入的号码接收 MFA 代码。
- 对于每位用户,选择激活 Duo Mobile,然后选择生成 Duo Mobile 激活码。有两种方法可用于通知用户其激活链接。您可以选择通过短信发送说明,以通过电子邮件将激活链接发送给每位最终用户。或者,您也可以选择跳过此步骤。然后,为每个最终用户复制激活链接,并手动将链接发送给每个用户。
- 启动 EC2 Windows 实例。使用此实例来配置和管理 Duo Radius 应用程序。该实例必须与 Active Directory 关联。该实例还必须具有正确的 IAM 角色和互联网访问权限。验证该实例的安全组、网络访问控制列表和路由表
- 登录 EC2 实例,以管理 Duo Radius 应用程序。接着,安装适用于 Windows 的身份验证代理(Duo 网站)。
- 导航到 C:\Program Files (x86)\Duo Security Authentication Proxy\conf\authproxy.cfg 处的“authproxy.cfg”配置文件。
- 编辑配置文件。以下是该文件的示例:
[duo_only_client] [radius_server_auto] ikey=XXX skey=YYY api_host=api-ZZZ.duosecurity.com radius_ip_1=<AD-DNS-address#1> radius_secret_1=<My-password> radius_ip_2=<AD-DNS-address#2> radius_secret_2=<My-password> failmode=safe client=duo_only_client port=1812
要查找 ikey(集成密钥)、skey(密钥)和 api_host(您的 Duo 的 API 主机名)的值,请完成以下步骤:
- 在 Duo 网站上登录您的 Duo Web 账户。
- 依次选择控制面板、应用程序、Radius。
- 请参阅详细信息下的值。
要查找 radius_ip_1 和 radius_ip_2 的值,请完成以下步骤:
- 登录 AWS 管理控制台。
- 选择目录服务,然后选择目录。
- 选择您的 Active Directory。
- 在详细信息下,查看 DNS 地址部分中的 address_ip#1 和 address_ip#2。
注意: 如果您使用 AWS AD_connector,则 address_ip#1 和 address_ip#2 是您的 AD_connector 的 IP。
(可选)完成以下步骤:
- 设置您的 radius_secret_key。
- 更改端口。
修改安全组配置
- 登录 AWS 管理控制台。
- 选择安全组。
- 为目录控制器选择安全组。
- 编辑 Active Directory 安全组的出站规则。将规则设为允许将 UDP 1812(或 Radius 服务端口)作为您的 Radius 服务器的目标 IP 地址(私有 IP)。或者,如果您的用例允许,则允许所有流量。
确认 Duo 身份验证服务正在运行
- 登录 Radius EC2 Windows 实例。
- 在服务下,找到 Duo 安全身份验证代理服务。如果该服务未处于正在运行状态,则选择启动服务。
在 AWS 托管 Microsoft AD 上启用 MFA
- 登录 AWS 管理控制台。
- 选择目录服务,然后选择目录。
- 选择您的 Active Directory。
- 在网络和安全性下,选择多重身份验证。接着,选择操作,然后选择启用。
- 输入下列信息:
对于 RADIUS 服务器 DNS 名称或 IP 地址,输入 EC2 Windows 实例的私有 IP 地址。
对于端口,输入在“authproxy.cfg”文件中指定的端口。
对于共享密码,输入“authproxy.cfg”文件中的 radius_secret_key 值。
对于协议,选择 PAP。
对于服务器超时,输入一个值。
对于最大 RADIUS 请求重试次数,输入一个值。
创建 Client VPN 端点
- 设置 AWS 托管 Windows AD 和 MFA 后,创建 Client VPN 端点。使用启用 MFA 的 Active Directory。
- 下载新的客户端配置文件并将其分发给您的最终用户。
**注意:**您可以从 AWS 管理控制台、AWS 命令行界面(AWS CLI)或 API 命令下载客户端配置文件。 - 确认客户端配置文件包含以下参数:
auth-user-pass static-challenge "Enter MFA code " 1
**注意:**如果您使用双重身份验证(例如,相互身份验证 + Active Directory 身份验证),则添加客户端 <cert> 和 <key> 到配置文件。
配置最终用户设备
- 在最终用户设备上,按照激活链接在移动设备上安装 Duo 应用程序。
- 安装 Client VPN for Desktop 工具。
**注意:**您也可以使用任何基于 OpenVPN 的标准客户端工具连接到 Client VPN 端点。 - 使用客户端配置文件创建配置文件。
- 连接到适用于您的 Duo 版本的 Client VPN 端点:
传统 Duo 版本
输入您的 Active Directory 用户凭证。然后,将 Duo 应用程序生成的 MFA 代码输入到 Client VPN 中。Duo 会验证此 MFA 代码。
注意:根据 Client VPN 版本和您使用的操作系统,此字段可以是响应,而不是输入 MFA 代码。
现代 Duo 版本
输入您的 Active Directory 用户凭证。Duo 的第二个因素身份验证不考虑 Client VPN MFA 字段。在这种情况下,Duo 依赖移动通知推送作为身份验证的第二个因素。
**注意:**使用随机字符填充 Client VPN MFA 字段。这样可防止身份验证因字段空白而失败。

相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前