> For the complete documentation index, see [llms.txt](https://docs.scepman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scepman.com/pt/gestao-de-certificados/domain-controller-certificates.md).

# certificados de Domain Controller

{% hint style="info" %}
Este recurso requer a versão **1.6** ou superior.

Considere usar o nosso [Active Directory](/pt/gestao-de-certificados/active-directory.md) em vez disso.
{% endhint %}

{% hint style="warning" %}
apenas na Edição Enterprise do SCEPman
{% endhint %}

Você pode usar o SCEPman para emitir certificados de autenticação Kerberos para os seus controladores de domínio. Isso permite que os seus dispositivos associados ao AAD ou em modo híbrido autentiquem-se sem problemas ao aceder a recursos locais. Isto pode ser usado para implementar o **Hybrid Key trust for Windows Hello for Business**. O SCEPman substituirá a necessidade de uma **infraestrutura de chave pública**. Os detalhes podem ser encontrados [aqui](https://docs.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs)

## CA raiz sem extensão Enhanced Key Usage (EKU)

**Este recurso tem novos requisitos para a CA raiz.**\
Se estiver a atualizar a partir de uma versão anterior como **1.6** tem de gerar uma **nova** CA raiz.\
Para suportar certificados de autenticação Kerberos, o certificado da CA deve conter ou nenhuma extensão Enchanced Key Usage (EKU) ou deve incluir Kerberos Authentication e Smart Card Logon.

Se estiver a começar com o SCEPman **1.6** e a gerar a CA raiz com o nosso SCEPman, pode ignorar os passos seguintes.\
Caso contrário, siga este guia para gerar uma nova CA raiz.

{% hint style="warning" %}
Se gerar um novo certificado de CA, tem de atualizar as suas políticas do Intune e implementar a nova CA raiz e os novos certificados de utilizador e de dispositivo!
{% endhint %}

1. Navegue até ao seu **Key Vault**
2. Verifique se a sua Conta de Utilizador foi adicionada às **políticas de acesso** com todas as permissões de certificado
3. Vá para **Certificados**, selecione o seu certificado de CA e clique em **Eliminar**
4. Depois de eliminar com êxito o certificado de CA, tem de clicar em **Gerir certificados eliminados**
5. Selecione o seu certificado de CA, que eliminou no Passo 3, e clique em **Purgar** (Tenha em atenção que, depois de purgar o certificado, não o poderá restaurar!)
6. Agora reinicie os seus SCEPman App Services
7. Assim que os seus App Services forem reiniciados, abra o Painel do SCEPman navegando até ao seu URL do SCEPman
8. Pode ver a secção **Problemas de configuração**, siga os passos nesta secção.
9. Depois de gerar o novo certificado de CA, pode verificar a adequação da CA no Painel do SCEPman.

Adequação da CA no Painel do SCEPman:

![](https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-4998f1e56f64d240e4e8d23a9aa886cc8b49724b%2F2022-05-27%2011_09_46-Window.png?alt=media)

## Alterações de configuração no serviço SCEPman

Para ativar o recurso, tem de adicionar duas definições de aplicação no seu serviço SCEPman. Na implementação atual, usamos uma chave pré-partilhada (palavra-passe) para pedidos de DC.\
**Por favor, gere uma nova chave/palavra-passe e guarde-a em local seguro.** (vai precisar dela nos passos seguintes e mais tarde, nos controladores de domínio)

1. Navegue até **App Services**
2. Depois, escolha a sua app SCEPman
3. Depois, em **Definições** clique em **Variáveis de ambiente**
4. Selecione Adicionar
5. Tipo **AppConfig:DCValidation:Enabled** como Nome (use \_\_ em vez de : para SCEPman baseado em Linux)
6. Tipo **true** como Valor
7. Confirme com **OK**
8. Selecione **Adicionar** novamente
9. Tipo **AppConfig:DCValidation:RequestPassword** como Nome (use \_\_ em vez de : para SCEPman baseado em Linux)
10. Digite a sua **chave/palavra-passe**, que gerou anteriormente, como Valor
11. Confirme com **OK**
12. Guarde as definições da aplicação

## Confiar no certificado de CA no domínio para autenticação Kerberos

Os certificados usados para autenticação Kerberos precisam de ser considerados fiáveis no domínio AD como certificados de CA de autenticação. Por favor, descarregue o certificado de CA a partir do Painel do SCEPman. Se armazenou o ficheiro como `scepman-root.cer`, pode publicar o certificado de CA do SCEPman (seja uma CA raiz ou uma CA intermédia) com o seguinte comando, com uma conta que tenha privilégios de Enterprise Administrator:

```
certutil -f -dsPublish scepman-root.cer NTAuthCA
```

De forma análoga, execute o seguinte comando para enviar o certificado de CA raiz (ou seja, o certificado de CA do SCEPman ou, no caso de o SCEPman ser uma CA intermédia, a CA raiz para a cadeia de certificados da CA do SCEPman) para a loja de certificados Trusted Root para todas as máquinas na floresta AD:

```
certutil -f -dsPublish scepman-root.cer RootCA
```

Depois, o certificado de CA é geralmente considerado fiável no AD e, em especial, fiável para autenticação Kerberos. No entanto, demora algum tempo (na configuração predefinida, até 8 horas) até que todos os dispositivos recebam esta configuração. Pode acelerar este processo em qualquer máquina executando `gpupdate /force`, por exemplo, nos controladores de domínio.

Isto garante que os certificados de DC são considerados fiáveis dentro do domínio. Também são considerados fiáveis em todos os dispositivos geridos pelo Intune abrangidos por um perfil de Certificado de Confiança que distribui o certificado de CA raiz. Pode ser necessário distribuir manualmente a CA raiz para outros serviços, como appliances ou serviços cloud, para tornar os certificados de DC fiáveis para todos os sistemas.

## Instalação no cliente

Depois, tem de descarregar o nosso software cliente SCEP de código aberto [SCEPClient](https://github.com/scepman/scepclient/releases). As versões com o sufixo *-framework* usam .NET Framework 4.6.2, que vem pré-instalado no Windows Server 2016 e é compatível com versões mais recentes. As outras versões exigem que o .NET Core Runtime esteja instalado nos sistemas de destino.

Execute o seguinte comando num prompt de comandos elevado num controlador de domínio para receber um certificado de Domain Controller do SCEPman:

```
ScepClient.exe newdccert https://your-scepman-domain/dc RequestPassword
```

Tem de adicionar o URL do SCEPman no comando anterior, mas manter o caminho `/dc`. Substitua `RequestPassword` pela chave/palavra-passe segura que gerou anteriormente.

A palavra-passe do pedido é encriptada com o certificado de CA do SCEPman, portanto apenas o SCEPman a pode ler. Os certificados de Domain Controller só são emitidos com a palavra-passe do pedido correta.

### Renovação automática de certificados

{% hint style="warning" %}
O comando acima solicita um novo certificado de DC quer já exista ou não um certificado válido. Consulte a secção seguinte para saber como renovar certificados apenas se o certificado existente estiver prestes a expirar.
{% endhint %}

Para uma renovação totalmente automatizada de certificados, deve distribuir o ScepClient para **todos** os seus controladores de domínio, juntamente com o script PowerShell [enroll-dc-certificate.ps1](https://github.com/scepman/scepclient/blob/Core31/enroll-dc-certificate.ps1). Adicione uma tarefa agendada que execute o seguinte comando num contexto SYSTEM (adapte o URL e a palavra-passe do pedido):

```
powershell -ExecutionPolicy RemoteSigned -File c:\scepman\enroll-dc-certificate.ps1 -SCEPURL https://your-scepman-domain/dc -SCEPChallenge RequestPassword -LogToFile
```

Certifique-se de que o script PowerShell se encontra no mesmo diretório que o SCEPClient.exe e as suas dependências adicionais.

![Configurar a ação de execução na Tarefa Agendada](https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-732f9e212c1622579da03c12e497e2b1b632aaab%2Fimage%20\(17\).png?alt=media)

Isto verifica a existência de certificados de DC na loja de máquinas. Só se não existirem certificados adequados com, pelo menos, 30 dias de validade, é usado o ScepClient.exe para solicitar um novo certificado de DC ao SCEPman. Se quiser modificar o limiar de 30 dias, use o parâmetro -ValidityThresholdDays do script PowerShell.

O script escreve um ficheiro de registo contínuo no diretório onde está armazenado. Se não quiser este ficheiro de registo, omita o `-LogToFile` parâmetro. Em alternativa, pode redirecionar os fluxos de Informação, Erro e/ou Depuração para ficheiros (por exemplo `6>logfile.txt 2>&1`).

Para WHfB, todos os DCs que executem a versão 2016 ou mais recente precisam de um certificado de autenticação Kerberos. DCs mais antigos encaminham pedidos de autenticação para DCs mais recentes, pelo que não precisam necessariamente de um certificado de autenticação Kerberos. No entanto, é uma boa prática também fornecer certificados a esses sistemas.

### Descontinuação de uma PKI interna existente

Certifique-se de que as PKIs internas não emitem certificados de DC (modelos de certificado "Domain Controller", "Domain Controller Authentication" e "Kerberos Authentication") em paralelo com o SCEPman. Caso contrário, os DCs podem usar o certificado de DC da PKI interna, que é considerado não fiável se, por exemplo, o CDP estiver inacessível. O certificado de DC do SCEPman pode ser usado para todos os fins para os quais os certificados dos modelos acima mencionados podem ser usados, por exemplo, autenticação Kerberos e LDAPS.

A forma mais simples de conseguir isto é impedir que as CAs internas emitam certificados para os modelos "Domain Controller", "Domain Controller Authentication" e "Kerberos Authentication". No snap-in MMC da Autoridade de Certificação, elimine estes modelos da lista de modelos emitidos de cada CA interna. Em seguida, elimine da sua Internal CA os certificados já emitidos para os "MY" Stores dos seus Controladores de Domínio (`certlm.msc` e navegue até Personal). Mesmo após uma `gpupdate /force`, não deve aparecer nenhum novo certificado de DC da PKI interna na loja Personal do DC.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.scepman.com/pt/gestao-de-certificados/domain-controller-certificates.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
