Configuração geral
Para permitir que o SCEPman trate com sucesso os pedidos SOAP recebidos, precisamos de seguir alguns passos:
Domínio Personalizado
Para uma autenticação bem-sucedida com o SCEPman, certifique-se de que um domínio personalizado usando um registo A está apontado para o App Service. Caso contrário, o cliente não conseguirá solicitar um ticket Kerberos válido ao Domain Controller.
O domínio personalizado não precisa de se assemelhar ao FQDN do seu domínio AD. Portanto, ter um domínio ad.contoso.local não significa que precise de um domínio personalizado idêntico ou semelhante para o SCEPman.
Consulte abaixo o problema conhecido relacionado com WS_E_ENDPOINT_ACCESS_DENIED para mais informações.
Certifique-se de que o SCEPman está configurado para ser acessível usando um domínio personalizado:
BaseUrl
Para permitir autenticações bem-sucedidas, certifique-se de que a AppConfig:BaseUrl variável corresponde ao seu domínio personalizado.
AppConfig:BaseUrl
Exemplo: scepman.contoso.com
Em alternativa, se preferir aceder ao Endpoint do AD usando um URL diferente dos restantes endpoints do SCEPman, utilize a AppConfig:ActiveDirectory:BaseUrl definição dedicada.
AppConfig:ActiveDirectory:BaseUrl
Exemplo: adendpoint.contoso.com
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. Também exportará um keytab desta conta e o encriptará com o certificado CA do SCEPman.
Pode executar este comando num Domain Controller ou num servidor associado ao domínio que tenha instalada a RSAT-AD-Tools funcionalidade. Também precisará das seguintes permissões na OU em que pretende criar o Service Principal:
Na própria OU:
Criar objetos de computador
Em objetos de computador descendentes:
Repor a palavra-passe
Escrever
msDS-SupportedEncryptionTypesEscrever
servicePrincipalNameEscrever
userPrincipalName
A variante abaixo também requer acesso de rede HTTPS de saída para a sua instância do SCEPman.
Se o seu computador com acesso a um Domain Controller não tiver acesso à rede, existem variantes do CMDlet que funcionam sem isso, mas requerem alguma preparação adicional, como descarregar o certificado CA do SCEPman e copiar a CA para a máquina que executa o CMDlet.
Install-Module SCEPman -Force
New-SCEPmanADPrincipal -Name "SCEPmanAD" -AppServiceUrl "scepman.contoso.com" -OU
"OU=Example,DC=contoso,DC=local"Executar este comando fará o seguinte:
Criar um objeto de computador na
OU=Example,DC=contoso,DC=localUnidade Organizacional.Descarregar o certificado CA do SCEPman para encriptar o keytab na etapa 5.
Adicionar um nome principal de serviço (SPN) ao objeto de computador.
Criar um keytab para a conta de computador contendo a chave de encriptação baseada na palavra-passe do computador.
Encriptar o keytab com o certificado CA do SCEPman, para que apenas o SCEPman o possa desencriptar novamente usando a chave privada da CA.
Emitir o keytab encriptado, para que 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 no seu App Service do SCEPman.
Adicionar Keytab ao SCEPman
A integração pode ser facilmente ativada adicionando as seguintes variáveis de ambiente no App Service do SCEPman. Dependendo do seu caso de uso, ative um ou mais dos modelos de certificado disponíveis:
Exemplo com todos os modelos de certificado ativados:
keytab codificado em Base64 para o Service Principal criado em Etapa 3
Problemas Conhecidos
WS_E_ENDPOINT_ACCESS_DENIED
Erro: WS_E_ENDPOINT_ACCESS_DENIED
Hex: 0x803d0005
Dec: -2143485947Este erro é conhecido por ocorrer durante a validação do servidor CEP quando está a utilizar as predefinidas URI do Azure App Service. Este erro é causado pelo protocolo Kerberos ao pedir um nome principal de serviço do registo A do serviço que vai ser acedido. No caso dos domínios predefinidos do App Service, por exemplo contoso.azurewebsites.net é um CNAME e aponta para um registo A semelhante a:
waws-prod-ab1-234-c56d.westeurope.cloudapp.azure.comComo este registo A de um host de infraestrutura não tem garantia de se manter consistente no futuro, adicionar um nome principal de serviço para este host é não recomendado.
Certifique-se de adicionar um domínio personalizado ao seu App Service e usar um registo A junto do seu fornecedor de DNS para o apontar para o App Service em vez de um CNAME.
ERROR_INVALID_PARAMETER
Erro: ERROR_INVALID_PARAMETER
Hex: 0x80070057
Dec: -2147024809Este erro ocorre durante o registo do servidor CEP se introduzir um URI que começa por http://. Certifique-se de que apenas regista um servidor CEP usando https:// .
ERROR_ACCESS_DENIED
Ao registar um servidor CEP em contexto de máquina, o utilizador em execução (a conta que iniciou gpmc.msc) precisa de ser membro do grupo local Administrators no computador enquanto edita a GPO.
Certifique-se de iniciar gpmc.msc com permissões elevadas neste caso.
Última atualização
Isto foi útil?