在 Exchange 2013 中为 Outlook 无处不在 配置智能卡身份验证

 

适用于:Exchange Server 2013

上一次修改主题:2016-04-26

将用户智能卡与个人标识号 (PIN) 相关联,可以提供一种可靠且具有成本效益的双重身份验证形式。配置双重身份验证后,访问网络资源的用户必须拥有自己的物理智能卡以及与该智能卡相关的 PIN。此智能卡/PIN 组合可以减少对组织的网络资源未经授权的访问。

在可以将智能卡身份验证用于 Outlook 无处不在 之前,您需要确保您的环境满足以下客户端和服务器要求。

  • 运行 Windows 8、Microsoft Office 2010 或 2013 的客户端计算机已加入域,且已安装所有公开可用的更新。

  • Exchange 2013 SP1 或更高版本。

  • 正确安装和配置 PKI 以用于颁发智能卡证书。PKI 必须链接到 Active Directory,并且能够颁发用于智能卡登录的证书。

  • 必须在客户端访问服务器上终止 SSL。不支持在 Microsoft Exchange 前面使用对 SSL 会话预先进行身份验证的网络设备。

  • 所有客户端 Outlook 连接都必须使用 Outlook 无处不在。启用 Outlook 无处不在 的智能卡身份验证后,其他连接(如通过 MAPI HTTP 的 Outlook 连接)将不起作用。

  • 每位用户的物理或 TPM 芯片嵌入虚拟智能卡,包含每位用户的用户证书。对于此功能,您无法使用本地计算机注册表中存储的软件证书。

若要启用智能卡身份验证,请在您的组织中每个客户端访问服务器上执行以下步骤。

  1. 安装具有所有相关名称的证书。请确保客户端和服务器均信任证书的颁发者。

  2. 配置 Outlook 无处不在 以进行内部和外部访问(您可以使用相同的命名空间),并确认 NTLM 身份验证被选为客户端身份验证方法。通过这些设置,验证 Outlook 无处不在 是否连接成功(请参阅Testing Outlook 无处不在 connectivity获取详细信息)。

  3. 确保脱机通讯簿和 Exchange Web 服务虚拟目录的 ExternalURL 配置为使用 HTTPS。

  4. 运行下面的 PowerShell 脚本,以配置虚拟目录。

    <Exchange install drive>:\Program Files\Microsoft\Exchange Server\V14\Scripts\Enable-OutlookCertificateAuthentication.ps1
    
  5. 使用 Netsh 命令行实用程序编辑 IIS。

    1. 从命令或 Powershell 提示符处,输入 netsh

    2. netsh 提示符处,输入 http,然后按 Enter 键。

    3. netsh http 提示符处,输入 show ssl,并查找默认网站绑定(由 IP:port 值 0.0.0.0:443 表示)。

    4. 记下证书哈希应用程序 ID 值。

      示例:

      IP:port			: 0.0.0.0:443
      Certificate Hash		: f4d5419255e87004b2ec8bacd33a38e1cfebdaea
      Application ID		: {4dc3e181-e14b-4a21-b022-59fc669b0914}
      
    5. 通过运行以下命令删除默认网站证书绑定:

      delete sslcert ipport=0.0.0.0:443
      
    6. 然后使用上述哈希和应用 ID 重新创建绑定,并包括下列所有参数:

      Add sslcert ipport=0.0.0.0:443 certhash=f4d5419255e87004b2ec8bacd33a38e1cfebdaea appid={4dc3e181-e14b-4a21-b022-59fc669b0914} certstorename=MY verifyclientcertrevocation=Enable verifyrevocationwithcachedclientcertonly=Disable UsageCheck=Enable clientcertnegotiation=Enable DSMapperUsage=Enable
      
  6. 重新启动服务器。

  7. 在 Internet Information Services (IIS) 管理器中,增加 uploadReadAheadSize 值。

    1. 在 IIS Manager 中,展开 Exchange Server 的节点,展开“网站”,并选择“默认网站”。

    2. 在“功能视图”选项卡上,选择“配置编辑器”。

    3. 在“操作”下,选择“打开功能”。

    4. 在“部分”下拉菜单中,单击以展开“system.webServer”,然后选择“serverRuntime”。

    5. uploadReadAheadSize 的值更改为 10485760

  8. 在每台客户端计算机上,编辑注册表并导航到 HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\RPC。

    注意注意:
    如果您的客户端使用的是 Outlook 2010,请使用 14.0 替代 15.0。

    添加新的名为 EnableSmartcard 的 DWORD 值,并将值设置为 00000001。

完成后,所有新的配置文件应提示证书自动发现连接,并再次提示 Exchange Server 连接。启用此配置之前已存在的配置文件将需要修复,这可能需要多次重新启动 Outlook 以正确生效。

应用配置且连接 Outlook 后,Outlook 连接状态对话框将显示用作 Cert 的身份验证,类似于以下示例:

Outlook 连接状态对话框的屏幕截图

在启用智能卡身份验证后,邮件和目录服务的 Outlook 客户端将连接到客户端访问服务器上的 /RPCWithCert 虚拟目录,而不是连接到 /RPC 虚拟目录。因此,您必须确保相应地发布这些路径。

如果您之前已为 Exchange Server 2010 部署启用了智能卡身份验证,并且想要迁移到 Exchange Server 2013,您需要确保所有 Exchange 2010 服务器都运行 Service Pack 3 CU 11 或更高版本。

此外,在每个 Exchange Server 2010 客户端访问服务器上,您需要在自动发现虚拟目录文件夹的 Web.config 文件中编辑以下项:

  • <add key="SmartCardAuthenticationEnabled" value="false"/>

默认值为“false”。将此值更改为“true”。

执行此更改后,应通过更新 DNS 或负载平衡器确保组织中的所有客户端都配置为将 Exchange 2013 用于自动发现。

进行了这些更改后,拥有 Exchange 2010 邮箱的用户仍可以从自动发现收到正确的设置,且能够进行身份验证。如果没有这些更改,一旦移动自动发现终结点,Exchange 2010 邮箱将收到 Outlook 无处不在 终结点的默认设置(在此例中为 NTLM),并且用户将无法进行身份验证。

 
显示: