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

上次更新日期:2020 年 11 月 11 日

如何使用 Okta 以及我的用于 Microsoft Active Directory 的 AWS Directory Service 为最终用户连接至 AWS 客户端 VPN 终端节点提供 Multi-Factor Authentication (MFA)?

简短描述

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

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

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

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

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

解决方法

注意:以下任务必须由 IT 管理员完成,但最后一部分必须由最终用户完成。

创建并配置 AWS Managed Microsoft AD

1.    创建 AWS Managed Microsoft AD 目录

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

此实例用于在 AWS Managed Microsoft AD 中安装服务,以及在 AWS Managed Microsoft AD 中管理用户和组。在启动实例时,确保该实例与 AWS Managed Microsoft AD 相关联。此外,请务必添加带有“AmazonssmManagEdinstanceCore” 和 “AmazonssmDirectoryServiceacces”策略的 AWS Identity and Access Management (IAM) 角色。

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

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

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

接下来,创建 Microsoft AD 用户Microsoft AD 组。然后,将您的用户添加到相应的 Microsoft AD 组

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

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

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

注意:在配置客户端 VPN 授权规则时,您需要 SID 对此组中的 Microsoft 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 应用程序。确保该实例与 AWS Managed Microsoft AD 相关联,具有正确的 IAM 角色,而且可以访问互联网。

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

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

要安装 Okta RADIUS Server Agent:

  • 提供 RADIUS 共享密钥和 RADIUS 端口。确保记录这些值,因为您将在稍后使用它们启用您的 AWS Managed Microsoft AD 上的 MFA。
  • (可选)若适用,配置 RADIUS Agent 代理。
  • 要使用您的域注册此代理,输入您注册到 Okta 的自定义域。
sub-domain: company_name 
(from https:// <company_name>.okta.com)
  • 在通过身份验证以后,您会看到允许访问 Okta RADIUS Agent 的提示。选择Allow(允许)以完成安装流程。

要安装 Okta AD Agent Installer

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

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

将 AD 用户从您的 AWS Managed Microsoft AD 导入到 Okta

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

2.    在 Okta 的顶部导航栏中,选择 Directory(目录),然后再选择 Directory Integrations(目录集成)。

3.    选择您的 AWS Managed Microsoft AD,然后激活该目录。在目录被激活以后,选择 Import(导入)、Import Now(现在导入)、Full Import(完全导入)。

4.    选择要从 AWS Managed Microsoft AD 导入到 Okta 的 Microsoft AD 用户和组。

5.    选择 Confirm Assignments(确认任务),然后选择 Auto-activate users after confirmation(确认后自动激活用户)。

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

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

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

2.    在 Sign-On Options(登录选项)下,确保 Okta performs primary authentication(Okta 执行主要的身份验证)未被选中。针对 UDP 端口,选择您在安装 Okta Radius Server Agent 期间选定的端口。针对密钥,选择您在安装 Okta Radius Server Agent 期间选定的密钥。

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

4.    将 Radius 应用程序分配给您的 Microsoft AD 用户和组。选择 Assign(分配)。选择 Assign to People(分配给人员)或 Assign to Groups(分配给组)(具体取决于您的使用案例)。选择全部所需 Microsoft AD 用户或组的名称。选择 Done(完成)。

为您的用户启用 MFA

1.    在您的 Okta 主页上,选择Security(安全性)、Multifactor(多重因素)、Factor Types(因素类型)。

2.    针对 Okta Verify,选择 Okta Verify with Push(Okta Verify 推送)。

3.    选择 Factor Enrollment(因素注册),然后选择 Add Rule(添加规则)。

4.    要将此 MFA 规则分配给 Radius 应用程序,选择 Applications(应用程序)、Radius Application(Radius 应用程序)、Sign On Policy(登录策略)、Add Rule(添加规则)。

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

修改安全组配置

1.    登录 AWS 管理控制台

2.    选择安全组

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

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

启用您的 AWS Microsoft Managed AD 上的 MFA

1.    打开 AWS Directory Service 控制台

2.    选择 Directory Service(目录服务),然后再选择Directories(目录)。

2.    选择您的目录。

3.    在 Networking & security(网络与安全性)下方,选择 Multi-Factor Authentication(多因素认证)。然后,依次选择 Actions(操作)、Enable(启用)。

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 的 Microsoft AD 创建客户端 VPN 终端节点

2.    下载新的客户端配置文件,并将其分发给您的最终用户。
注意:您可以通过 AWS 管理控制台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.    按照提供的说明设置 MFA。

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

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

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


这篇文章对您有帮助吗?


您是否需要账单或技术支持?