Configurar autenticação baseada em certificado no Exchange 2016

A CBA (autenticação baseada em certificado) no Exchange permite que Outlook na Web (anteriormente conhecido como Outlook Web App) e Exchange ActiveSync clientes sejam autenticados por certificados de cliente em vez de inserir um nome de usuário e senha.

Antes de configurar o Exchange, você precisa emitir um certificado de cliente para cada usuário. Devido ao grande número de certificados envolvidos, você deve usar uma PKI (infraestrutura de chave pública) interna automatizada para emitir e gerenciar os certificados do cliente. Um exemplo de um PKI interno automatizado é o AD CS (Active Directory Certificate Services). Para obter mais informações sobre o AD CS, consulte Visão geral dos Serviços de Certificados do Active Directory. Veja mais informações sobre os requisitos do certificado:

  • O certificado do cliente deve ser emitido para autenticação do cliente (por exemplo, o modelo padrão de certificado de usuário no AD CS).

  • O certificado do cliente deve conter o UPN (nome da entidade de usuário) do usuário (nos campos Assunto ou Nome Alternativo do Assunto do certificado).

  • O certificado do cliente deve ser associado à conta de usuário no Active Directory.

  • Todos os servidores e dispositivos envolvidos no acesso a Outlook na Web e ActiveSync (incluindo servidores proxy e dispositivos cliente) devem confiar em toda a cadeia de confiança para os certificados de cliente (o certificado raiz da autoridade de certificação e quaisquer CAs intermediários usados para emitir certificados).

Para a CBA em Outlook na Web, o certificado do cliente precisa ser instalado no computador local, no dispositivo ou em um cartão inteligente. Para CBA no ActiveSync, o certificado do cliente precisa ser instalado no dispositivo local. Você pode automatizar a instalação de certificados em dispositivos usando uma solução de MDM (gerenciamento de dispositivo móvel), como Intune. Para obter mais informações sobre Intune, consulte Visão geral do Microsoft Intune.

Do que você precisa saber para começar?

Dica

Está com problemas? Peça ajuda nos fóruns do Exchange. Visite os fóruns em: Exchange Server, Exchange Online ou Proteção do Exchange Online.

Etapa 1: use o Shell de Gerenciamento do Exchange para instalar o recurso autenticação de mapeamento de certificado do cliente em todos os servidores do Exchange

Todos os servidores do Exchange que compartilham o mesmo namespace e URLs precisam usar os mesmos métodos de autenticação. Você precisa instalar o recurso autenticação de mapeamento de certificado do cliente em todos os servidores do Exchange.

No Shell de Gerenciamento do Exchange, execute o seguinte comando:

Install-WindowsFeature Web-Client-Auth

Para obter informações detalhadas sobre sintaxe e parâmetro, consulte Install-WindowsFeature.

Etapa 2: usar o Gerenciador do IIS para habilitar a Autenticação de Certificado de Cliente do Active Directory para o servidor exchange

  1. Abra o Gerenciador do IIS no servidor exchange. Uma maneira fácil de fazer isso em Windows Server 2012 ou posterior é pressionar a tecla do Windows + Q, digitar inetmgr e selecionar o Gerenciador de Serviços de Informações da Internet (IIS) nos resultados.

  2. Selecione o servidor e verifique se o Modo de Exibição de Recursos está selecionado na parte inferior da página.

  3. Na seção IIS , clique duas vezes em Autenticação.

    No IIS, selecione o Servidor e selecione Autenticação.

  4. Na página Autenticação aberta, selecione Autenticação de Certificado do Cliente do Active Directory na lista e, no painel Ações , clique em Habilitar.

    Página de autenticação do servidor no IIS.

    Você verá um aviso de que o SSL deve estar habilitado para usar o Mapeamento de Certificados do Cliente do Active Directory.

Etapa 3: usar o Gerenciador do IIS para configurar os diretórios virtuais Outlook na Web, Exchange e ActiveSync para exigir certificados de cliente

Observação: você precisa exigir certificados de cliente, pois aceitar certificados de cliente (para dar suporte ao cba e ao nome de usuário regular e autenticação de senha) não funciona consistentemente em todos os tipos de dispositivos ActiveSync.

  1. No Gerenciador do IIS, expanda o servidor, expanda Sites e expanda Site Padrão.

  2. Selecione o diretório virtual owa e verifique se o Modo de Exibição de Recursos está selecionado na parte inferior da página.

  3. Na seção IIS , clique duas vezes em Configurações de SSL.

  4. Na página Configurações do SSL , verifique se o SSL obrigatório está verificado e selecione o valor dos certificados do clienteObrigatório.

  5. No painel Ações , clique em Aplicar.

    No IIS, nas configurações SSL do diretório virtual, selecione Exigir em Certificados de cliente.

  6. Selecione o diretório virtual Microsoft-Server-ActiveSync .

  7. Na seção IIS , clique duas vezes em Configurações de SSL.

  8. Na página Configurações do SSL , verifique se o SSL obrigatório está verificado e selecione o valor dos certificados do clienteObrigatório.

  9. No painel Ações , clique em Aplicar.

Observação: embora você possa executar esses procedimentos na linha de comando, as etapas podem não configurar uma chave de registro necessária. Você pode usar os procedimentos anteriores no Gerenciador do IIS (que definitivamente definirá a chave do registro corretamente) ou você precisa verificar se a chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslBindingInfo\0.0.0.0:443 do registro está definida como o valor 1 depois de executar os procedimentos na linha de comando.

Para executar esses procedimentos na linha de comando, abra um prompt de comando elevado no servidor exchange (uma janela de Prompt de Comando que você abre selecionando Executar como administrador) e execute os seguintes comandos:

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.webserver/security/access /sslFlags:"Ssl, SslRequireCert" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/ecp/" -section:system.webserver/security/access /sslFlags:"Ssl, SslRequireCert" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.webserver/security/access /sslFlags:"Ssl, SslRequireCert" /commit:apphost

Etapa 4: use o Shell de Gerenciamento do Exchange para desabilitar a autenticação de outros métodos de autenticação nos diretórios virtuais Outlook na Web, Exchange e ActiveSync

Depois de exigir certificados de cliente para autenticação, você precisará desabilitar todos os outros métodos de autenticação nos diretórios virtuais Outlook na Web, Centro de administração do Exchange (EAC) e ActiveSync. Por padrão, somente a autenticação básica e a autenticação do Forms estão habilitadas.

  1. No Shell de Gerenciamento do Exchange, substitua <ServerName> pelo nome do servidor exchange e execute o seguinte comando para desabilitar todos os outros métodos de autenticação no Outlook na Web diretório virtual:

    Set-OwaVirtualDirectory "<ServerName>\owa (Default Web Site)" -BasicAuthentication $false -WindowsAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -AdfsAuthentication $false -OAuthAuthentication $false
    

    Para informações detalhadas de sintaxes e de parâmetros, consulte Set-OwaVirtualDirectory.

  2. No Shell de Gerenciamento do Exchange, substitua <ServerName> pelo nome do servidor exchange e execute o seguinte comando para desabilitar todos os outros métodos de autenticação no diretório virtual do EAC:

    Set-EcpVirtualDirectory "<ServerName>\ecp (Default Web Site)" -BasicAuthentication $false -WindowsAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -AdfsAuthentication $false
    

    Para obter informações detalhadas de sintaxes e de parâmetros, consulte Set-EcpVirtualDirectory.

  3. Substitua <ServerName> pelo nome do servidor exchange e execute o seguinte comando para desabilitar todos os outros métodos de autenticação no diretório virtual ActiveSync:

    Set-ActiveSyncVirtualDirectory "<ServerName>\Microsoft-Server-ActiveSync (Default Web Site)" -BasicAuthEnabled $false -WindowsAuthEnabled $false
    

    Para obter informações detalhadas sobre sintaxe e parâmetro, consulte Set-ActiveSyncVirtualDirectory.

Etapa 5: usar o Gerenciador do IIS para habilitar o mapeamento de certificados do cliente para os diretórios virtuais Outlook na Web, Exchange e ActiveSync

Importante

Depois de executar essa etapa, a execução do cmdlet Set-ActiveSyncVirtualDirectory pode desabilitar o mapeamento de certificado do cliente para ActiveSync.

  1. No Gerenciador do IIS, expanda o servidor, expanda Sites e expanda Site Padrão.

  2. Selecione o diretório virtual owa e verifique se o Modo de Exibição de Recursos está selecionado na parte inferior da página.

  3. Na seção Gerenciamento , clique duas vezes em Editor de Configurações.

  4. Na página Editor de Configuração , clique na lista suspensa na Seção e navegue até system.webServer>security>authentication>clientCertificateMappingAuthentication.

    Selecione clientCertificateMappingAuthentication no Configuration Manager no IIS para o diretório virtual owa.

  5. Defina o valor habilitado como True e, no painel Ações , clique em Aplicar.

    Habilite o valor clientCertificateMappingAuthentication no Editor de Configurações no IIS para o diretório virtual owa.

  6. Selecione o diretório virtual do ecp .

  7. Na seção Gerenciamento , clique duas vezes em Editor de Configurações.

  8. Na página Editor de Configuração , clique na lista suspensa na Seção e navegue até system.webServer>security>authentication>clientCertificateMappingAuthentication.

  9. Defina o valor habilitado como True e, no painel Ações , clique em Aplicar.

  10. Selecione o diretório virtual Microsoft-Server-ActiveSync .

  11. Na seção Gerenciamento , clique duas vezes em Editor de Configurações.

  12. Na página Editor de Configuração , clique na lista suspensa na Seção e navegue até system.webServer>security>authentication>clientCertificateMappingAuthentication.

  13. Defina o valor habilitado como True e, no painel Ações , clique em Aplicar.

Observação: para executar esses procedimentos na linha de comando, abra um prompt de comando elevado no servidor exchange e execute os seguintes comandos:

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.webserver/security/authentication/clientCertificateMappingAuthentication /enabled:"True" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/ecp/" -section:system.webserver/security/authentication/clientCertificateMappingAuthentication /enabled:"True" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.webserver/security/authentication/clientCertificateMappingAuthentication /enabled:"True" /commit:apphost

Etapa 6 (opcional): adicione o certificado raiz de uma autoridade de certificação de terceiros ao repositório Enterprise NTAuth no Active Directory

Você só precisa executar essa etapa se não estiver usando o AD CS para emitir os certificados do cliente. Essa configuração indica que a autoridade de certificação (AC) é confiável para emitir certificados de cliente para autenticação do Active Directory.

  1. Exporte o certificado raiz da AC para um arquivo X.509 .cer codificado com codificação base-64 ou DER. Neste exemplo, usaremos C:\Data\CARoot.cer.

  2. Em qualquer servidor membro de domínio (por exemplo, um controlador de domínio ou um servidor exchange), abra um prompt de comando elevado execute o seguinte comando:

    %windir%\system32\certutil.exe -enterprise -addstore NTAuth "C:\Data\CARoot.cer"
    

    Observe que essa etapa requer associação no grupo de administradores corporativos .

Etapa 7 (opcional): use o Gerenciador do IIS para aumentar o valor UploadReadAheadSize para os diretórios virtuais Outlook na Web e ActiveSync

Se seus clientes receberem erros, talvez seja necessário aumentar os valores uploadReadAheadSize na metabase do IIS para permitir os cabeçalhos de solicitação.

  1. No Gerenciador do IIS, expanda o servidor, expanda Sites e expanda Site Padrão.

  2. Selecione o diretório virtual owa e verifique se o Modo de Exibição de Recursos está selecionado na parte inferior da página.

  3. Na seção Gerenciamento , clique duas vezes em Editor de Configurações.

  4. Na página Editor de Configuração , clique na seção suspensa e navegue até systemwebServer>serverRuntime.

    Selecione serverRuntime no Editor de Configuração no IIS para o diretório virtual owa.

  5. Defina o valor uploadReadAheadSize como 49152 e, no painel Ações , clique em Aplicar.

    Altere o valor uploadReadAheadSize no Editor de Configuração no IIS para o diretório virtual owa.

  6. Selecione o diretório virtual do ecp .

  7. Na seção Gerenciamento , clique duas vezes em Editor de Configurações.

  8. Na página Editor de Configuração , clique na seção suspensa e navegue até systemwebServer>serverRuntime.

  9. Defina o valor uploadReadAheadSize como 49152 e, no painel Ações , clique em Aplicar.

  10. Selecione o diretório virtual Microsoft-Server-ActiveSync .

  11. Na seção Gerenciamento , clique duas vezes em Editor de Configurações.

  12. Na página Editor de Configuração , clique na seção suspensa e navegue até systemwebServer>serverRuntime.

  13. Defina o valor uploadReadAheadSize como 49152 e, no painel Ações , clique em Aplicar.

Observação: para executar esses procedimentos na linha de comando, abra um prompt de comando elevado no servidor exchange e execute os seguintes comandos:

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.webserver/serverRuntime /uploadReadAheadSize:49152
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/ecp/" -section:system.webserver/serverRuntime /uploadReadAheadSize:49152
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.webserver/serverRuntime /uploadReadAheadSize:49152