Configuração de EAP

Este artigo fornece um guia passo a passo para criar um XML de configuração do Protocolo de Autenticação Extensível (EAP) para um perfil de VPN, incluindo informações sobre a filtragem de certificadoS EAP no Windows 10.

Criar um XML de configuração de EAP para um perfil de VPN

Para obter a configuração de EAP da área de trabalho usando a ferramenta rasphone fornecida na caixa:

  1. Execute rasphone.exe.

    vpnv2 rasphone.

  2. Se você não tiver uma conexão VPN no momento e vir a mensagem a seguir, selecione OK.

    Conexões de rede csp vpnv2.

  3. No assistente, selecione Rede do local de trabalho.

    vpnv2 csp configurou a conexão.

  4. Insira um endereço de Internet e um nome de conexão. Esses detalhes podem ser falsos, pois não afetam os parâmetros de autenticação.

    vpnv2 csp configurou a conexão 2.

  5. Crie uma conexão VPN falsa. Na interface do usuário mostrada aqui, selecione Propriedades.

    csp vpnv2 escolha nw connection.

  6. Na caixa de diálogo Propriedades do Teste, selecione a guia Segurança.

    adereços de teste do csp vpnv2.

  7. Na guia Segurança, selecione Usar Protocolo de Autenticação Extensível (EAP).

    vpnv2 csp test props2.

  8. No menu suspenso, selecione o método EAP que você deseja configurar e, em seguida, selecione Propriedades para configurar conforme necessário.

    vpnv2 csp test props3.vpnv2 csp test props4

  9. Alterne para o PowerShell e use os cmdlets a seguir para recuperar o XML de configuração do EAP.

    Get-VpnConnection -Name Test
    

    Aqui está um exemplo de saída.

    Name                  : Test
    ServerAddress         : 1.1.1.1
    AllUserConnection     : False
    Guid                  : {EC87F6C9-8823-416C-B92B-517D592E250F}
    TunnelType            : Automatic
    AuthenticationMethod  : {Eap}
    EncryptionLevel       : Optional
    L2tpIPsecAuth         : Certificate
    UseWinlogonCredential : False
    EapConfigXmlStream    : #document
    ConnectionStatus      : Disconnected
    RememberCredential    : True
    SplitTunneling        : False
    DnsSuffix             :
    IdleDisconnectSeconds : 0
    
    $a = Get-VpnConnection -Name Test
    
    $a.EapConfigXmlStream.InnerXml
    

    Aqui está um exemplo de saída.

    <EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig"><EapMethod><Type xmlns="http://www.microsoft.co
    m/provisioning/EapCommon">13</Type><VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId><VendorTy
    pe xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType><AuthorId xmlns="http://www.microsoft.com/provisi
    oning/EapCommon">0</AuthorId></EapMethod><Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig"><Eap xmlns="h
    ttp://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"><Type>13</Type><EapType xmlns="http://www.microsoft.co
    m/provisioning/EapTlsConnectionPropertiesV1"><CredentialsSource><CertificateStore><SimpleCertSelection>true</SimpleCertSel
    ection></CertificateStore></CredentialsSource><ServerValidation><DisableUserPromptForServerValidation>false</DisableUserPr
    omptForServerValidation><ServerNames></ServerNames></ServerValidation><DifferentUsername>false</DifferentUsername><Perform
    ServerValidation xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">true</PerformServerValidation>
    <AcceptServerName xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">true</AcceptServerName><TLSEx
    tensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2"><FilteringInfo xmlns="http://www.micro
    soft.com/provisioning/EapTlsConnectionPropertiesV3"><ClientAuthEKUList Enabled="true" /><AnyPurposeEKUList Enabled="true"
    /></FilteringInfo></TLSExtensions></EapType></Eap></Config></EapHostConfig>
    

    Observação

    Você deve verificar com o fornecedor Gerenciamento de Dispositivos (MDM) móvel, se precisar passar esse XML no formato de escape. Os XSDs de todos os métodos EAP são enviados na caixa e podem ser encontrados nos seguintes locais:

    • C:\Windows\schemas\EAPHost
    • C:\Windows\schemas\EAPMethods

Filtragem de certificado EAP

Em sua implantação, se você tiver vários certificados provisionados no dispositivo e o perfil do Wi-Fi provisionado não tiver critérios de filtragem estritos, você poderá ver falhas de conexão ao se conectar ao Wi-Fi. A solução é garantir que o perfil Wi-Fi provisionado tenha critérios de filtragem estritos para que ele corresponda a apenas um certificado.

As empresas que implantam a autenticação de EAP baseada em certificado para VPN e Wi-Fi podem encontrar uma situação em que há vários certificados que atendem aos critérios padrão de autenticação. Essa situação pode levar a problemas como:

  • O usuário pode ser solicitado a selecionar o certificado.
  • O certificado errado pode ser selecionado automaticamente e causar uma falha de autenticação.

Uma implantação pronta para produção deve ter detalhes de certificado apropriados como parte do perfil que está sendo implantado. As informações a seguir explicam como criar ou atualizar um XML de configuração de EAP, de modo que os certificados desnecessários sejam filtrados e o certificado apropriado possa ser usado para a autenticação.

O XML EAP deve ser atualizado com informações relevantes para seu ambiente. Essa tarefa pode ser feita manualmente editando o exemplo XML a seguir ou usando o guia de interface do usuário passo a passo. Depois que o XML do EAP for atualizado, consulte as instruções do MDM para implantar a configuração atualizada da seguinte maneira:

  • Para Wi-Fi, procure a seção <EAPConfig> do xml de perfil WLAN atual. (Esta seção é o que você especifica para o nó WLanXml no Wi-Fi CSP.) Dentro dessas marcas, você encontrará a configuração completa do EAP. Substitua a seção em <EAPConfig> pelo XML atualizado e atualize seu Wi-Fi perfil. Você pode consultar as diretrizes do MDM sobre como implantar um novo Wi-Fi perfil.
  • Para VPN, a configuração de EAP é um campo separado na configuração do MDM. Trabalhe com seu provedor de MDM para identificar e atualizar o campo apropriado.

Para obter informações sobre as configurações de EAP, consulte https://technet.microsoft.com/library/hh945104.aspx#BKMK_Cfg_cert_Selct.

Para obter informações sobre como gerar um XML EAP, consulte o artigo de configuração do EAP.

Para obter mais informações sobre o EKU (uso estendido de chave), consulte https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.12.

Para obter informações sobre como adicionar EKU a um certificado, consulte https://technet.microsoft.com/library/cc731792.aspx.

A lista a seguir descreve os pré-requisitos para um certificado a ser usado com o EAP:

  • O certificado deve ter pelo menos uma das seguintes propriedades de EKU:

    • Autenticação de cliente: conforme definido pelo RFC 5280, essa propriedade é uma OID bem definida com o valor 1.3.6.1.5.5.7.3.2.
    • Qualquer Finalidade: essa propriedade é definida por EKU e é publicada pela Microsoft. É um OID bem definido com o valor 1.3.6.1.4.1.311.10.12.1. A inclusão desse OID implica que o certificado pode ser usado para qualquer finalidade. A vantagem desse EKU em relação ao EKU de Todas as Finalidades é que outras EKUs não críticas ou personalizadas ainda podem ser adicionadas ao certificado para filtragem eficaz.
    • Toda a finalidade: conforme definido pelo RFC 5280, se uma AC incluir EKUs para atender a algumas necessidades do aplicativo, mas não quiser restringir o uso da chave, a AC poderá adicionar um valor de EKU de 0. Um certificado com tal EKU pode ser usado para todas as finalidades.
  • O usuário ou o certificado do computador no cliente deve encadear a uma AC raiz confiável.

  • O usuário ou o certificado do computador não falha em nenhuma das verificações executadas pelo repositório de certificados CryptoAPI e o certificado passa os requisitos na política de acesso remoto.

  • O usuário ou o certificado do computador não falha em nenhuma das verificações de identificador de objeto de certificado especificadas no Serviço de Autenticação da Internet (IAS)/Servidor Radius.

  • A extensão Nome Alternativo da Entidade (SubjectAltName) no certificado contém o nome UPN do usuário.

O exemplo XML a seguir explica as propriedades para o XML TLS do EAP, incluindo a filtragem de certificados.

Observação

Para perfis PEAP ou TTLS, o XML TLS do EAP é inserido em alguns elementos específicos de PEAP ou TTLS.

<EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
 <EapMethod>
  <Type xmlns="http://www.microsoft.com/provisioning/EapCommon">13</Type>
  <!--The above property defines the Method type for EAP, 13 means EAP TLS -->

  <VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId>
  <VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType>
  <AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId>
  <!--The 3 properties above define the method publishers, this is seen primarily in 3rd party Vendor methods.-->
  <!-- For Microsoft EAP TLS the value of the above fields will always be 0 --> 
 </EapMethod>
 <!-- Now that the EAP Method is Defined we will go into the Configuration --> 
 <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
  <Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
   <Type>13</Type>
   <EapType xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV1">
    <CredentialsSource>
     <!-- Credential Source can be either CertificateStore or SmartCard --> 
     <CertificateStore>
      <SimpleCertSelection>true</SimpleCertSelection>
      <!--SimpleCertSelection automatically selects a cert if there are mutiple identical (Same UPN, Issuer, etc.) certs.-->
      <!--It uses a combination of rules to select the right cert-->
     </CertificateStore>
    </CredentialsSource>
    <ServerValidation>
     <!-- ServerValidation fields allow for checks on whether the server being connected to and the server cert being used are trusted -->
     <DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>
     <ServerNames/>
    </ServerValidation>
    <DifferentUsername>false</DifferentUsername>
    <PerformServerValidation xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">false</PerformServerValidation>
    <AcceptServerName xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">false</AcceptServerName>
    <TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">
     <!-- For filtering the relevant information is below -->
     <FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3">
      <CAHashList Enabled="true">
       <!-- The above implies that you want to filter by Issuer Hash -->
       <IssuerHash>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        <!-- Issuing certs thumbprint goes here-->
       </IssuerHash>
       <!-- You can add multiple entries and it will find the list of certs that have at least one of these certs in its chain--> 
      </CAHashList>
      <EKUMapping>
       <!-- This section defines Custom EKUs that you may be adding-->
       <!-- You do not need this section if you do not have custom EKUs -->
       <!-- You can have multiple EKUs defined here and then referenced below as shown -->
       <EKUMap>
        <EKUName>
         <!--Add a friendly Name for an EKU here for example -->ContostoITEKU</EKUName> 
        <EKUOID>
         <!--Add the OID Value your CA adds to the certificate here, for example -->1.3.6.1.4.1.311.42.1.15</EKUOID> 
       </EKUMap>
        <!-- All the EKU Names referenced in the example below must first be defined here
       <EKUMap>
        <EKUName>Example1</EKUName>
        <EKUOID>2.23.133.8.3</EKUOID>
      
       </EKUMap>
       <EKUMap>
        <EKUName>Example2</EKUName>
        <EKUOID>1.3.6.1.4.1.311.20.2.1</EKUOID>
       </EKUMap>
       -->
      </EKUMapping>
      <ClientAuthEKUList Enabled="true">
       <!-- The above implies that you want certs with Client Authentication EKU to be used for authentication -->
       <EKUMapInList>
        <!-- This section implies that the certificate should have the following custom EKUs in addition to the Client Authentication EKU -->
        <EKUName>
         <!--Use the name from the EKUMap Field above-->ContostoITEKU</EKUName> 
       </EKUMapInList>
       <!-- You can have multiple Custom EKUs mapped here, Each additional EKU will be processed with an AND operand -->
       <!-- For example, Client Auth EKU AND ContosoITEKU AND Example1 etc. -->
       <EKUMapInList>
        <EKUName>Example1</EKUName>
       </EKUMapInList>
      </ClientAuthEKUList>
      <AllPurposeEnabled>true</AllPurposeEnabled>
      <!-- Implies that a certificate with the EKU field = 0 will be selected --> 
      <AnyPurposeEKUList Enabled="true"/>
      <!-- Implies that a certificate with the EKU oid Value of 1.3.6.1.4.1.311.10.12.1 will be selected --> 
      <!-- Like for Client Auth you can also add Custom EKU properties with AnyPurposeEKUList (but not with AllPurposeEnabled) -->
      <!-- So here is what the above policy implies. 
      The certificate selected will have
      Issuer Thumbprint = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
      AND
      ((Client Authentication EKU AND ContosoITEKU) OR (AnyPurposeEKU) OR AllPurpose Certificate)
      
      Any certificate(s) that match these criteria will be utilised for authentication
      -->
     </FilteringInfo>
    </TLSExtensions>
   </EapType>
  </Eap>
 </Config>
</EapHostConfig>

Observação

O XSD TLS do EAP está localizado em %systemdrive%\Windows\schemas\EAPMethods\eaptlsconnectionpropertiesv3.xsd.

Como alternativa, você pode usar o procedimento a seguir para criar um XML de configuração de EAP:

  1. Siga as etapas 1 a 7 no artigo de configuração do EAP.

  2. Na caixa de diálogo Propriedades do AutoHost de VPN da Microsoft , selecione Microsoft: Cartão Inteligente ou outro Certificado no menu suspenso (esse valor seleciona O TLS do EAP).

    janela de propriedades de auto-host vpn.

    Observação

    Para PEAP ou TTLS, selecione o método apropriado e continue seguindo este procedimento.

  3. Selecione o botão Propriedades abaixo do menu suspenso.

  4. No menu Smart Card ou em outras Propriedades do Certificado , selecione o botão Avançado.

    cartão inteligente ou outra janela de propriedades do certificado.

  5. No menu Configurar Seleção de Certificado , ajuste os filtros conforme necessário.

    configurar a janela de certificado.

  6. Selecione OK para fechar as janelas e voltar para a caixa de rasphone.exe principal.

  7. Feche a caixa de diálogo rasphone.

  8. Continue seguindo o procedimento no artigo de configuração do EAP da etapa 9 para obter um perfil TLS do EAP com filtragem apropriada.

Observação

Você também pode definir todas as outras propriedades de EAP aplicáveis por meio dessa interface do usuário. Um guia para o que essas propriedades significam pode ser encontrado no artigo EAP (Protocolo de Autenticação Extensível) Configurações para Acesso à Rede.

Tópicos relacionados

Referência de provedor de serviços de configuração