Configuração geral

Para permitir que o SCEPman trate com êxito os pedidos SOAP recebidos, precisamos tomar alguns passos:

1

Domínio personalizado e BaseUrl

Para uma autenticação bem-sucedida com o SCEPman, certifique-se de que um domínio personalizado usando um registro A aponte para o App Service. Caso contrário, o cliente não conseguirá solicitar um ticket Kerberos válido ao controlador de domínio.

circle-info

O domínio personalizado não precisa se assemelhar ao FQDN do seu domínio AD. Portanto, ter um domínio ad.contoso.local não significa que você precise de um domínio personalizado idêntico ou semelhante para o SCEPman.

Consulte abaixo o problema conhecido sobre WS_E_ENDPOINT_ACCESS_DENIED para obter mais informações sobre isso.

Certifique-se de que o SCEPman esteja configurado para ser acessível usando um domínio personalizado:

Domínio Personalizadochevron-right

O mesmo requisito também se aplica após o pedido inicial da política (listando os modelos de certificado) para emitir certificados. Para permitir autenticações bem-sucedidas, certifique-se de que a AppConfig:BaseUrl variável corresponda ao seu domínio personalizado ou use a configuração dedicada AppConfig:ActiveDirectory:BaseUrl se preferir acessar o Endpoint do AD em uma Url diferente dos seus outros endpoints do SCEPman.

2

Criar Service Principal

Use o New-SCEPmanADPrincipal Cmdlet do módulo SCEPman PowerShell para criar o service principal no seu domínio Active Directory local. Ele também exportará um keytab desta conta e o criptografará com o certificado CA do SCEPman.

Você pode executar este comando em um controlador de domínio ou em um servidor ingressado no domínio que tenha instalado o RSAT-AD-Tools recurso. Você também precisará das seguintes permissões na OU em que deseja criar o principal:

Na própria OU:

  • Criar objetos de computador

Em objetos de computador descendentes:

  • Redefinir senha

  • Escrever msDS-SupportedEncryptionTypes

  • Escrever servicePrincipalName

  • Escrever userPrincipalName

A variante abaixo também exige acesso de rede HTTPS de saída para a sua instância SCEPman.

circle-info

Se o seu computador com acesso a um Controlador de Domínio não tiver acesso à rede, existem variantes do CMDlet que funcionam sem isso, mas exigem alguma preparação adicional, como baixar o certificado CA do SCEPman e copiar a CA para a máquina que executa o CMDlet.

Executar este comando fará o seguinte:

  1. Criar um objeto de computador na OU=Example,DC=contoso,DC=com Unidade Organizacional.

  2. Baixar o certificado CA do SCEPman para criptografar o keytab na etapa 5.

  3. Adicionar um nome de service principal (SPN) ao objeto de computador.

  4. Criar um keytab para a conta de computador contendo a chave de criptografia com base na senha do computador.

  5. Criptografar o keytab com o certificado CA do SCEPman, para que apenas o SCEPman possa descriptografá-lo novamente usando a chave privada da CA.

  6. Gerar a saída do keytab criptografado, para que ele possa ser transferido para a configuração do SCEPman.

A saída codificada em Base64 deve então ser adicionada à variável de ambiente AppConfig:ActiveDirectory:Keytab do seu SCEPman App Service.

3

Adicionar Keytab ao SCEPman

A integração pode ser facilmente ativada adicionando as seguintes variáveis de ambiente no SCEPman App Service. Dependendo do seu caso de uso, ative um ou mais dos modelos de certificado disponíveis:

Exemplo com todos os modelos de certificado ativados:

Definição
Valor

AppConfig:ActiveDirectory:Keytab

Keytab codificado em Base64 para o service principal criado na Etapa 1

AppConfig:ActiveDirectory:Computer:Enabled

true

AppConfig:ActiveDirectory:User:Enabled

true

AppConfig:ActiveDirectory:DC:Enabled

true

Problemas Conhecidos

WS_E_ENDPOINT_ACCESS_DENIED

Erro: WS_E_ENDPOINT_ACCESS_DENIED 
Hex: 0x803d0005
Dec: -2143485947

Este erro é conhecido por ocorrer durante a validação do servidor CEP quando você está usando os padrão URIs do Azure App Service. Esse erro é causado pelo protocolo Kerberos ao solicitar um service principal name do registro A do serviço a ser acessado. No caso dos domínios padrão do app service, por exemplo contoso.azurewebsites.net é apenas um CNAME e aponta para um registro A semelhante a:

waws-prod-ab1-234-c56d.westeurope.cloudapp.azure.com

Como esse registro A de um host de infraestrutura não tem garantia de ser consistente no futuro, adicionar um service principal name para esse host não é recomendado.

Certifique-se de adicionar um domínio personalizado ao seu app service e use um registro A no seu provedor de DNS para apontá-lo para o app service em vez de um CNAME.

Domínio Personalizadochevron-right

ERROR_INVALID_PARAMETER

Erro: ERROR_INVALID_PARAMETER
Hex: 0x80070057
Dec: -2147024809

Este erro ocorre durante o registro do servidor CEP se você inserir uma URI que comece com http://. Certifique-se de registrar um servidor CEP usando apenas https://

ERROR_ACCESS_DENIED

Ao registrar um servidor CEP no contexto da máquina, o usuário atuante (a conta que iniciou gpmc.msc) precisa ser membro do grupo local Administrators no computador enquanto edita a GPO.

Certifique-se de iniciar gpmc.msc com privilégios elevados neste caso.

Last updated

Was this helpful?