Compartilhar via


Configuração de EAP

Este artigo fornece um guia passo a passo para criar um XML de configuração de Protocolo de Autenticação Extensível (EAP) para um perfil VPN, incluindo informações sobre a filtragem de certificados EAP no Windows. Embora as capturas de ecrã sejam especificamente para VPN, as partes EAP são aplicáveis aos perfis EAP Wi-Fi e Wired também. Para obter mais informações, veja Configurar perfis e definições EAP no Windows.

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

Para obter a configuração EAP do seu ambiente de trabalho com a ferramenta rasphone que é enviada na caixa:

  1. Execute rasphone.exe.

    vpnv2 rasphone.

  2. Se não tiver atualmente uma ligação VPN e vir a seguinte mensagem, selecione OK.

    ligações de rede vpnv2 csp.

  3. No assistente, selecione Rede da área de trabalho.

    vpnv2 csp configurar ligação.

  4. Introduza um endereço internet e um nome de ligação. Estes detalhes podem ser falsos, uma vez que não afetam os parâmetros de autenticação.

    vpnv2 csp configure a ligação 2.

  5. Crie uma ligação VPN falsa. Na IU apresentada aqui, selecione Propriedades.

    vpnv2 csp selecione nw connection.

  6. Na caixa de diálogo Propriedades de Teste , selecione o separador Segurança .

    vpnv2 csp test props.

  7. No separador Segurança , selecione Utilizar Protocolo de Autenticação Extensível (EAP).

    vpnv2 csp test props2.

  8. No menu pendente, selecione o método EAP que pretende configurar e, em seguida, selecione Propriedades para configurar conforme necessário.

    vpnv2 csp test props3. vpnv2 csp test props4

  9. Mude para o PowerShell e utilize os seguintes cmdlets para obter o XML de configuração EAP.

    Get-VpnConnection -Name Test
    

    Eis um resultado de exemplo.

    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
    

    Eis um resultado de exemplo.

    <EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
      <EapMethod>
        <Type xmlns="http://www.microsoft.com/provisioning/EapCommon">13</Type>
        <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>
      </EapMethod>
      <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>
              <CertificateStore>
                <SimpleCertSelection>true</SimpleCertSelection>
              </CertificateStore>
            </CredentialsSource>
            <ServerValidation>
              <DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>
              <ServerNames />
            </ServerValidation>
            <DifferentUsername>false</DifferentUsername>
            <PerformServerValidation xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">true</PerformServerValidation>
            <AcceptServerName xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">true</AcceptServerName>
            <TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">
              <FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3">
                <ClientAuthEKUList Enabled="true" />
                <AnyPurposeEKUList Enabled="true" />
              </FilteringInfo>
            </TLSExtensions>
          </EapType>
        </Eap>
      </Config>
    </EapHostConfig>
    

    Observação

    Deve marcar com o fornecedor do Mobile Gerenciamento de Dispositivos (MDM), se precisar de transmitir este XML em formato de escape. Os XSDs para todos os métodos EAP são enviados na caixa e podem ser encontrados nas seguintes localizações:

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

Filtragem de certificados EAP

Na sua implementação, se tiver vários certificados aprovisionados no dispositivo e o perfil de Wi-Fi aprovisionado não tiver critérios de filtragem rigorosos, poderá ver falhas de ligação ao ligar ao Wi-Fi. A solução é garantir que o perfil Wi-Fi aprovisionado tem critérios de filtragem rigorosos para que corresponda apenas a um certificado.

As empresas que implementam a autenticação EAP baseada em certificados para VPN e Wi-Fi podem encontrar uma situação em que existem vários certificados que cumprem os critérios predefinidos de autenticação. Esta situação pode originar problemas como:

  • Poderá ser pedido ao utilizador que selecione o certificado.
  • O certificado errado pode estar selecionado automaticamente e causar uma falha de autenticação.

Uma implementação pronta para produção tem de ter os detalhes do certificado adequados como parte do perfil que está a ser implementado. As seguintes informações explicam como criar ou atualizar um XML de configuração EAP de modo a que os certificados estranhos sejam filtrados e que o certificado adequado possa ser utilizado para a autenticação.

O XML de EAP tem de ser atualizado com informações relevantes para o seu ambiente. Esta tarefa pode ser feita manualmente ao editar o seguinte exemplo XML ou ao utilizar o guia de IU passo a passo. Depois de o XML de EAP ser atualizado, veja as instruções da MDM para implementar a configuração atualizada da seguinte forma:

  • Para Wi-Fi, procure a <EAPConfig> secção do seu XML de Perfil WLAN atual. (Esta secção é o que especificar para o nó WLanXml no Wi-Fi CSP.) Nestas etiquetas, encontrará a configuração EAP completa. Substitua a secção em <EAPConfig> pelo XML atualizado e atualize o perfil de Wi-Fi. Pode consultar a documentação de orientação da MDM sobre como implementar um novo perfil de Wi-Fi.
  • Para a VPN, a configuração de EAP é um campo separado na configuração de MDM. Trabalhe com o seu fornecedor de MDM para identificar e atualizar o campo adequado.

Para obter informações sobre as definições de EAP, veja Extensible Authentication Protocol (EAP) para obter acesso à rede.

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

Para obter mais informações sobre a utilização alargada de chaves (EKU), consulte https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.12.

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

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

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

    • Autenticação de Cliente: conforme definido pelo RFC 5280, esta propriedade é um OID bem definido com o valor 1.3.6.1.5.5.7.3.2.
    • Qualquer Finalidade: esta 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 deste OID implica que o certificado pode ser utilizado para qualquer finalidade. A vantagem deste EKU sobre o EKU Para Todos os Fins é que outras EKUs não críticas ou personalizadas ainda podem ser adicionadas ao certificado para filtragem eficaz.
    • Todos os Fins: conforme definido pelo RFC 5280, se uma AC incluir EKUs para satisfazer algumas necessidades da aplicação, mas não quiser restringir a utilização da chave, a AC pode adicionar um valor de EKU de 0. Um certificado com esse EKU pode ser utilizado para todos os fins.
  • O utilizador ou o certificado de computador no cliente têm de ser ligados a uma AC de raiz fidedigna.

  • O utilizador ou o certificado de computador não falha nenhuma das verificações efetuadas pelo arquivo de certificados CryptoAPI e o certificado passa os requisitos na política de acesso remoto.

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

  • A extensão Nome Alternativo do Requerente (SubjectAltName) no certificado contém o nome principal de utilizador (UPN) do utilizador.

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

Observação

Para perfis PEAP ou TTLS, o XML EAP TLS é incorporado em alguns elementos específicos de PEAP ou específicos de 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 EAP TLS XSD está localizado em %systemdrive%\Windows\schemas\EAPMethods\eaptlsconnectionpropertiesv3.xsd.

Em alternativa, pode utilizar o seguinte procedimento para criar um XML de configuração EAP:

  1. Siga os passos 1 a 7 no artigo de configuração EAP.

  2. Na caixa de diálogo Propriedades do SelfHost da VPN da Microsoft , selecione Microsoft: Smart Card ou outro Certificado no menu pendente (este valor seleciona EAP TLS).

    janela de propriedades do vpn self host.

    Observação

    Para PEAP ou TTLS, selecione o método adequado e continue a seguir este procedimento.

  3. Selecione o botão Propriedades por baixo do menu pendente.

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

    smart card ou outra janela de propriedades do certificado.

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

    configure a janela do certificado.

  6. Selecione OK para fechar as janelas e voltar à caixa de diálogo main rasphone.exe.

  7. Feche a caixa de diálogo rasphone.

  8. Continue a seguir o procedimento no artigo de configuração EAP do passo 9 para obter um perfil EAP TLS com filtragem adequada.

Observação

Também pode definir todas as outras Propriedades EAP aplicáveis através desta IU. Pode encontrar um guia para o que estas propriedades significam no artigo Protocolo de Autenticação Extensível (EAP) para acesso à rede .