RDP 클라이언트는 스마트 카드를 인증에 유효한 것으로 간주하지 않습니다.

RDP 클라이언트는 스마트 카드를 인증에 유효한 것으로 간주하지 않습니다.

나는 가지고있다:

  • Windows 7 클라이언트 시스템. 나는 해당 컴퓨터의 관리자가 아닙니다.
  • 원격 데스크톱을 사용하여 세션을 열려고 하는 Windows 2008R2 서버.
  • 원격 데스크톱 게이트웨이, Windows 2008R2도 실행 중입니다.
  • 스마트 카드.

서버가 스마트 카드 로그온을 허용하도록 구성되었습니다. 게이트웨이에는 스마트 카드 인증도 필요합니다. 모든 클라이언트와 서버는 모든 관련 CA 인증서를 알고 신뢰하며, 인증서가 만료되지 않으며, 모든 CRL이 필요한 곳에 게시됩니다.

결정적으로, 스마트 카드의 인증서에는확장된 키 사용"스마트 카드 로그온" OID를 포함하지 않는 확장명(EKU)입니다. 하지만 "클라이언트 인증" 기능이 있습니다. 그럼에도 불구하고 서버와 게이트웨이는 인증서를 수락하도록 구성되었습니다. 이는 설명된 대로 "확장 키 사용 인증서 속성이 없는 인증서 허용"이라는 정책 설정입니다.거기.

문제

클라이언트는 서버 이름이 지정된 .rdp 파일을 사용합니다.그리고게이트웨이 이름. 게이트웨이는 실제 원격 데스크톱 서버가 아닌 게이트웨이이므로 표시할 "로그인 화면"이 없습니다. 대신 스마트 카드 인증은 사용자가 스마트 카드를 선택하고 PIN 코드를 입력할 수 있도록 클라이언트( mstsc.exeWindows의 표준 RD 클라이언트)에서 처리하는 GUI를 사용합니다. 팝업 모양은 다음과 같습니다.

원하는 스마트카드 인증 팝업

(프랑스어 팝업으로 인해 죄송합니다. 영국어 사용 Windows 7이 없습니다.)

안타깝게도 해당 팝업은 이와 같이 나타나지 않습니다. 대신에 나는 이것을 얻습니다:

실제 스마트카드 인증 팝업

분석

설명한대로여기, 클라이언트 응용 프로그램(mstsc.exe)을 사용하면 OS(Windows 7)가 스마트 카드를 "열거"할 수 있습니다. OS는 일부 기준을 충족하는 인증서가 포함된 스마트 카드를 찾습니다. 특히 해당 인증서에 있는 EKU 확장에는 "스마트 카드 로그온" OID가 포함되어 있습니다. 이는 최종 대상 서버는 물론 게이트웨이와 실제로 통신을 시도하기 전에 수행됩니다. 게이트웨이와 서버는 내 인증서에 완벽하게 만족할 것입니다. 그들은 그렇게 구성되었습니다. 그러나 클라이언트 OS시행하다자체 구성에 따라 동일한 규칙이 적용됩니다. 내 경우 Windows 7에서는 로컬 정책이 로컬 세션 열기를 거부하기 때문에 스마트 카드 사용을 거부합니다(로컬 세션을 전혀 열려고 하지 않는 경우에도 불구하고).

Windows XP의 "스마트 카드 선택 팝업"이 이러한 검사를 시행하지 않기 때문에 이는 Windows XP 클라이언트에서 작동했습니다. Windows XP는 EKU 확장 부족을 허용하지 않기 때문에 훨씬 더 제한적인 방식으로 EKU를 검사합니다. 그러나 원격 세션에 대한 인증서를 선택할 때가 아니라 실제로 로컬 세션을 열려고 할 때만 이러한 검사를 시행합니다.

내가 사용할 수 없는 솔루션

"일반" 솔루션은 서버와 동일한 "확장 키 사용 인증서 속성이 없는 인증서 허용"을 사용하여 로컬 클라이언트(Windows 7)를 구성하는 것입니다. 이렇게 하면 이제 스마트 카드 선택 팝업에 스마트 카드 표시가 허용되며 문제가 없습니다. 다른 시스템에서 테스트해봤습니다. 그러나 로컬 정책을 변경하려면 나에게 없는 관리자 권한이 필요하기 때문에 대상 시스템에서는 그렇게 할 수 없습니다. 마찬가지로, 도메인에 속한 클라이언트의 경우 AD 서버의 GPO에서 설정을 푸시할 수 있는데, 이는 적절한 권한이 부족하여 다시 금지됩니다.

또한 이 정책 설정은 실제로 EKU에 적절한 OID가 없는 인증서를 사용하여 클라이언트 시스템에 로그인하는 것을 허용하며 이는 바람직하지 않은 부작용으로 간주될 수 있다고 말할 수도 있습니다. 세션을 열려고 합니다.원격 서버; 세션을 열기 위한 조건을 변경할 필요가 없습니다.로컬 클라이언트.

이전 mstsc.exe 버전(Windows XP)은 분명히 클라이언트 인증을 요구하지 않고 서버에 연결할 수 있었습니다. 이 경우 원격 서버는 로그인 화면("큰 청록색 화면")을 표시하고 스마트 카드 열거 자체를 처리합니다. 서버에 적절한 정책이 있으므로 이것이 작동합니다. 그러나 다음 두 가지 이유로 이러한 솔루션을 사용할 수 없습니다.

  • Windows 7의 mstsc.exe는 분명히 자체 팝업으로 인증을 수행해야 한다고 주장합니다.
  • 이있다게이트웨이, 이는 최종 대상 서버와 달리 표시할 "로그인 화면"이 없습니다. 클라이언트 스마트 카드 인증이 필요한 게이트웨이를 사용하는 경우 클라이언트 스마트 카드 선택~ 해야 하다클라이언트 소프트웨어에 의해 관리됩니다.

질문

그래서 내 질문은 다음과 같습니다. 이 문제에서 벗어날 수 있는 방법이 있습니까? 이상적으로는 mstsc.exe에 지시하는 mstsc.exe의 일종의 구성 설정(명령줄 스위치 또는 .rdp 파일의 절)입니다.아니다OS 스마트 카드 선택 팝업을 사용하되 자체적으로 열거를 수행하려면,없이EKU에 관한 모든 것을 시행하려고합니다. 나는 그러한 특징의 흔적을 찾지 못했지만 증거가 없다는 것이 부재의 증거는 아닙니다. 나는 단지 그것을 놓쳤을 수도 있습니다.

답변1

연결을 위한 .rdp 파일을 생성하고, .rdp 파일 내에서 활성화 credsspsupport:i:0을 설정하고, 로컬 리소스 매핑을 위한 스마트 카드 옵션이 활성화되어 있는지 확인하십시오(기본값은 켜져 있으므로, 명시적으로 설정을 변경했습니다.)

자세한 내용은 다음 항목을 참조하세요. http://blogs.msdn.com/b/rds/archive/2007/01/22/vista-remote-desktop-connection-authentication-faq.aspx#_When_to_use

난 아니다상당히중간에 있는 게이트웨이 때문에 이것이 문제를 해결하는 데 효과가 있을지 확신하지만 솔직히 이 문제에 대한 다른 가능한 해결책은 생각할 수 없습니다.

관련 정보