다음을 통해 공유


EAP 구성

이 문서에서는 Windows 10 EAP 인증서 필터링에 대한 정보를 포함하여 VPN 프로필에 대한 EAP(Extensible Authentication Protocol) 구성 XML을 만들기 위한 단계별 가이드를 제공합니다.

VPN 프로필에 대한 EAP 구성 XML 만들기

상자에 제공되는 rasphone 도구를 사용하여 데스크톱에서 EAP 구성을 얻으려면 다음을 수행합니다.

  1. rasphone.exe 실행합니다.

    vpnv2 rasphone.

  2. 현재 VPN 연결이 없고 다음 메시지가 표시되는 경우 확인을 선택합니다.

    vpnv2 csp 네트워크 연결.

  3. 마법사에서 Workplace 네트워크를 선택합니다.

    vpnv2 csp 설정 연결.

  4. 인터넷 주소 및 연결 이름을 입력합니다. 이러한 세부 정보는 인증 매개 변수에 영향을 주지 않으므로 가짜일 수 있습니다.

    vpnv2 csp는 연결 2를 설정합니다.

  5. 가짜 VPN 연결을 만듭니다. 여기에 표시된 UI에서 속성을 선택합니다.

    vpnv2 csp는 nw 연결을 선택합니다.

  6. 테스트 속성 대화 상자에서 보안 탭을 선택합니다.

    vpnv2 csp 테스트 props.

  7. 보안 탭에서 EAP(확장 가능한 인증 프로토콜) 사용을 선택합니다.

    vpnv2 csp test props2.

  8. 드롭다운 메뉴에서 구성하려는 EAP 메서드를 선택한 다음 필요에 따라 구성할 속성을 선택합니다.

    vpnv2 csp test props3. vpnv2 csp test props4

  9. PowerShell로 전환하고 다음 cmdlet을 사용하여 EAP 구성 XML을 검색합니다.

    Get-VpnConnection -Name Test
    

    다음은 출력 예제입니다.

    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
    

    다음은 출력 예제입니다.

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

    참고

    이 XML을 이스케이프된 형식으로 전달해야 하는 경우 MDM(모바일 장치 관리) 공급업체와 검사 합니다. 모든 EAP 메서드에 대한 XSD는 상자에 제공되며 다음 위치에서 찾을 수 있습니다.

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

EAP 인증서 필터링

배포에서 디바이스에 프로비전된 인증서가 여러 대 있고 프로비전된 Wi-Fi 프로필에 엄격한 필터링 기준이 없는 경우 Wi-Fi에 연결할 때 연결 오류가 표시될 수 있습니다. 솔루션은 프로비전된 Wi-Fi 프로필에 엄격한 필터링 조건이 있는지 확인하여 하나의 인증서와만 일치하도록 하는 것입니다.

VPN 및 Wi-Fi 인증서 기반 EAP 인증을 배포하는 기업은 인증의 기본 조건을 충족하는 여러 인증서가 있는 상황이 발생할 수 있습니다. 이 경우 다음과 같은 문제가 발생할 수 있습니다.

  • 사용자에게 인증서를 선택하라는 메시지가 표시될 수 있습니다.
  • 잘못된 인증서가 자동으로 선택되어 인증 오류가 발생할 수 있습니다.

프로덕션 준비 배포에는 배포 중인 프로필의 일부로 적절한 인증서 세부 정보가 있어야 합니다. 다음 정보는 불필요한 인증서가 필터링되고 인증에 적절한 인증서를 사용할 수 있도록 EAP 구성 XML을 만들거나 업데이트하는 방법을 설명합니다.

EAP XML은 사용자 환경에 대한 관련 정보로 업데이트해야 합니다. 이 작업은 다음 XML 샘플을 편집하거나 단계별 UI 가이드를 사용하여 수동으로 수행할 수 있습니다. EAP XML이 업데이트된 후 MDM의 지침을 참조하여 다음과 같이 업데이트된 구성을 배포합니다.

  • Wi-Fi의 경우 현재 WLAN 프로필 XML의 섹션을 찾 <EAPConfig> 습니다. (이 섹션은 Wi-Fi CSP의 WLanXml 노드에 대해 지정한 내용입니다.) 이러한 태그 내에서 전체 EAP 구성을 찾을 수 있습니다. 아래 <EAPConfig> 섹션을 업데이트된 XML로 바꾸고 Wi-Fi 프로필을 업데이트합니다. 새 Wi-Fi 프로필을 배포하는 방법에 대한 MDM의 지침을 참조할 수 있습니다.
  • VPN의 경우 EAP 구성은 MDM 구성에서 별도의 필드입니다. MDM 공급자와 협력하여 적절한 필드를 식별하고 업데이트합니다.

EAP 설정에 대한 자세한 내용은 네트워크 액세스를 위한 EAP(확장 가능한 인증 프로토콜)를 참조하세요.

EAP XML 생성에 대한 자세한 내용은 EAP 구성 문서를 참조하세요.

EKU(확장 키 사용)에 대한 자세한 내용은 를 참조하세요 https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.12.

인증서에 EKU를 추가하는 방법에 대한 자세한 내용은 을 참조하세요 https://technet.microsoft.com/library/cc731792.aspx.

다음 목록에서는 EAP와 함께 사용할 인증서의 필수 구성 요소를 설명합니다.

  • 인증서에는 다음 EKU 속성 중 하나 이상이 있어야 합니다.

    • 클라이언트 인증: RFC 5280에서 정의한 대로 이 속성은 값이 1.3.6.1.5.5.7.3.2인 잘 정의된 OID입니다.
    • 모든 목적: 이 속성은 EKU 정의 속성이며 Microsoft에서 게시합니다. 값이 1.3.6.1.4.1.311.10.12.1인 잘 정의된 OID입니다. 이 OID를 포함하면 인증서를 어떤 용도로든 사용할 수 있습니다. 모든 용도 EKU에 비해 이 EKU의 장점은 유효 필터링을 위해 중요하지 않은 다른 EKU 또는 사용자 지정 EKU를 인증서에 계속 추가할 수 있다는 것입니다.
    • 모든 목적: RFC 5280에 정의된 대로 CA에 일부 애플리케이션 요구 사항을 충족하는 EKU가 포함되어 있지만 키 사용을 제한하지 않으려는 경우 CA는 EKU 값을 0으로 추가할 수 있습니다. 이러한 EKU가 있는 인증서는 모든 용도로 사용할 수 있습니다.
  • 클라이언트의 사용자 또는 컴퓨터 인증서는 신뢰할 수 있는 루트 CA에 연결해야 합니다.

  • 사용자 또는 컴퓨터 인증서는 CryptoAPI 인증서 저장소에서 수행하는 검사 중 하나에 실패하지 않으며 인증서는 원격 액세스 정책의 요구 사항을 통과합니다.

  • 사용자 또는 컴퓨터 인증서는 IAS(인터넷 인증 서비스)/Radius Server에 지정된 인증서 개체 식별자 검사 중 하나에 실패하지 않습니다.

  • 인증서의 주체 대체 이름(SubjectAltName) 확장에는 사용자의 UPN(사용자 계정 이름)이 포함됩니다.

다음 XML 샘플에서는 인증서 필터링을 포함하여 EAP TLS XML의 속성을 설명합니다.

참고

PEAP 또는 TTLS 프로필의 경우 EAP TLS XML은 일부 PEAP별 또는 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>

참고

EAP TLS XSD는 %systemdrive%\Windows\schemas\EAPMethods\eaptlsconnectionpropertiesv3.xsd에 있습니다.

또는 다음 절차를 사용하여 EAP 구성 XML을 만들 수 있습니다.

  1. EAP 구성 문서의 1~7단계를 따릅니다.

  2. Microsoft VPN SelfHost 속성 대화 상자의 드롭다운 메뉴에서 Microsoft: 스마트 카드 또는 기타 인증서를 선택합니다(이 값은 EAP TLS를 선택함).

    vpn 자체 호스트 속성 창.

    참고

    PEAP 또는 TTLS의 경우 적절한 방법을 선택하고 이 절차를 계속 수행합니다.

  3. 드롭다운 메뉴 아래에서 속성 단추를 선택합니다.

  4. 스마트 카드 또는 기타 인증서 속성 메뉴에서 고급 단추를 선택합니다.

    스마트 카드 또는 기타 인증서 속성 창

  5. 인증서 선택 구성 메뉴에서 필요에 따라 필터를 조정합니다.

    인증서 창을 구성합니다.

  6. 확인을 선택하여 창을 닫고 기본 rasphone.exe 대화 상자로 돌아갑니다.

  7. rasphone 대화 상자를 닫습니다.

  8. 적절한 필터링을 사용하여 EAP TLS 프로필을 얻으려면 9단계의 EAP 구성 문서의 절차를 계속 수행합니다.

참고

이 UI를 통해 적용 가능한 다른 모든 EAP 속성도 설정할 수 있습니다. 이러한 속성의 의미에 대한 가이드는 네트워크 액세스에 대한 EAP(Extensible Authentication Protocol) 문서에서 찾을 수 있습니다.

구성 서비스 공급자 참조