Windows XP의 공식 지원이 종료된 지 오랜 시간이 지났지만, 아직도 많은 사용자와 기업 환경에서 이 운영체제를 사용하고 있습니다. 최근 Windows XP의 RDP 클라이언트가 Windows Server 2012 R2 기반으로 새롭게 구축한 원격 데스크톱 서비스(RDS) 팜에 접속하지 못하는 문제가 확인되었습니다. Windows XP에서 Windows 10(1803 버전)으로 RDP 연결을 시도할 때도 동일한 현상이 발생합니다.
Windows XP에서 Windows Server 2016/2012 R2 및 Windows 10으로 원격 데스크톱 연결 불가
Windows XP 사용자들이 겪는 대표적인 RDP 오류 메시지는 다음과 같습니다.
- "보안 오류로 인해 클라이언트가 원격 컴퓨터에 연결할 수 없습니다. 네트워크에 로그온되어 있는지 확인한 후 다시 연결을 시도하십시오."
- "원격 컴퓨터가 이 컴퓨터에서 잘못된 라이선스 메시지를 수신했기 때문에 원격 세션의 연결이 끊어졌습니다."
- "원격 컴퓨터에는 사용자의 컴퓨터가 지원하지 않는 NLA(네트워크 수준 인증)가 필요합니다. 도움이 필요하면 시스템 관리자 또는 기술 지원 담당자에게 문의하십시오."
먼저 Windows XP에 최신 버전의 RDP 클라이언트가 설치되어 있는지 확인해야 합니다. Windows XP에 설치할 수 있는 RDP 클라이언트의 최대 버전은 RDP 7.0(KB969084)입니다. 이 업데이트는 Windows XP SP3에만 설치할 수 있으며, RDP 8.0 이상 버전은 Windows XP에서 공식적으로 지원되지 않습니다. 실제로 이 업데이트를 적용한 결과 절반 정도의 클라이언트에서는 문제가 해결되었지만, 나머지 클라이언트들은 여전히 같은 오류를 겪고 있었습니다.
RDS(Windows Server 2016/2012 R2)에서 RDP 네트워크 수준 인증(NLA) 비활성화
Windows Server 2012 R2 기반 RDS 서버의 문제를 분석한 결과, Windows Server 2012 이상에서는 NLA(Network Level Authentication) 지원이 필수라는 사실을 알 수 있었습니다. 클라이언트가 NLA를 지원하지 않으면 RDS 서버에 접속할 수 없습니다. Windows 10에서도 원격 데스크톱을 활성화하면 기본적으로 NLA가 함께 켜집니다.
따라서 나머지 Windows XP 클라이언트들이 RDS 팜이나 Windows 10에 RDP로 접속하게 하려면 다음 두 가지 방법 중 하나를 선택해야 합니다.
- Remote Desktop Services 2012 R2/2016 팜 서버 또는 Windows 10 워크스테이션에서 NLA 검사를 비활성화
- 또는 Windows XP 클라이언트에서 NLA 지원을 활성화
Windows Server 2012 R2 RDS에서 클라이언트의 NLA 사용을 강제하지 않으려면 서버 관리자(Server Manager) 콘솔을 열고 원격 데스크톱 서비스 → 컬렉션 → QuickSessionCollection으로 이동합니다. 그다음 작업(Tasks) → 속성 편집(Edit Properties)을 선택하고 보안(Security) 탭에서 "네트워크 수준 인증을 사용하는 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용" 옵션의 체크를 해제합니다.
Windows 10에서는 시스템 속성(시스템 → 원격 설정)에서 "네트워크 수준 인증이 지원되는 컴퓨터에서만 연결 허용(권장)" 항목의 체크를 해제하면 NLA를 비활성화할 수 있습니다.
다만 서버 측에서 NLA를 비활성화하면 시스템 보안이 약화되므로 일반적으로 권장되지 않습니다. 가능하다면 아래에서 소개하는 두 번째 방법, 즉 클라이언트 측에서 NLA를 활성화하는 방식을 사용하는 것이 좋습니다.
Windows XP SP3 클라이언트에서 NLA 활성화하기
Windows XP가 RDP 클라이언트로 정상 동작하려면 먼저 Service Pack 3(SP3)가 설치되어 있어야 합니다. SP3는 RDP 클라이언트를 6.1에서 7.0으로 업그레이드하고, CredSSP(Credential Security Service Provider)를 포함한 필수 구성 요소를 지원하기 위한 전제 조건입니다.
CredSSP와 NLA 지원이 없는 상태에서 Windows XP에서 최신 Windows로 RDP 연결을 시도하면 다음과 같은 오류가 발생합니다.
- "인증 오류가 발생했습니다. (코드: 0x80090327)"
NLA 지원 자체는 Windows XP SP3부터 포함되어 있지만 기본값으로 비활성화되어 있습니다. NLA와 CredSSP 인증 지원은 레지스트리 편집을 통해서만 활성화할 수 있습니다.
- 레지스트리 키 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders에서 SecurityProviders 값을 찾아 기존 값 뒤에 쉼표로 구분하여 credssp.dll을 추가합니다.
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 키에서 Security Packages 값에 tspkg 항목을 추가합니다.
- 변경 후 컴퓨터를 재시작합니다.
위 과정을 마치면 Windows XP SP3 컴퓨터는 Windows Server 2016/2012의 터미널 팜이나 Windows 10에 원격 데스크톱으로 문제없이 접속할 수 있습니다. 단, Windows XP 클라이언트에서는 RDP 연결 암호를 저장할 수 없으므로 매번 접속할 때마다 암호를 직접 입력해야 한다는 점에 유의하세요.
팁: 이와 함께 Easy Print를 통한 인쇄 문제도 발생할 수 있습니다. Windows XP 클라이언트가 RDS 2012 환경에서 Easy Print를 사용하려면 다음 요건을 충족해야 합니다.
- 운영체제: Windows XP SP3 이상
- RDP 클라이언트 버전: 6.1 이상
- .NET Framework 3.5 설치
CredSSP Encryption Oracle Remediation 오류
2018년 CredSSP 프로토콜에서 심각한 취약점(CVE-2018-0886)이 발견되었으며, Microsoft는 보안 업데이트를 통해 이를 수정했습니다. 2018년 5월에는 추가 업데이트를 배포하여 취약한 버전의 CredSSP를 사용하는 클라이언트가 RDP로 컴퓨터나 서버에 접속하는 것을 차단했습니다. 이 업데이트가 적용된 상태에서 업데이트되지 않은 원격 컴퓨터에 RDP로 접속하면 "인증 오류가 발생했습니다. 요청한 함수가 지원되지 않습니다."라는 오류가 나타납니다.
Microsoft는 Windows XP와 Windows Server 2003에 대한 보안 업데이트를 더 이상 제공하지 않기 때문에, 이러한 구형 운영체제에서는 지원되는 Windows 버전으로 접속할 수 없습니다.
Windows XP에서 업데이트가 적용된 Windows 10/8.1/7 및 Windows Server 2012/2012 R2/2008 R2로 RDP 연결을 허용하려면 RDP 서버 쪽에서 Encryption Oracle Remediation 정책을 활성화해야 합니다(컴퓨터 구성 → 관리 템플릿 → 시스템 → 자격 증명 위임). 정책 값을 Mitigated로 변경하면 되지만, 이는 보안상 안전하지 않다는 점을 반드시 감안해야 합니다.
팁: Windows XP의 지원 버전인 Windows Embedded POSReady 2009에는 CredSSP 원격 코드 실행 취약점에 대한 별도 업데이트(KB4056564)가 존재합니다. 이론상으로는 이 Embedded POSReady용 업데이트를 일반 Windows XP x86 및 Windows Server 2003에도 설치할 수 있다고 알려져 있습니다.