Gerenciar certificados usados com o NPS

Se você implantar um método de autenticação baseado em certificado, como Extensible Authentication Protocol-Transport Layer Security (EAP-TLS), Protected Extensible Authentication Protocol-Transport Layer Security (PEAP-TLS) e PEAP-Microsoft Challenge Handshake Authentication Protocol versão 2 (MS-CHAP v2), deverá registrar um certificado de servidor em todos os NPSs. O certificado do servidor deve:

  • Atender aos requisitos mínimos de certificado do servidor, conforme descrito em Configurar modelos de certificado para requisitos PEAP e EAP

  • Ser emitido por uma autoridade de certificação (CA) confiável para os computadores cliente. Uma autoridade de certificação é confiável quando o seu certificado está presente no armazenamento de certificados das Autoridades de Certificação Raiz Confiáveis para o utilizador atual e o computador local.

As instruções a seguir ajudam a gerenciar certificados NPS em implantações em que a autoridade de certificação raiz confiável é uma CA de terceiros, como a Verisign, ou é uma autoridade de certificação que você implantou para sua infraestrutura de chave pública (PKI) usando os Serviços de Certificados do Ative Directory (AD CS).

Expiração do certificado de manuseamento

No Network Policy Server (NPS) no Windows Server, o certificado do servidor que se associa a uma política de rede não é atualizado automaticamente quando expira. Quando o certificado aplicado a uma política expira, um administrador deve atualizar manualmente cada política que utilize autenticação baseada em certificado para referenciar um novo certificado não expirado. Até atualizar a apólice, os clientes que dependem dessa apólice não conseguem autenticar-se com sucesso.

Note

Este passo manual não é obrigatório em servidores NPS configurados para auto-registo de certificados. Ao usar o auto-registo, o certificado do servidor é renovado automaticamente antes de expirar, e o NPS continua a usar o certificado renovado sem intervenção do administrador.

Deve repetir o procedimento seguinte para cada política de rede configurada para usar autenticação baseada em certificados (por exemplo, EAP-TLS, PEAP-TLS ou PEAP-MS-CHAP v2).

A associação a Administradores, ou equivalente, é o mínimo necessário para concluir este procedimento.

Para atualizar o certificado numa política de rede

  1. Abra o console do Servidor de Políticas de Rede .

  2. Na árvore do console, expanda Políticas e depois selecione Políticas de Rede.

  3. No painel de detalhes, clique com o botão direito na apólice que pretende atualizar e depois selecione Propriedades.

  4. Selecione o separador Restrições e, em seguida, selecione Métodos de Autenticação.

  5. Na lista de Tipos de EAP , selecione o tipo de EAP que utiliza o certificado a expirar e depois selecione Editar.

  6. Na lista suspensa Certificado emitido para, selecione o novo certificado (não expirado) e, em seguida, selecione OK.

  7. Selecione Aplicar e, em seguida, selecione OK para fechar as propriedades da política.

  8. Repita os passos anteriores para cada política de rede configurada para autenticação baseada em certificados.

  9. Reinicie o serviço do Servidor de Políticas de Rede (IAS) para que a alteração entre em vigor. A partir de um prompt de comando elevado, execute:

    net stop ias && net start ias
    

Para validar o certificado vinculado a uma política de rede

Para confirmar qual o certificado que uma política de rede está a usar atualmente, exporte a configuração do NPS, localize a política por nome e leia a impressão digital do certificado configurado do blob de configuração EAP.

  1. A partir de um prompt PowerShell elevado, execute o seguinte excerto. Define $PolicyName o nome da política de rede que queres validar.

    $PolicyName = "EAP configured network policy"  # Change this to your policy name (case-insensitive)
    $NPSConfigPath = "$env:TEMP\nps-config.xml"
    Export-NpsConfiguration -Path $NPSConfigPath
    $blob = (([xml](Get-Content "$env:TEMP\nps-config.xml" -Raw)).SelectNodes("//RadiusProfiles//*[@name]") | Where-Object { $_.name -ieq $PolicyName }).Properties.msEAPConfiguration.'#text'
    $found = [regex]::Matches($blob, '14000000([0-9a-f]{40})') | ForEach-Object { $_.Groups[1].Value.ToUpper() } | Select-Object -Unique
    if (-not $found) { "No certificate thumbprint found in policy '$PolicyName'" } elseif ($found.Count -eq 1) { "Bound certificate thumbprint:$found" } else { "WARNING: multiple candidate thumbprints found, manual review of $NPSConfigPath needed:`n$($found -join "`n")" }
    
  2. Compare a impressão digital obtida com a impressão digital do certificado que espera que a política utilize (por exemplo, no snap-in Certificados, em Computador Local>, no repositório Pessoal). Se coincidirem, a apólice está vinculada ao certificado esperado.

Alterar a expiração do identificador TLS armazenado em cache

Durante os processos iniciais de autenticação para EAP-TLS, PEAP-TLS e PEAP-MS-CHAP v2, o NPS armazena em cache uma parte das propriedades de conexão TLS do cliente de conexão. O cliente também armazena em cache uma parte das propriedades de conexão TLS do NPS.

Cada coleção individual dessas propriedades de conexão TLS é chamada de identificador TLS.

Os computadores clientes podem armazenar em cache os identificadores TLS para vários autenticadores, enquanto os NPSs podem armazenar em cache os identificadores TLS de muitos computadores cliente.

Os identificadores TLS armazenados em cache no cliente e no servidor permitem que o processo de reautenticação ocorra mais rapidamente. Por exemplo, quando um computador sem fio se autentica novamente com um NPS, o NPS pode examinar o identificador TLS para o cliente sem fio e pode determinar rapidamente que a conexão do cliente é uma reconexão. O NPS autoriza a conexão sem executar a autenticação completa.

Correspondentemente, o cliente examina o identificador TLS para o NPS, determina que ele é uma reconexão e não precisa executar a autenticação do servidor.

Em computadores que executam o Windows 10 e o Windows Server 2016, a expiração do identificador TLS padrão é de 10 horas.

Em algumas circunstâncias, talvez você queira aumentar ou diminuir o tempo de expiração do identificador TLS.

Por exemplo, talvez você queira diminuir o tempo de expiração do identificador TLS em circunstâncias em que o certificado de um usuário é revogado por um administrador e o certificado expirou. Nesse cenário, o usuário ainda pode se conectar à rede se um NPS tiver um identificador TLS armazenado em cache que não expirou. Reduzir a expiração do identificador TLS pode ajudar a impedir que esses usuários com certificados revogados se reconectem.

Note

A melhor solução para esse cenário é desabilitar a conta de usuário no Ative Directory ou remover a conta de usuário do grupo do Ative Directory ao qual é concedida permissão para se conectar à rede na diretiva de rede. No entanto, a propagação dessas alterações para todos os controladores de domínio também pode ser atrasada devido à latência de replicação.

Configurar o tempo de expiração do identificador TLS em computadores cliente

Você pode usar este procedimento para alterar a quantidade de tempo que os computadores clientes armazenam em cache o identificador TLS de um NPS. Depois de autenticar com êxito um NPS, os computadores clientes armazenam em cache as propriedades de conexão TLS do NPS como um identificador TLS. O identificador TLS tem uma duração padrão de 10 horas (36.000.000 milissegundos). Você pode aumentar ou diminuir o tempo de expiração do identificador TLS usando o procedimento a seguir.

A associação a Administradores, ou equivalente, é o mínimo necessário para concluir este procedimento.

Important

Este procedimento deve ser executado em um NPS, não em um computador cliente.

Para configurar o tempo de expiração do identificador TLS em computadores cliente

  1. Em um NPS, abra o Editor do Registro.

  2. Navegue até a chave do Registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  3. No menu Editar , clique em novo e, em seguida, clique em chave .

  4. Digite ClientCacheTime e pressione ENTER.

  5. Clique com o botão direito do rato em ClientCacheTime, clique em Novo e, em seguida, clique em Valor DWORD (32 bits).

  6. Digite a quantidade de tempo, em milissegundos, que você deseja que os computadores cliente armazenem em cache o identificador TLS de um NPS após a primeira tentativa de autenticação bem-sucedida pelo NPS.

Configurar o tempo de expiração do identificador TLS em NPSs

Use este procedimento para alterar a quantidade de tempo que os NPSs armazenam em cache o identificador TLS dos computadores clientes. Depois de autenticar com êxito um cliente de acesso, os NPSs armazenam em cache as propriedades de conexão TLS do computador cliente como um identificador TLS. O identificador TLS tem uma duração padrão de 10 horas (36.000.000 milissegundos). Você pode aumentar ou diminuir o tempo de expiração do identificador TLS usando o procedimento a seguir.

A associação a Administradores, ou equivalente, é o mínimo necessário para concluir este procedimento.

Important

Este procedimento deve ser executado em um NPS, não em um computador cliente.

Para configurar o tempo de expiração do identificador TLS em NPSs

  1. Em um NPS, abra o Editor do Registro.

  2. Navegue até a chave do Registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  3. No menu Editar , clique em novo e, em seguida, clique em chave .

  4. Digite ServerCacheTime e pressione ENTER.

  5. Clique com o botão direito do rato em ServerCacheTime, clique em Novo e, em seguida, clique em Valor DWORD (32 bits).

  6. Digite a quantidade de tempo, em milissegundos, que você deseja que os NPSs armazenem em cache o identificador TLS de um computador cliente após a primeira tentativa de autenticação bem-sucedida pelo cliente.

Obter o hash SHA-1 de um certificado de autoridade de certificação raiz confiável

Utilize este procedimento para obter o hash do algoritmo de hash seguro (SHA-1) de uma autoridade de certificação raiz de confiança a partir de um certificado instalado no computador local. Em algumas circunstâncias, como ao implantar a Diretiva de Grupo, é necessário designar um certificado usando o hash SHA-1 do certificado.

Ao usar a Diretiva de Grupo, você pode designar um ou mais certificados de CA raiz confiáveis que os clientes devem usar para autenticar o NPS durante o processo de autenticação mútua com EAP ou PEAP. Para designar um certificado de autoridade de certificação raiz confiável que os clientes devem usar para validar o certificado do servidor, você pode inserir o hash SHA-1 do certificado.

Este procedimento demonstra como obter o hash SHA-1 de um certificado de autoridade de certificação raiz fidedigna utilizando o snap-in de Certificados do Console de Gestão da Microsoft (MMC).

Para concluir este procedimento, tem de ser membro do grupo Utilizadores no computador local.

Para obter o hash SHA-1 de um certificado de autoridade de certificação raiz confiável

  1. Na caixa de diálogo Executar ou Windows PowerShell, digite mmc e pressione ENTER. O MMC (Console de Gerenciamento Microsoft) é aberto. No MMC, clique em Arquivo e, em seguida, clique em Adicionar/Remover Snap\in. A caixa de diálogo Adicionar ou Remover Snap-ins é aberta.

  2. Em Adicionar ou Remover Snap-ins, em Snap-ins disponíveis, clique duas vezes em Certificados. Abre-se o assistente do snap-in Certificados. Clique em Conta de computador e, em seguida, clique em Avançar.

  3. Em Selecionar Computador, verifique se Computador local (o computador em que este console está sendo executado) está selecionado, clique em Concluir e, em seguida, clique em OK.

  4. No painel esquerdo, clique duas vezes em Certificados (Computador Local) e, em seguida, clique duas vezes na pasta Autoridades de Certificação Raiz Confiáveis .

  5. A pasta Certificados é uma subpasta da pasta Autoridades de Certificação Raiz Confiáveis . Clique na pasta Certificados .

  6. No painel de detalhes, navegue até ao certificado da sua autoridade de certificação raiz de confiança. Clique duas vezes no certificado. A caixa de diálogo Certificado é aberta.

  7. Na caixa de diálogo Certificado , clique na guia Detalhes .

  8. Na lista de campos, desloque-se até e selecione Thumbprint.

  9. No painel inferior, a cadeia de caracteres hexadecimal que é o hash SHA-1 do seu certificado é exibida. Selecione o hash SHA-1 e pressione o atalho de teclado do Windows para o comando Copiar (CTRL+C) para copiar o hash para a área de transferência do Windows.

  10. Abra o local no qual deseja colar o hash SHA-1, localize corretamente o cursor e pressione o atalho de teclado do Windows para o comando Colar (CTRL+V).

Para obter mais informações sobre certificados e NPS, consulte Configurar modelos de certificado para requisitos PEAP e EAP.

Para obter mais informações sobre o NPS, consulte Servidor de diretivas de rede (NPS).