Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Autores: Jitesh Thakur, Meera Mohideen, Consultores Técnicos com o Grupo Windows. Engenheiro de Suporte Ankit Tyagi com o Grupo Windows
Summary
Este artigo fornece instruções passo a passo para implementar o CEP (Certificate Enrollment Policy Web Service) e o CES (Certificate Enrollment Web Service) em uma porta personalizada diferente da 443 para renovação baseada em chave de certificado para aproveitar o recurso de renovação automática do CEP e do CES.
Este artigo também explica como o CEP e o CES funcionam e fornece diretrizes de configuração.
Note
O fluxo de trabalho incluído neste artigo aplica-se a um cenário específico. O mesmo fluxo de trabalho pode não funcionar para uma situação diferente. No entanto, os princípios permanecem os mesmos.
Aviso legal: Esta configuração é criada para um requisito específico no qual você não deseja usar a porta 443 para a comunicação HTTPS padrão para servidores CEP e CES. Embora esta configuração seja possível, tem capacidade de suporte limitada. O Serviço de Apoio ao Cliente e o Suporte podem ajudá-lo melhor se seguir este guia cuidadosamente, utilizando um desvio mínimo da configuração do servidor Web fornecida.
Scenario
Neste exemplo, as instruções são baseadas em um ambiente que usa a seguinte configuração:
Uma floresta Contoso.com que tenha uma infraestrutura de chave pública (PKI) dos Serviços de Certificados do Active Directory (AD CS).
Duas instâncias CEP/CES configuradas num servidor que está a ser executado numa conta de serviço. Uma instância usa nome de usuário e senha para o registro inicial. O outro usa autenticação baseada em certificado para renovação baseada em chave no modo de renovação apenas.
Um utilizador tem um grupo de trabalho ou um computador não associado a um domínio para registar o certificado de computador usando credenciais de nome de utilizador e senha.
A conexão do usuário com CEP e CES por HTTPS ocorre em uma porta personalizada, como 49999. (Esta porta é selecionada a partir de um intervalo de portas dinâmico e não é usada como uma porta estática por nenhum outro serviço.)
Quando o tempo de vida do certificado está chegando ao fim, o computador usa a renovação da chave CES com base no certificado para renovar o certificado pelo mesmo canal.
Configuration instructions
Overview
Configure o modelo para renovação baseada em chave.
Como pré-requisito, configure um servidor CEP e CES para autenticação de nome de usuário e senha. Nesse ambiente, nos referimos à instância como "CEPCES01".
Configure outra instância CEP e CES usando o PowerShell para autenticação baseada em certificado no mesmo servidor. A instância do CES usa uma conta de serviço.
Nesse ambiente, nos referimos à instância como "CEPCES02". A conta de serviço usada é "cepcessvc".
Configure os parâmetros do lado do cliente.
Configuration
Esta seção fornece as etapas para configurar o registro inicial.
Note
Você também pode configurar qualquer conta de serviço de usuário, MSA ou GMSA para que o CES funcione.
Como pré-requisito, você deve configurar o CEP e o CES em um servidor usando a autenticação de nome de usuário e senha.
Configurar o modelo para renovação baseada em chave
Você pode duplicar um modelo de computador existente e definir as seguintes configurações do modelo:
Na guia Nome do Assunto do modelo de certificado, verifique se as opções Fornecer na Solicitação e Usar informações de assunto de certificados existentes para solicitações de renovação de autoinscrição estão selecionadas.
Switch to the Issuance Requirements tab, and then select the CA certificate manager approval check box.
Assign the Read and Enroll permission to the cepcessvc service account for this template.
Publique o novo modelo na CA.
Note
Verifique se as configurações de compatibilidade no modelo estão definidas para do Windows Server 2012 R2, pois há um problema conhecido no qual os modelos não ficam visíveis se a compatibilidade estiver definida como Windows Server 2016 ou versão posterior. Para obter mais informações, consulte Não é possível selecionar modelos de certificados compatíveis com CA de Windows Server 2016 de CAs baseadas no Windows Server 2016 ou em versões posteriores, ou de servidores CEP.
Configurar a instância CEPCES01
Etapa 1: Instalar a instância
Para instalar a instância CEPCES01, use um dos seguintes métodos.
Method 1
Consulte os seguintes artigos para obter orientações passo a passo para habilitar o CEP e o CES para autenticação de nome de usuário e senha:
Serviço Web de Diretrizes da Política de Inscrição de Certificados
Orientação do Serviço Web de Registro de Certificado
Note
Certifique-se de não selecionar a opção "Ativar renovação Key-Based" se configurar as instâncias CEP e CES de autenticação de nome de utilizador e senha.
Method 2
Você pode usar os seguintes cmdlets do PowerShell para instalar as instâncias CEP e CES:
Import-Module ServerManager
Add-WindowsFeature Adcs-Enroll-Web-Pol
Add-WindowsFeature Adcs-Enroll-Web-Svc
Install-AdcsEnrollmentPolicyWebService -AuthenticationType Username -SSLCertThumbprint "sslCertThumbPrint"
Este comando instala o CEP (Certificate Enrollment Policy Web Service) especificando que um nome de usuário e senha são usados para autenticação.
Note
In this command, <SSLCertThumbPrint> is the thumbprint of the certificate to bind IIS.
Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Username
This command installs the Certificate Enrollment Web Service (CES) to use the certification authority for a computer name of CA1.contoso.com and a CA common name of contoso-CA1-CA. A identidade do CES é especificada como a identidade padrão do pool de aplicativos. The authentication type is username. SSLCertThumbPrint é a impressão digital do certificado para vincular o IIS.
Etapa 2: Verifique o console do Gerenciador dos Serviços de Informações da Internet (IIS)
Após uma instalação bem-sucedida, você espera ver a seguinte exibição no console do Gerenciador dos Serviços de Informações da Internet (IIS).
Em Site Padrão, selecione ADPolicyProvider_CEP_UsernamePassword e abra Configurações do Aplicativo. Note the ID and the URI.
You can add a Friendly Name for management.
Configurar a instância CEPCES02
Etapa 1: Instale o CEP e o CES para renovação baseada em chave no mesmo servidor.
Execute o seguinte comando no PowerShell:
Install-AdcsEnrollmentPolicyWebService -AuthenticationType Certificate -SSLCertThumbprint "sslCertThumbPrint" -KeyBasedRenewal
Este comando instala o CEP (Certificate Enrollment Policy Web Service) e especifica que um certificado é usado para autenticação.
Note
Neste comando, <SSLCertThumbPrint> é a impressão digital do certificado para associar ao IIS.
A renovação baseada em chave permite que os clientes de certificados renovem seus certificados usando a chave do certificado existente para autenticação. Quando no modo de renovação baseada em chave, o serviço retorna apenas modelos de certificado definidos para renovação baseada em chave.
Install-AdcsEnrollmentWebService -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Certificate -ServiceAccountName "Contoso\cepcessvc" -ServiceAccountPassword (read-host "Set user password" -assecurestring) -RenewalOnly -AllowKeyBasedRenewal
This command installs the Certificate Enrollment Web Service (CES) to use the certification authority for a computer name of CA1.contoso.com and a CA common name of contoso-CA1-CA.
In this command, the identity of the Certificate Enrollment Web Service is specified as the cepcessvc service account. The authentication type is certificate. SSLCertThumbPrint is the thumbprint of the certificate to bind IIS.
The RenewalOnly cmdlet lets CES run in renewal only mode. The AllowKeyBasedRenewal cmdlet also specifies that the CES accepts key based renewal requests for the enrollment server. Estes são certificados de cliente válidos para autenticação que não são mapeados diretamente para uma entidade de segurança.
Note
The service account must be part of IIS_IUSRS group on the server.
Etapa 2: Verifique o console do Gerenciador do IIS
Após uma instalação bem-sucedida, você espera ver a seguinte exibição no console do Gerenciador do IIS.
Select KeyBasedRenewal_ADPolicyProvider_CEP_Certificate under Default Web Site and open Application Settings. Take a note of the ID and the URI. You can add a Friendly Name for management.
Note
Se a instância estiver instalada em um novo servidor, verifique duas vezes o ID para certificar-se de que o ID é o mesmo que foi gerado na instância CEPCES01. Você pode copiar e colar o valor diretamente se for diferente.
Configuração completa dos Serviços Web de Registro de Certificado
Para registrar o certificado para a funcionalidade de CEP e CES, você precisa configurar a conta de computador do grupo de trabalho no Ative Directory e, em seguida, configurar a delegação restrita na conta de serviço.
Etapa 1: Criar uma conta de computador do computador do grupo de trabalho no Ative Directory
Esta conta é usada para autenticação para renovação baseada em chaves e a opção Publicar no Active Directory no modelo de certificado.
Note
Não é necessário associar a máquina cliente ao domínio.
Etapa 2: Configurar a conta de serviço para delegação controlada (S4U2Self)
Execute o seguinte comando do PowerShell para habilitar a delegação restrita (S4U2Self ou qualquer protocolo de autenticação):
Get-ADUser -Identity cepcessvc | Set-ADAccountControl -TrustedToAuthForDelegation $True
Set-ADUser -Identity cepcessvc -Add @{'msDS-AllowedToDelegateTo'=@('HOST/CA1.contoso.com','RPCSS/CA1.contoso.com')}
Note
Neste comando, <cepcessvc> é a conta de serviço e <CA1.contoso.com> é a Autoridade de Certificação.
Important
Não estamos habilitando o sinalizador RENEWALONBEHALOF na autoridade de certificação nesta configuração porque estamos usando a delegação restrita para fazer o mesmo trabalho para nós. Assim, evitamos adicionar a permissão da conta de serviço à segurança do CA.
Etapa 3: Configurar uma porta personalizada no servidor Web do IIS
No console do Gerenciador do IIS, selecione Site Padrão.
No painel de ações, selecione Editar Vinculação de Site.
Altere a configuração de porta padrão de 443 para sua porta personalizada. A captura de tela de exemplo mostra uma configuração de porta de 49999.
Etapa 4: Editar o objeto de serviços de inscrição da autoridade de certificação no Active Directory
Em um controlador de domínio, abra adsiedit.msc.
Conecte-se à partição Configuration e navegue para o objeto de serviços de registo de CA:
CN=ENTCA,CN=Serviços de Inscrição,CN=Serviços de Chave Pública,CN=Serviços,CN=Configuração,DC=contoso,DC=com
Clique com o botão direito do rato e edite o objeto CA. Change the msPKI-Enrollment-Servers attribute by using the custom port with your CEP and CES server URIs that were found in the application settings. For example:
140https://cepces.contoso.com:49999/ENTCA_CES_UsernamePassword/service.svc/CES0 181https://cepces.contoso.com:49999/ENTCA_CES_Certificate/service.svc/CES1
Configurar o computador cliente
No computador cliente, configure as políticas de Registro e a política de Registro Automático. Para fazer isso, execute as seguintes etapas:
Select Start>Run, and then enter gpedit.msc.
Go to Computer Configuration>Windows Settings>Security Settings, and then click Public Key Policies.
Habilite a política Cliente de Serviços de Certificados - Registro Automático para corresponder às configurações na captura de tela a seguir.
Habilite o Cliente de Serviços de Certificados - Política de Registro de Certificado.
a. Click Add to add enrollment policy and enter the CEP URI with UsernamePassword that we edited in ADSI.
b. For Authentication type, select Username/password.
c. Set a priority of 10, and then validate the policy server.
Note
Verifique se o número da porta foi adicionado ao URI e se é permitido no firewall.
Registre o primeiro certificado para o computador através de certlm.msc.
Selecione o modelo KBR e registre o certificado.
Open gpedit.msc again. Edite o Cliente de Serviços de Certificados – Política de Registro de Certificado e adicione a política de registro de renovação baseada em chave:
a. Click Add, enter the CEP URI with Certificate that we edited in ADSI.
b. Set a priority of 1, and then validate the policy server. Você será solicitado a autenticar-se e escolher o certificado que foi registado inicialmente.
Note
Verifique se o valor de prioridade da política de inscrição de renovação baseada em chave é inferior à prioridade da política de inscrição por nome de utilizador e senha. A primeira preferência é dada à prioridade mais baixa.
Testando a configuração
Para se certificar de que a Renovação Automática está a funcionar, verifique se a renovação manual funciona renovando o certificado com a mesma chave utilizando mmc. Além disso, você deve ser solicitado a selecionar um certificado durante a renovação. Você pode escolher o certificado que registámos anteriormente. O prompt é esperado.
Abra o armazenamento de certificados pessoais do computador e adicione a exibição de certificados arquivados. Para fazer isso, adicione o snap-in da conta do computador local ao mmc.exe, realce Certificados (Computador Local) clicando nele, clique em exibir na guia de ação à direita ou na parte superior do mmc, clique em opções de exibição, selecione Certificados arquivados e clique em OK.
Method 1
Execute o seguinte comando:
certreq -machine -q -enroll -cert <thumbprint> renew
Method 2
Avance a hora e a data na máquina cliente para o período de renovação do modelo de certificado.
Por exemplo, o modelo de certificado tem uma configuração de validade de 2 dias e uma configuração de renovação de 8 horas configurada. O certificado de exemplo foi emitido às 4h00 do dia 18 do mês, expira às 4h00 do dia 20. O mecanismo de registro automático é acionado na reinicialização e a cada intervalo de 8 horas (aproximadamente).
Portanto, se você adiantar o tempo para 20h10 do dia 19 desde que nossa janela de renovação foi definida para 8 horas no modelo, executar o Certutil -pulse (para acionar o mecanismo AE) registrará o certificado para você.
Após a conclusão do teste, reverta a configuração de tempo para o valor original e reinicie o computador cliente.
Note
A imagem do ecrã anterior é um exemplo para demonstrar que o mecanismo de registo automático funciona como esperado porque a data no processo de certificação ainda está definida para o dia 18. Por isso, continua a emitir certificados. Em uma situação da vida real, esse grande número de renovações não ocorrerá.
References
Guia do laboratório de teste: Demonstrando a renovação do certificado Key-Based
Serviços Web de Registro de Certificado
Install-AdcsEnrollmentPolicyWebService
Install-AdcsEnrollmentWebService
See also
Fórum de Segurança do Windows Server