Serviços de Certificados do Active Directory do Windows (ADCS) com Proxy PKI¶
Este documento descreve a configuração dos Serviços de Certificados do Active Directory do Windows (ADCS) com o PKI Proxy e o NetHSM.
Prerequisits¶
NetHSM
Provisioned
Administrative access
PKI Proxy server
Módulo NetHSM PKCS#11 instalado e configurado para utilizar o NetHSM
Servidor CA (Windows Server)
ADCS role installed, but not configured
PKI Proxy client tools installed
As ferramentas de cliente não são necessárias se este servidor também estiver a executar o servidor PKI Proxy, uma vez que este inclui as ferramentas de cliente.
Pynitrokey installed
Root CA Key and Certificate¶
A tabela seguinte apresenta os principais algoritmos e comprimentos de chave, juntamente com os algoritmos de hash que o ADCS do Windows pode utilizar com o NetHSM.
Key Algorithm |
Key Length |
Hash Algorithm |
RSA |
1024 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
2048 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
|
4096 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
|
ECDSA |
P256 |
SHA1, SHA256, SHA385, SHA512 |
P384 |
SHA1, SHA256, SHA385, SHA512 |
|
P521 |
SHA1, SHA256, SHA385, SHA512 |
Importante
Por favor, siga as melhores práticas na seleção de um algoritmo de chave seguro, do comprimento da chave e do algoritmo de hash.
Uma chave e um certificado podem ser gerados de novo ou um já existente pode ser migrado. Consulte os subcapítulos abaixo para saber mais sobre a abordagem adequada à sua situação específica.
Generate a new Root CA Key and Certificate on Windows¶
As instruções que se seguem permitem criar uma nova chave e um novo certificado para utilização numa Autoridade de Certificação Raiz do ** no ADCS.
Dica
Normalmente, é mais fácil gerar uma chave e um certificado com o assistente de configuração do ADCS e, em seguida, seguir as instruções em Migrar a chave e o certificado existentes.
Neste caso, utiliza-se um modelo de pedido para gerar uma chave com extensões explícitas da CA. Os valores específicos têm de ser ajustados ao seu ambiente.
O modelo de pedido deve ser guardado num ficheiro com o nome RootCA.inf e com o seguinte conteúdo.
Este modelo irá gerar uma chave RSA com um comprimento de 4096 bits. Deve substituir <CA-NAME> pelo nome da sua CA.
[Version]
Signature="$Windows NT$"
[NewRequest]
Subject = "CN=<CA-NAME>"
KeySpec = 1
KeyLength = 4096
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft Software Key Storage Provider"
ProviderType = 0
RequestType = Cert
KeyUsage = 0x86
[Extensions]
; Key Usage: keyCertSign (0x04) + cRLSign (0x02) => 0x06
2.5.29.15 = "{critical}86"
; Basic Constraints: CA = TRUE, path length optional
2.5.29.19 = "{critical}{text}CA=TRUE"
; CA Version (V0.0)
1.3.6.1.4.1.311.21.1 = "{hex}02 01 00"
[RequestAttributes]
; Empty for self-signed request
Generate the key and certificate from the certificate template.
certreq -new RootCA.inf RootCA.req
O certificado foi adicionado ao repositório de certificados do computador local. Exporte o certificado para um ficheiro PFX, substituindo <THUMBPRINT> pelo valor correspondente obtido na saída do comando anterior.
$password = Read-Host -AsSecureString "Password"
Export-PfxCertificate -Cert Cert:\LocalMachine\My\<THUMBPRINT> -FilePath RootCA.pfx -Password $password
O valor da palavra-passe é utilizado para encriptar o arquivo PKCS#12 (ficheiro PFX). Pode continuar com o capítulo Configuração do NetHSM.
Migrate existing Key and Certificate¶
Para migrar uma chave e um certificado existentes, estes devem ser exportados do repositório de certificados do ADCS e o ficheiro de arquivo resultante deve ser importado para o NetHSM.
Importante
Antes de efetuar alterações numa autoridade de certificação de produção, recomenda-se que crie uma cópia de segurança da mesma. Consulte esta página ` <https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/ca-backup-and-restore-windows-powershell-cmdlets>` __ para saber mais.
Aceda a
certlm.msc.Aceda a « » > «Certificados» > «Computador local» → «Pessoal» → «Certificados».
Select the certificate in the list on the right.
Na barra de menus na parte superior, aceda a Ação « » → Todas as tarefas → Exportar…. Isto irá iniciar o Assistente de exportação de certificados « ».
Confirm the introduction of the assistant with Next.
Marque o botão de opção ao lado de « » (Sim, exportar a chave privada) e confirme com « » (Sim, exportar a chave privada). Se o botão de opção não estiver disponível, a chave está marcada como não exportável. Neste caso, este guia não se aplica ao caso de utilização pretendido.
Inclua todos os certificados no caminho de certificação, se possível
Marque o botão de opção ao lado de « » (Sim, exportar a chave privada) e confirme com « » (Sim, exportar a chave privada) Em seguida,.
Marque o botão de opção ao lado de « Personal Information Exchange - PKCS #12 (.PFX) ». Certifique-se de que marca as seguintes opções:
Inclua todos os certificados no caminho de certificação, se possível
Exportar todas as propriedades estendidas
Enable certificate privacy
Confirm the selection with Next.
Marque o botão de opção ao lado de « » («Password»). Introduza uma palavra-passe nos campos de texto correspondentes. No menu suspenso ao lado de « Encryption», selecione « » AES256-SHA256.
Importante
O método de encriptação AES256-SHA256 só é suportado a partir do Windows Server 2019 e do Windows 11. Para utilização em versões mais antigas, mantenha a configuração predefinida TripleDES-SHA1.
Confirm the selection with Next.
Choose a storage location and file name and confirm with Next.
Importante
A chave e o certificado exportados devem ser guardados num local seguro, ao qual apenas os utilizadores autorizados tenham acesso.
Confirm the export with Finish.
Certifique-se de que o certificado continua selecionado na lista à direita.
Na barra de menus na parte superior, aceda a « » → «All Tasks» → «Delete». Confirme a eliminação da chave privada e do certificado com « » «Yes».
Pode continuar com o capítulo Configuração do NetHSM.
NetHSM Configuration¶
A chave e o certificado do capítulo anterior têm de ser importados para o NetHSM. Com o comando « nitropia», podemos importar o ficheiro PKCS#12 diretamente para o NetHSM.
Importe o ficheiro PKCS#12 da seguinte forma, substituindo <KEY-ID>, <MECHANISM> e <PKCS12-ARCHIVE> pelos respetivos valores.
nitropy nethsm import-pkcs12 -k <KEY-ID> -m <MECHANISM> -p <password> <PKCS12-ARCHIVE>
No caso das chaves RSA, o mecanismo deve ser rsa_signature_pkcs1 e, no caso das chaves ECDSA, ecdsa_signature.
Já pode verificar se o certificado está disponível no NetHSM.
nitropy nethsm list-keys
A chave será apresentada com o ID de chave indicado no comando anterior.
PKI Proxy Server Configuration¶
No servidor proxy PKI, é necessário partilhar o certificado que acabou de ser adicionado a partir do NetHSM. Siga os passos descritos em Publish Certificates from the NetHSM para saber mais.
Windows ADCS Configuration¶
PKI Proxy Client Tools Configuration¶
A seguir, disponibilizamos a chave e o certificado no repositório de certificados da máquina local do Windows.
Open the PKI Proxy Certificate Manager.
Click the Add… button.
Preencha os campos obrigatórios.
Localização, por exemplo,
https://localhost:9266Authentication
User
Secret Key/Password/SPN
Certificate Store:
LOCALMACHINE\My
Confirm the configuration with the OK button. This will bring you back to the previous window.
The list under Certificate Management in the PKI Proxy Certificate Manager should now show the just added certificate.
Pode agora verificar se o certificado está disponível no repositório de certificados do computador local.
Abra a caixa de diálogo « » (Executar), clicando com o botão direito do rato no menu «Iniciar» do Windows **** e selecionando « » (Executar) ou premindo a tecla Windows + R no teclado.
Na caixa de diálogo « » (Executar), introduza
certlm.msce confirme premindo Digite no teclado ou clicando em OK.No gestor de certificados que aparece, navegue na estrutura em árvore à esquerda até « Certificates - Local Computer» → «Personal» → «Certificates».
The published certificate is now listed on the right.
Windows ADCS Configuration¶
Abra o Gestor do Servidor do **** a partir do menu Iniciar do **** ou premindo a tecla do Windows + R no teclado e introduza
ServerManager.exe.Na barra de menus no canto superior direito, clique no ícone da bandeira e selecione « » (Configurar os Serviços de Certificados do Active Directory no servidor de destino ) nas notificações pós-implementação. Isto irá iniciar o assistente « » (Configuração do AD CS).
In the wizard, set the settings below according to the stage.
Role Services
Check the radio button next to Certification Authority.
Setup Type
Selecione (Autoridade de Certificação Empresarial) ou (Autoridade de Certificação Autónoma), consoante o seu ambiente.
CA Type
Selecionar a Autoridade Certificante Raiz « »
Private Key
Marque o botão de opção ao lado de « » (Utilizar chave privada existente). Nesta opção, marque o botão de opção ao lado de « » (Selecionar um certificado e utilizar as chaves privadas associadas).
Existing Certificate
Na lista de Certificados do **** , selecione o certificado que pretende utilizar. Certifique-se de que a caixa de seleção ao lado de « » (Permitir interação do administrador quando a chave privada for acedida pela CA) não está ativada. Isto não é necessário, uma vez que o PKI Proxy KSP não requer qualquer autenticação adicional para a utilização da chave privada.
Após a conclusão do assistente de configuração, abra a Autoridade de Certificação « » a partir do menu Iniciar **** ou premindo a tecla Windows + R no teclado e introduzindo
certsrv.msc. Pode verificar se o serviço da autoridade de certificação foi iniciado corretamente quando vir um ponto verde com um ícone de marca de verificação branca junto ao nome da autoridade de certificação.
Importante
A disponibilidade da autoridade de certificação depende da disponibilidade da chave privada e do certificado. Se estes não estiverem disponíveis, o serviço da autoridade de certificação poderá não iniciar ou será interrompido inesperadamente. Em caso de erro, consulte o registo de eventos do Windows « » ( ) para obter mais informações.