Autenticação de cliente TLS com os Serviços de Informação da Internet (IIS)¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
Este guia descreve a configuração dos Serviços de Informação Internet (IIS) do Windows para autenticação de cliente TLS que mapeia utilizadores para contas de utilizador locais.
Ele mostra a configuração como um exemplo com o site Default Web Site do IIS. A configuração também pode ser usada para outros sites, incluindo ou excluindo o site padrão.
Prerequisits¶
Nitrokey 3 with PIV client authentication certificate.
Windows Server (servidor Web)
DNS record
Certificado TLS para o registo DNS. Os computadores clientes devem confiar neste certificado TLS.
Instalação¶
Open the Server Manager.
In the menubar on the top click Manage → Add Roles and Features.
Siga o assistente até ao passo Funções de servidor.
Selecione a função Web Server (IIS) na lista de funções disponíveis.
Siga o assistente até ao passo Roles Services em Web Server Role (IIS).
Na lista de serviços de função, selecione Web Server → Segurança → Autenticação de mapeamento de certificados de cliente IIS.
Siga o assistente para a instalação. A instalação deve estar concluída antes de poder começar a configurá-lo.
Configuração¶
Abra o Internet Information Services (IIS) Manager (
InetMgr.exe
).Selecione e expanda o servidor Web que pretende configurar na vista de árvore Connections, à esquerda.
No painel do meio, abra Configuration Editor. Abra a secção
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
e desbloqueie-a com um clique em Desbloquear secção no painel Acções à direita.Expanda o Sites no servidor Web e selecione o site que pretende configurar.
No painel Actions, à direita, clique em Bindings….
Clique em Add… que abre o editor de ligações. Defina o tipo para https e o nome do anfitrião de acordo com o registo DNS e o atributo Subject Alternative Name (SAN) do certificado TLS. Active a caixa de verificação Desativar TLS 1.3 sobre TCP. No campo Certificado SSL selecionar o respetivo certificado. Confirmar a configuração com um clique em OK.
Dica
Para compreender o requisito de desativar o TLS 1.3 e para obter instruções de configuração sobre como utilizá-lo com o TLS 1.3 ativado, consulte esta publicação do blogue Microsoft Support.
No painel central, abra Definições SSL. Active a caixa de verificação Require SSL e o botão de rádio em Client certificates está definido para Require. Confirme a configuração com um clique em Aplicar no painel Acções à direita.
No painel central, abra Autenticação. Certifique-se de que todos os outros métodos de autenticação estão desactivados para o site. O Autenticação de mapeamento de certificado de cliente do IIS nunca será visível nesta lista. Navegue de volta para a raiz do site.
Importante
Se qualquer outro tipo de autenticação estiver ativado, o mapeamento do certificado do cliente não funcionará.
No painel central, abra Editor de Configuração. Abra a secção
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
a partir deApplicationHost.config <location path='Default web site'/>
. Defina a chaveenabled
paraTrue
e certifique-se de que uma ou ambas as chavesmanyToOneCertificateMappingsEnabled
eoneToOneCertificateMappingsEnabled
estão activadas.Os mapeamentos do utilizador devem ser escritos nas chaves
manyToOneMappings
ouoneToOneMappings
. A respectiva chave a ser utilizada depende do mapeamento desejado a ser utilizado. Pode encontrar informações sobre o mapeamento e explicações de configuração mais detalhadas em Microsoft Learn.Para alterar uma chave, clique no botão … no final do campo de texto do valor. Isto abrirá o Collection Editor. Para criar um novo mapeamento, clique em Add no painel Actions à direita.
Mapeamento de muitos para um
Preencher os campos como indicado no quadro abaixo.
Key
Valor
enabled
True
name
<name-for-the-collection>
password
<user-password>
permissionMode
Allow
userName
<username>
O campo
name
é utilizado como identificador da coleção e os camposuserName
epassword
requerem o nome de utilizador e a palavra-passe do utilizador local que pretende mapear. O camporules
deve conter a descrição dos certificados permitidos ou negados. Para alterar a chave de regras, clique no botão … no final do campo de texto do valor. Isto abrirá uma nova janela do editor de colecções ** . Para criar uma nova regra, clique em Adicionar no painel Acções à direita.Preencher os campos como indicado no quadro abaixo.
Key
Valor
certificateField
Subject
certificateSubField
O
compareCaseSensitive
True
matchCriteria
<criteria-value-of-o-field-in-certificate-subject>
Feche as janelas Collection Editor.
Mapeamento um a um
Preencher os campos de acordo com o quadro seguinte.
Key
Valor
certificate
<base64-encoded-certificate>
enabled
True
password
<user-password>
userName
<username>
O certificado codificado em Base64 para o campo
certificate
pode ser obtido a partir do Nitrokey com Nitropia e o comandonitropy nk3 piv --experimental read-certificate --format PEM --key 9A
. Os camposuserName
epassword
requerem o nome de utilizador e a palavra-passe do utilizador local que se pretende mapear.Feche a janela Collection Editor.
Confirme a configuração com um clique em Apply no painel Actions à direita.
O site está agora configurado para autenticação de cliente TLS utilizando o mapeamento de contas de utilizador locais.