Autenticação de cliente TLS com os Serviços de Informação da Internet (IIS)

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

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

  1. Open the Server Manager.

  2. In the menubar on the top click Manage → Add Roles and Features.

  3. Siga o assistente até ao passo Funções de servidor.

  4. Selecione a função Web Server (IIS) na lista de funções disponíveis.

  5. Siga o assistente até ao passo Roles Services em Web Server Role (IIS).

  6. Na lista de serviços de função, selecione Web Server → Segurança → Autenticação de mapeamento de certificados de cliente IIS.

  7. Siga o assistente para a instalação. A instalação deve estar concluída antes de poder começar a configurá-lo.

Configuração

  1. Abra o Internet Information Services (IIS) Manager (InetMgr.exe).

  2. Selecione e expanda o servidor Web que pretende configurar na vista de árvore Connections, à esquerda.

  3. 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.

  4. Expanda o Sites no servidor Web e selecione o site que pretende configurar.

  5. No painel Actions, à direita, clique em Bindings….

  6. 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.

  7. 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.

  8. 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á.

  9. No painel central, abra Editor de Configuração. Abra a secção system.webServer/security/authentication/iisClientCertificateMappingAuthentication a partir de ApplicationHost.config <location path='Default web site'/>. Defina a chave enabled para True e certifique-se de que uma ou ambas as chaves manyToOneCertificateMappingsEnabled e oneToOneCertificateMappingsEnabled estão activadas.

  10. Os mapeamentos do utilizador devem ser escritos nas chaves manyToOneMappings ou oneToOneMappings. 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.

    1. 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 campos userName e password requerem o nome de utilizador e a palavra-passe do utilizador local que pretende mapear. O campo rules 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.

    2. 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 comando nitropy nk3 piv --experimental read-certificate --format PEM --key 9A. Os campos userName e password 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.