通过为敏感应用程序增加多重身份验证来管理风险

本指南包含的内容

本指南提供以下信息:

  • AD FS 中的身份验证机制 - Windows Server 2012 R2 中 Active Directory 联合身份验证服务(AD FS)中提供的身份验证机制的说明

  • 方案概述 - 使用 Active Directory 联合身份验证服务(AD FS)基于用户的组成员身份启用多重身份验证(MFA)的方案的说明。

    注释

    在 Windows Server 2012 R2 中的 AD FS 中,可以根据网络位置、设备标识和用户标识或组成员身份启用 MFA。

    有关配置和验证此方案的详细分步演练说明,请参阅 演练指南:使用敏感应用程序的其他多重身份验证管理风险

关键概念 - AD FS 中的身份验证机制

AD FS 中的身份验证机制的优点

Windows Server 2012 R2 中的 Active Directory 联合身份验证服务(AD FS)为 IT 管理员提供了更丰富、更灵活的工具集,用于对想要访问公司资源的用户进行身份验证。 它使管理员能够灵活控制主要身份验证方法和其他身份验证方法,为配置身份验证策略(通过用户界面和 Windows PowerShell)提供丰富的管理体验,并增强最终用户访问 AD FS 保护的应用程序和服务的体验。 以下是在 Windows Server 2012 R2 中使用 AD FS 保护应用程序和服务的一些好处:

  • 全局身份验证策略 - 一种中央管理功能,IT 管理员可以从中根据访问受保护资源的网络位置选择哪些身份验证方法对用户进行身份验证。 这使管理员能够执行以下作:

    • 强制要求使用更安全的身份验证方法以处理来自外网的访问请求。

    • 启用设备身份验证以实现无缝的第二重身份验证。 这会将用户的标识与用于访问资源的已注册设备联系在一起,从而在访问受保护资源之前提供更安全的复合标识验证。

      注释

      有关设备对象、Device Registration Service、工作区加入、用作无缝双重身份验证的设备以及 SSO 的详细信息,请参阅跨公司应用程序从任一设备加入工作区以实现 SSO 和无缝双重身份验证

    • 为所有 Extranet 访问设置 MFA 要求,或根据用户的标识、网络位置或用于访问受保护资源的设备有条件地设置 MFA 要求。

  • 更灵活地配置身份验证策略:可以使用不同的业务值为受 AD FS 保护的资源配置自定义身份验证策略。 例如,对于业务影响较高的应用程序,可能需要 MFA。

  • 易于使用:简单直观的管理工具,例如基于 GUI 的 AD FS 管理 MMC 管理单元和 Windows PowerShell cmdlet,使 IT 管理员能够相对轻松地配置身份验证策略。 借助 Windows PowerShell,可以编写解决方案的脚本,以便大规模使用,并自动执行平凡的管理任务。

  • 更好地控制公司资产:由于作为管理员,可以使用 AD FS 配置适用于特定资源的身份验证策略,因此可以更好地控制企业资源的安全方式。 应用程序不能替代 IT 管理员指定的身份验证策略。 对于敏感应用程序和服务,每次访问资源时,都可以启用 MFA 要求、设备身份验证和选择性地全新身份验证。

  • 支持自定义 MFA 提供程序:对于利用第三方 MFA 方法的组织,AD FS 提供无缝合并和使用这些身份验证方法的功能。

身份验证范围

在 Windows Server 2012 R2 中的 AD FS 中,可以在全局范围内指定一个身份验证策略,该策略适用于 AD FS 保护的所有应用程序和服务。 还可以为受 AD FS 保护的特定应用程序和服务(信赖方信任)设置身份验证策略。 为特定应用程序指定身份验证策略(对于依赖方信任关系)不会替代全局身份验证策略。 如果全局或每个信赖方信任身份验证策略都需要 MFA,则当用户尝试向此信赖方信任进行身份验证时,将触发 MFA。 全局身份验证策略是未配置特定身份验证策略的信赖方信任(应用程序和服务)的回退。

全局身份验证策略适用于 AD FS 保护的所有信赖方。 可以将以下设置配置为全局身份验证策略的一部分:

按信赖方信任身份验证策略专门应用到访问该信赖方信任(应用程序或服务)的企图。 可将以下设置配置为按信赖方信任身份验证策略的一部分:

  • 用户是否需要每次登录时提供其凭据

  • 基于用户/组、设备注册和访问请求位置数据的 MFA 设置

主要身份验证方法和其他身份验证方法

借助 Windows Server 2012 R2 中的 AD FS,除了主要身份验证机制之外,管理员还可以配置其他身份验证方法。 主要身份验证方法是内置的,旨在验证用户的标识。 可以配置其他身份验证因素以请求提供有关用户标识的详细信息,从而确保更强的身份验证。

在 Windows Server 2012 R2 中的 AD FS 中进行主要身份验证时,可以选择以下选项:

  • 对于已发布的需要从公司网络外部访问的资源,默认情况下会选择表单身份验证。 此外,还可以启用证书身份验证(换句话说,基于智能卡的身份验证或适用于 AD DS 的用户客户端证书身份验证)。

  • 对于 Intranet 资源,默认情况下会选择 Windows 身份验证。 此外,还可以启用表单或者证书身份验证。

通过选择多个身份验证方法,用户可以选择在应用程序或服务的登录页中进行身份验证的方法。

还可以启用设备身份验证,以实现无缝的双重身份验证。 这会将用户的标识与用于访问资源的已注册设备联系在一起,从而在访问受保护资源之前提供更安全的复合标识验证。

注释

有关设备对象、Device Registration Service、工作区加入、用作无缝双重身份验证的设备以及 SSO 的详细信息,请参阅跨公司应用程序从任一设备加入工作区以实现 SSO 和无缝双重身份验证

如果为 Intranet 资源指定 Windows 身份验证方法(默认选项),身份验证请求将在支持 Windows 身份验证的浏览器上无缝地进行此方法。

注释

所有浏览器都不支持 Windows 身份验证。 Windows Server 2012 R2 中 AD FS 中的身份验证机制检测用户的浏览器用户代理,并使用可配置设置来确定该用户代理是否支持 Windows 身份验证。 管理员可以添加到此用户代理列表(通过 Windows PowerShell Set-AdfsProperties -WIASupportedUserAgents 命令,为支持 Windows 身份验证的浏览器指定备用用户代理字符串。 如果客户端的用户代理不支持 Windows 身份验证,则默认回退方法是 Forms 身份验证。

配置 MFA

在 Windows Server 2012 R2 的 AD FS 中配置 MFA 有两个部分:指定需要 MFA 的条件,并选择其他身份验证方法。 有关其他身份验证方法的详细信息,请参阅 为 AD FS 配置其他身份验证方法

MFA 设置

以下选项可用于 MFA 设置(需要 MFA 的条件):

  • 对于联邦服务器所加入的 AD 域中的特定用户和组,可以要求进行多重身份验证 (MFA)。

  • 可以要求针对已注册(已加入工作区)或者未注册(未加入工作区)的设备使用 MFA。

    Windows Server 2012 R2 采用以用户为中心的方式管理现代设备,其中设备对象表示用户与设备及公司之间的关系。 设备对象是 Windows Server 2012 R2 中 AD 中的一个新类,可用于提供对应用程序和服务的访问时提供复合标识。 AD FS 的新组件 (设备注册服务 (DRS) - 在 Active Directory 中预配设备标识,并在使用者设备上设置证书,用于表示设备标识。 然后,你可以使用此设备标识将设备加入工作区,换而言之,可以将个人设备连接到工作区的 Active Directory。 将个人设备加入工作区时,它将成为已知的设备,将为受保护的资源和应用程序提供无缝的第二重身份验证。 换句话说,在设备加入工作区后,用户的标识将绑定到此设备,并可用于在访问受保护资源之前进行无缝复合标识验证。

    有关工作区加入和离开的详细信息,请参阅 从任何设备加入工作区,以便跨公司应用程序进行 SSO 和无缝二重身份验证

  • 当受保护资源的访问请求来自 Extranet 或 Intranet 时,可能需要 MFA。

场景概述

在这种情境中,您将基于特定应用程序的用户组成员的数据启用 MFA。 换句话说,在您的联合服务器上设置一个身份验证策略,当属于某个特定组的用户请求访问托管在 Web 服务器上的特定应用程序时,要求进行多因素认证(MFA)。

更具体地说,在此方案中,你将为名为 claimapp 的基于声明的测试应用程序启用身份验证策略,因为 AD 用户 Robert Hatley 将需要接受 MFA,因为他属于 AD 组 Finance

有关设置和验证此方案的分步说明,请参阅 演练指南:使用敏感应用程序的其他多重身份验证管理风险。 若要完成本演练中的步骤,必须设置实验室环境,并按照 在 Windows Server 2012 R2中为 AD FS 设置实验室环境的步骤进行作。

在 AD FS 中启用 MFA 的其他方案包括:

  • 如果访问请求来自 Extranet,则启用 MFA。 可以修改《演练指南:使用其他多重身份验证管理敏感应用程序的风险》中“设置 MFA 策略”部分显示的代码如下:

    'c:[type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] => issue(type="https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = "https://schemas.microsoft.com/claims/multipleauthn" );'
    
  • 如果访问请求来自未加入工作区的设备,请启用 MFA。 可以修改《演练指南:使用其他多重身份验证管理敏感应用程序的风险》中“设置 MFA 策略”部分显示的代码如下:

    'NOT EXISTS([type=="https://schemas.microsoft.com/2012/01/devicecontext/claims/registrationid"]) => issue (type="https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = "https://schemas.microsoft.com/claims/multipleauthn");'
    
    
  • 如果访问请求来自某个用户,并且此用户的某个设备已加入工作区但尚未注册到此用户,则启用 MFA。 可以修改《演练指南:使用其他多重身份验证管理敏感应用程序的风险》中“设置 MFA 策略”部分显示的代码如下:

    'c:[type=="https://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser", value == "false"] => issue (type="https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = "https://schemas.microsoft.com/claims/multipleauthn");'
    
    

另请参阅

演练指南:使用适用于敏感应用程序的其他多重身份验证管理风险:在 Windows Server 2012 R2 中为 AD FS 设置实验室环境