如何使用 Okta 和 AWS Managed Microsoft AD 为最终用户连接至 AWS 客户端 VPN 终端节点提供 Multi-Factor Authentication?

上次更新时间:2020 年 4 月 8 日

如何使用 Okta 和我的 AWS Managed Microsoft AD 目录为最终用户连接至 AWS 客户端 VPN 终端节点提供 Multi-Factor Authentication (MFA)?

简短描述

AWS 客户端 VPN 支持以下类型的最终用户身份验证:

  • 双向身份验证
  • Active Directory (AD) 身份验证
  • 双重身份验证(双向 + 基于 AD 的身份验证)

必须启用 AD 上的 MFA 服务(而不是直接在客户端 VPN 上)。确保您的 AD 类型支持 MFA。新的和现有客户端 VPN 都支持 MFA 功能。

要为使用 Duo 连接至客户端 VPN 终端节点的最终用户设置 MFA:

  • 首先,执行 IT 管理员配置任务以设置所需的服务。
  • 然后,要求每个最终用户完成最终用户配置任务,以便建立其连接至客户端 VPN 终端节点的安全连接。

解决方法

IT 管理员配置任务:

创建并配置 AWS Managed Microsoft AD

1.    创建 AWS Managed Microsoft AD 目录

2.    将 Windows EC2 实例添加到 AWS Managed Microsoft AD 目录

这个实例将被用于在 AD 中安装服务,并对其中的用户和组进行管理。在启动实例时,确保该实例与 AD 相关联。另外,确保添加 IAM 角色,并且附加 "AmazonEC2RoleforSSM" 角色。

3.    安装 AD 服务,然后配置 AD 用户和组。

首先,登录至(或通过远程桌面连接连接至)您在第 2 步中使用以下命令创建的实例。确保将 <Your Admin password> 替换为您在第 1 步中为 AD 创建的管理员密码。

User name: Admin@ad_DNS_name
Password: <Your Admin password> 

然后,(在管理员模式中)使用 PowerShell 安装以下服务:

install-windowsfeature rsat-ad-tools, rsat-ad-admincenter, gpmc, rsat-dns-server -confirm:$false

接着创建 AD 用户AD 组。再然后,将您的用户添加到适当的 AD 组

注意:这些 AD 用户就是会连接至客户端 VPN 服务的相同最终用户。因此,在 AD 中创建用户时,确保提供名字与姓氏。否则,Okta 可能无法从 AD 导入用户。

最后,使用以下命令为您的 AD 组获取 SID。确保使用您的 AD 组名称替换 <Your-AD-group-name>

Get-ADGroup -Identity <Your-AD-group-name>

注意:在配置客户端 VPN 授权规则时,您需要 SID 对此组中的 AD 用户进行授权。

安装和配置 Okta

1.    使用您的工作电子邮件地址注册 Okta 账户。您将收到一封授权电子邮件,其中包含以下详细信息:

Okta organization name

Okta homepage URL

Username (Admin_email) 

Temporary Password

2.    使用您的 Okta 主页 URL 登录,然后更改临时密码。

3.    在 IT 管理员的移动设备上安装 Okta Verify。按照应用程序内的提示验证您的身份。

4.    启动另一个 EC2 Windows 实例。这个实例将被用于配置与管理 Okta Radius 应用程序。确保该实例与 AD 相关联,具有正确的 IAM 角色,而且可以访问互联网。

5.    通过远程桌面连接至实例。然后,使用第 1 步中的凭证登录至 Okta (https:// <company_name>.okta.com)。

6.    选择设置,然后选择下载。接下来在您的实例上下载 Okta Radius Server Agent AD Agent Installer

要安装 Okta RADIUS Server Agent

  • 提供 RADIUS 共享密钥和 RADIUS 端口。确保记录这些值,因为您将在稍后使用它们启用您的 AD 上的 MFA。
  • (可选)若适用,配置 RADIUS Agent 代理。
  • 要使用您的域注册此代理,输入您注册到 Okta 的自定义域。
sub-domain: company_name 
(from https:// <company_name>.okta.com)

在通过身份验证以后,您会看到允许访问 Okta RADIUS Agent 的提示。选择允许以完成安装流程。

要安装 Okta AD Agent Installer

  • 选择您计划使用此代理进行管理的域。确保使用的域和 AD 的域相同。
  • 在您的 AD 中选择一个用户(或创建新用户)。确保此用户是您的 AD 中管理员组的一部分。Okta AD 代理将以此用户的身份运行。
  • 在输入凭证以后,您会看到身份验证与继续安装 AD 代理的提示。
  • (可选)若适用,配置 RADIUS Agent 代理。
  • 要使用您的域注册此代理,输入您注册到 Okta 的自定义域。
sub-domain: company_name 
(from https:// <company_name>.okta.com)

7.    在相同的 Windows EC2 实例中,选择服务。然后,验证 Okta Radius Server Agent AD Agent Installer 都已安装,而且处于正在运行状态。

从您的 AD 将 AD 用户导入到 Okta

使用您的 Okta 主页 URL 和凭证登录至您的 Okta 账户:

1.    在 Okta 的顶部导航栏中,选择目录,然后再选择目录集成

2.    选择您的 AD,然后激活该目录。在目录被激活以后,选择导入现在导入完全导入

3.    选择您想要从您的 AD 导入到 Okta 的 AD 用户和组。

4.    选择确认任务,然后选择确认后自动激活用户

5.    在您的目录的人员下方验证您的导入用户的状态。您的用户应全部处于活跃状态。如果不是,选择每个用户并手动激活。

安装 Radius 应用程序,并将其分配给您的 AD 用户

1.    在您的 Okta 主页上,选择应用程序中的添加应用程序。搜索 Radius 应用程序,然后选择添加

2.    在登录选项下方:

  • 确保 Okta 执行主要的身份验证未被选中。
  • 针对 UDP 端口,选择您在安装 Okta Radius Server Agent 期间选定的端口。
  • 针对密钥,选择您在安装 Okta Radius Server Agent 期间选定的密钥。

3.    对于应用程序用户名格式,选择 AD SAM 账户名称

4.    将 Radius 应用程序分配给您的 AD 用户和组:

  • 选择分配
  • 选择分配给人员分配给组(具体取决于您的使用案例)。
  • 选择全部所需 AD 用户或组的名称。
  • 选择完成

为您的用户启用 MFA

1.    在您的 Okta 主页上,选择安全性多重因素因素类型

2.    针对 Okta Verify,选择 Okta Verify 推送

3.    选择因素注册,然后选择添加规则

4.    要将此 MFA 规则分配给 Radius 应用程序,选择应用程序Radius 应用程序登录策略添加规则

5.    在条件下方,确认将规则应用到分配给此应用程序的用户。对于操作,选择因素提示

修改安全组配置

1.    登录 AWS 管理控制台

2.    选择安全组

3.    为目录控制器选择安全组。

4.    为 AD 的安全组选择出站规则,以允许您的 Radius Server 目标 IP(私有 IP)的 UDP 1812(或 Radius 服务端口)。或者如果您的使用案例允许,您可以允许所有流量。

启用您的 AWS Microsoft Managed AD 上的 MFA

1.    选择目录服务,然后再选择目录

2.    选择您的目录。

3.    在网络与安全性下方,选择 Multi-Factor Authentication。然后,依次选择操作启用

4.    指定以下各项:

  • RADIUS 服务器 DNS 名称或 IP 地址:输入 EC2 Radius 实例的私有 IP 地址。
  • 端口:输入您在安装 Okta Radius Server Agent 期间选定的端口。
  • 共享密钥代码:选择您在安装 Okta Radius Server Agent 期间选定的密钥。
  • 协议:选择 PAP
  • 服务器超时:设置所需值。
  • RADIUS 请求最大重试次数:设置所需值。

创建客户端 VPN 终端节点

1.    在设置 AWS Microsoft Managed AD 和 MFA 以后,使用已启用 MFA 的 AD 创建客户端 VPN 终端节点

2.    下载新的客户端配置文件,并将其分发给您的最终用户。注意:您可以从 AWS 管理控制台AWS CLI,或通过 API 命令下载客户端配置文件。

3.    确认客户端配置文件包含以下参数:

auth-user-pass
static-challenge "Enter MFA code " 1   

注意:如果您使用双重身份验证(如双向身份验证 + 基于 AD 的身份验证),还要确保添加客户端 <cert><key> 到配置文件。

最终用户配置任务:

1.    确保 Okta Verify 移动应用程序已安装到您的移动设备上。

2.    使用以下凭证登录 Okta 主页:

OKTA homepage URL: https:// <company_name>.okta.com
Username: End user's AD name
Password: End user's AD password

3.    按照提供的说明设置 Multi-Factor Authentication。

4.    安装适用于桌面的 AWS 客户端 VPN 工具。
注意:您还可以使用任何其他标准的基于 OpenVPN 的客户端工具连接至客户端 VPN 终端节点。

5.    使用由您的 IT 管理员提供的客户端配置文件创建配置文件。

6.    要连接到客户端 VPN 终端节点,在弹出提示时输入您的 AD 用户凭证。然后输入由您的 Okta Verify 应用程序生成的 MFA 代码。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?