Microsoft Entra ID를 사용한 VPN 연결에 대한 조건부 액세스

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 11, Windows 10

이 방법 가이드에서는 Microsoft Entra 조건부 액세스를 사용하여 VPN 사용자에게 리소스에 대한 액세스 권한을 부여하는 방법을 알아봅니다. 가상 사설망 (VPN) 연결에 관한 Microsoft Entra 조건부 액세스를 사용하면 VPN 연결을 보호할 수 있습니다. 조건부 액세스는 Microsoft Entra에 연결된 애플리케이션에 관한 액세스 규칙을 만들 수 있는 정책 기반 평가 엔진입니다.

필수 조건

VPN에 대한 조건부 액세스 구성을 시작하기 전에 다음 필수 구성 요소를 완료해야 합니다:

EAP-TLS를 사용하여 CRL(인증서 해지 목록) 확인 무시

NPS 서버가 인증서 체인(루트 인증서 포함)의 해지 확인을 완료하지 않으면 EAP-TLS 클라이언트는 연결할 수 없습니다. Microsoft Entra ID에서 사용자에게 발급한 클라우드 인증서는 수명이 1시간인 짧은 수명 인증서이므로 CRL이 없습니다. NPS의 EAP는 CRL이 없는 것을 무시하도록 구성해야 합니다. 인증 방법은 EAP-TLS이므로 이 레지스트리 값은 EAP\13에서만 필요합니다. 다른 EAP 인증 방법을 사용하는 경우 레지스트리 값도 해당 인증 방법 아래에 추가해야 합니다.

이 섹션에서는, IgnoreNoRevocationCheckNoRevocationCheck를 추가합니다. 기본적으로 IgnoreNoRevocationCheckNoRevocationCheck 는 0(사용 안 함)으로 설정됩니다.

NPS CRL 레지스트리 설정에 대한 자세한 내용은, 네트워크 정책 서버 인증서 해지 목록 확인 레지스트리 설정 구성을 참조 하세요.

Important

Windows 라우팅 및 원격 액세스 서버 (RRAS)가 NPS를 사용하여 두 번째 NPS로 RADIUS 호출을 프록시하는 경우, 두 서버 모두에서 IgnoreNoRevocationCheck=1 을 설정해야 합니다.

이 레지스트리 변경을 구현하지 않으면 PEAP가 있는 클라우드 인증서를 사용하는 IKEv2 연결은 실패하지만 온-프레미스 CA에서 발급한 클라이언트 인증서를 사용하는 IKEv2 연결은 계속 작동합니다.

  1. NPS 서버에서 regedit.exe를 엽니다.

  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13으로 이동합니다.

  3. 편집 > 새로 만들기, DWORD (32비트) 값을 차례로 선택하고 IgnoreNoRevocationCheck를 입력합니다.

  4. IgnoreNoRevocationCheck을 두 번 클릭하고 값 데이터를 1로 설정합니다.

  5. 편집 > 새로 만들기, DWORD (32비트) 값을 차례로 선택하고 NoRevocationCheck를 입력합니다.

  6. NoRevocationCheck을 두 번 클릭하고 값 데이터를 1로 설정합니다.

  7. OK를 선택하고 서버를 재부팅합니다. RRAS 및 NPS 서비스를 다시 시작하는 것으로는 충분하지 않습니다.

레지스트리 경로 EAP 확장
HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13 EAP-TLS
HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\25 PEAP

Microsoft Entra ID를 사용하여 VPN 인증을 위한 루트 인증서 만들기

이 섹션에서는 테넌트에 VPN 서버라는 클라우드 앱을 자동으로 생성하는 Microsoft Entra ID를 사용하여 VPN 인증을 위한 조건부 액세스 루트 인증서를 구성합니다. VPN 연결에 대한 조건부 액세스를 구성하려면 다음을 수행해야 합니다:

  1. Azure Portal에서 VPN 인증서를 만듭니다.
  2. VPN 인증서를 다운로드합니다.
  3. VPN 및 NPS 서버에 인증서를 배포합니다.

Important

Azure 포털에서 VPN 인증서가 만들어지면 Microsoft Entra ID는 즉시 이 인증서를 사용하여 VPN 클라이언트에 단기 인증서를 발급하기 시작합니다. VPN 클라이언트의 자격 증명 유효성 검사 문제를 방지하려면 VPN 인증서를 VPN 서버에 즉시 배포하는 것이 중요합니다.

사용자가 VPN 연결을 시도하면 VPN 클라이언트는 Windows 10 클라이언트의 웹 계정 관리자 (WAM)로 호출합니다. WAM은 VPN Server 클라우드 앱을 호출합니다. 조건부 액세스 정책의 조건 및 제어가 충족되면 Microsoft Entra ID는 단기 (1시간) 인증서 형식의 토큰을 WAM에 발급합니다. WAM은 사용자의 인증서 저장소에 인증서를 저장하고 VPN 클라이언트에 제어권을 넘깁니다. 

그런 다음 VPN 클라이언트는 자격 증명 유효성 검사를 위해 Microsoft Entra ID에서 발급한 인증서를 VPN으로 보냅니다. 

참고 항목

Microsoft Entra ID는 VPN 연결 블레이드에서 가장 최근에 만든 인증서를 발급자로 사용합니다. Microsoft Entra 조건부 액세스 VPN 연결 리프 인증서는 이제 KB5014754가 도입된 인증서 기반 인증 요구 사항인 강력한 인증서 매핑을 지원합니다. 이제 VPN 연결 리프 인증서에는 onPremisesSecurityIdentifier 특성에서 가져온 사용자 SID의 인코딩된 버전이 포함된 SID 확장(1.3.6.1.4.311.25.2)이 포함됩니다.

루트 인증서를 만들려면:

  1. 글로벌 관리자로 Azure Portal에 로그인합니다.
  2. 왼쪽 메뉴에서, Microsoft Entra ID를 클릭하세요.
  3. Microsoft Entra ID 페이지의 관리 섹션에서 보안을 클릭합니다.
  4. 보안 페이지, 보호 섹션에서 조건부 액세스를 클릭합니다.
  5. 조건부 액세스 | 정책 페이지의 관리 섹션에서 VPN 연결성을 클릭합니다.
  6. VPN 연결 페이지에서 새 인증서를 클릭합니다.
  7. 새로 만들기 페이지에서 다음 단계를 수행합니다: a. 선택 기간의 경우 1년, 2년 또는 3년을 선택합니다. b. 만들기를 실행합니다.

조건부 액세스 정책 구성하기

이 섹션에서 VPN 연결에 대한 조건부 액세스 정책을 구성합니다. 첫 번째 루트 인증서가 'VPN 연결' 블레이드에서 만들어지면 테넌트에 'VPN Server' 클라우드 애플리케이션이 자동으로 생성됩니다.

VPN 사용자 그룹에 할당된 조건부 액세스 정책을 만들고 클라우드 앱VPN Server로 범위 지정합니다:

  • 사용자: VPN 사용자
  • 클라우드 앱: VPN Server
  • 부여 (제어 액세스): '다단계 인증이 필요합니다'. 원하는 경우, 다른 컨트롤을 사용할 수 있습니다.

절차: 이 단계에서는 가장 기본적인 조건부 액세스 정책 생성하기를 다룹니다.  원하는 경우, 추가 조건 및 컨트롤을 사용할 수 있습니다.

  1. 조건부 액세스 페이지의 위쪽 도구 모음에서 추가를 선택합니다.

    조건부 액세스 페이지에서 추가 선택하기

  2. 새로 만들기 페이지의 이름 상자에 정책의 이름을 입력합니다. 예를 들어, VPN 정책을 입력합니다.

    조건부 액세스 페이지에서 정책 이름 추가하기

  3. 할당 섹션에서 사용자 및 그룹을 선택합니다.

    사용자 및 그룹 선택

  4. 사용자 및 그룹 페이지에서 다음 단계를 수행합니다:

    테스트 사용자 선택

    a. 사용자와 그룹 선택을 선택합니다.

    b. 선택을 선택합니다.

    c. 선택 페이지에서 VPN 사용자 그룹을 선택한 다음 선택을 선택합니다.

    d. 사용자 및 그룹 페이지에서 완료를 선택합니다.

  5. 새로 만들기 페이지에서 다음 단계를 수행합니다.

    클라우드 앱 선택

    a. 할당 섹션에서 클라우드 앱을 선택합니다.

    b. 클라우드 앱 페이지에서 앱 선택을 선택합니다.

    d. VPN 서버를 선택합니다.

  6. 새로 만들기 페이지에서 허용 페이지를 열려면 제어 섹션에서 허용을 선택합니다.

    권한 부여를 선택하세요.

  7. 허용 페이지에서 다음 단계를 수행합니다:

    다단계 인증 필요 선택

    a. 다단계 인증 필요를 선택합니다.

    b. 선택을 선택합니다.

  8. 새로 만들기 페이지의 정책 사용에서 켜기를 선택합니다.

    정책 사용

  9. 새로 만들기 페이지에서 만들기를 선택합니다.

온-프레미스 AD에 조건부 액세스 루트 인증서 배포

이 섹션에서는 신뢰할 수 있는 루트 인증서를 VPN 인증을 위한 온-프레미스 AD에 배포합니다.

  1. VPN 연결 페이지에서 인증서 다운로드를 선택합니다.

    참고 항목

    base64 인증서 다운로드 옵션은 배포를 위해 base64 인증서가 필요한 일부 구성에 사용할 수 있습니다.

  2. 엔터프라이즈 관리자 권한으로 도메인에 가입된 컴퓨터에 로그온하고 관리자 명령 프롬프트에서 다음 명령을 실행하여 클라우드 루트 인증서를 Enterprise NTauth 저장소에 추가합니다:

    참고 항목

    VPN 서버가 Active Directory 도메인에 조인되지 않은 환경의 경우 클라우드 루트 인증서를 신뢰할 수 있는 루트 인증 기관 저장소에 수동으로 추가해야 합니다.

    명령 설명
    certutil -dspublish -f VpnCert.cer RootCA CN=AIACN=인증 기관 컨테이너에서 Microsoft VPN 루트 CA 1세대를 만들고 각 루트 인증서를 두 Microsoft VPN 루트 CA 1세대 컨테이너의 cACertificate 속성에 값으로 게시합니다.
    certutil -dspublish -f VpnCert.cer NTAuthCA CN=AIACN=인증 기관 컨테이너에서 하나의 CN=NTAuthCertificates 컨테이너를 만들고 각 루트 인증서를 CN=NTAuthCertificates 컨테이너의 cACertificate 속성에 대한 값으로 게시합니다.
    gpupdate /force Windows 서버 및 클라이언트 컴퓨터에 루트 인증서를 신속하게 추가합니다.
  3. 루트 인증서가 Enterprise NTauth 스토어에 있고 신뢰할 수 있는 것으로 표시되는지 확인합니다.

    1. 인증 기관 관리 도구가 설치된 엔터프라이즈 관리자 권한이 있는 서버에 로그온합니다.

    참고 항목

    기본적으로 인증 기관 관리 도구는 인증 기관 서버가 설치됩니다. 서버 관리자 역할 관리 도구의 일부로 다른 멤버 서버에 설치할 수 있습니다.

    1. VPN 서버의 시작 메뉴 pkiview.msc를 입력하여 Enterprise PKI 대화 상자를 엽니다.
    2. 시작 메뉴에서 pkiview.msc를 입력하여 Enterprise PKI 대화 상자를 엽니다.
    3. Enterprise PKI를 마우스 오른쪽 버튼으로 클릭하고 AD 컨테이너 관리를 선택합니다.
    4. 각 Microsoft VPN 루트 CA 1세대 인증서가 다음 아래에 있는지 확인합니다.
      • NTAuthCertificates
      • AIA 컨테이너
      • 인증 기관 컨테이너

Windows 10 디바이스에 대한 OMA-DM 기반 VPNv2 프로필 만들기

이 섹션에서는 Intune을 사용하여 VPN 디바이스 구성 정책을 배포하는 OMA-DM 기반 VPNv2 프로필을 만들 수 있습니다.

  1. Azure Portal에서 Intune>Device 구성>프로필을 선택하고 Intune을 사용하여 VPN 클라이언트 구성에서 이전에 만든 VPN 프로필을 선택합니다.

  2. 정책 편집기에서 속성>설정>기본 VPN을 선택합니다. 기존 EAP Xml를 확장하여 VPN 클라이언트가 처음 발견된 인증서를 사용하도록 방치하는 대신 사용자의 인증서 저장소에서 Microsoft Entra 조건부 액세스 인증서를 검색하는 데 필요한 로직을 제공하는 필터를 포함하도록 합니다.

    참고 항목

    이렇게 하지 않으면 VPN 클라이언트는 온-프레미스 인증 기관에서 발급된 사용자 인증서를 검색하여 VPN 연결에 실패할 수 있습니다.

    Intune 포털

  3. </AcceptServerName></EapType>으로 끝나는 섹션을 찾고 이 두 값 사이에 다음 문자열을 삽입하여 VPN 클라이언트에 Microsoft Entra 조건부 액세스 인증서를 선택하는 논리를 제공합니다.

    <TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2"><FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3"><EKUMapping><EKUMap><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID></EKUMap></EKUMapping><ClientAuthEKUList Enabled="true"><EKUMapInList><EKUName>AAD Conditional Access</EKUName></EKUMapInList></ClientAuthEKUList></FilteringInfo></TLSExtensions>
    
  4. 조건부 액세스 블레이드를 선택하고 VPN 연결에 대한 조건부 액세스사용함으로 전환합니다.

    이 설정을 사용하도록 설정하면 VPNv2 프로필 XML에서 <DeviceCompliance><Enabled>true</Enabled> 설정이 변경됩니다.

    Always On VPN에 대한 조건부 액세스 - 속성

  5. 확인을 선택합니다.

  6. 할당을 선택하고 포함에서 포함할 그룹 선택을 선택합니다.

  7. 이 정책을 수신하는 올바른 그룹을 선택하고 저장을 선택합니다.

    자동 VPN 사용자용 CAP - 할당

클라이언트에서 MDM 정책 동기화 강제 적용

VPN 프로필이 클라이언트 장치에 표시되지 않는 경우, Settings\Network & Internet\VPN에서 MDM 정책을 강제로 동기화할 수 있습니다.

  1. 도메인에 가입된 클라이언트 컴퓨터에 VPN 사용자 그룹의 구성원으로 로그인합니다.

  2. 시작 메뉴 계정을 입력하고 Enter 키를 누릅니다.

  3. 왼쪽 탐색 창에서 기업 또는 학교 액세스를 선택합니다.

  4. 기업 또는 학교에서다음에 연결<\domain> MDM에 연결한 다음 정보를 선택합니다.

  5. 동기화를 선택하고 Settings\Network & Internet\VPN 아래에 VPN 프로필이 표시되는지 확인합니다.

다음 단계

Microsoft Entra 조건부 액세스를 사용하도록 VPN 프로필을 구성했습니다.

  • VPN에서 조건부 액세스가 작동하는 방식에 대한 자세한 내용은 VPN 및 조건부 액세스를 참조하세요.

  • 고급 VPN 기능에 대한 자세한 내용은 고급 VPN 기능 을 참조하세요.

  • VPNv2 CSP의 개요를 보려면 VPNv2 CSP를 참조하세요. 이 항목에서는 VPNv2 CSP에 대한 개요를 제공합니다.