Computer >> 컴퓨터 >  >> 시스템 >> Windows 7

RDP '인증 오류가 발생했습니다 – 요청한 기능이 지원되지 않습니다' 오류 완벽 해결 가이드

Windows 10 데스크톱에 최신 보안 업데이트를 설치한 후, 원격 데스크톱(RDP)으로 Windows Server 2012 R2가 실행 중인 새 VDS 서버에 더 이상 연결할 수 없게 되었습니다. mstsc.exe 클라이언트 창에 RDP 서버 이름을 입력하고 "연결"을 클릭하면 아래와 같은 오류 메시지가 나타납니다.

원격 데스크톱 연결
인증 오류가 발생했습니다.
요청한 기능이 지원되지 않습니다.
원격 컴퓨터: computer_name

설치된 최신 업데이트를 제거하고 컴퓨터를 재부팅하면 RDP를 통해 원격 서버에 다시 연결할 수 있었습니다. 하지만 이는 어디까지나 임시적인 해결책일 뿐입니다. 다음 달에 새로운 Windows 누적 업데이트가 설치되면 동일한 RDP 인증 오류가 다시 나타날 것입니다. 근본적인 해결 방법이 있을까요?

문제의 원인

업데이트를 제거하는 것으로 문제를 해결하는 것은 바람직하지 않습니다. 해당 업데이트가 수정하는 각종 보안 취약점에 컴퓨터가 그대로 노출되기 때문입니다. 참고로 "인증 오류가 발생했습니다"라는 RDP 오류는 RemoteApp 응용 프로그램을 실행할 때도 나타날 수 있습니다.

그렇다면 왜 이런 문제가 발생하는 걸까요? 원인은 Windows 10 데스크톱에 2018년 5월 이후 출시된 최신 보안 업데이트가 설치되어 있기 때문입니다. 이 업데이트는 RDP 서버 인증에 사용되는 CredSSP(Credential Security Support Provider) 프로토콜의 심각한 취약점(CVE-2018-0886)을 수정합니다. 반면 연결하려는 RDP/RDS 서버 측에는 해당 업데이트가 설치되어 있지 않고, 원격 데스크톱 액세스에 NLA(네트워크 수준 인증)가 활성화되어 있습니다. NLA는 TLS/SSL 또는 Kerberos를 통해 CredSSP 메커니즘으로 RDP 사용자를 사전 인증하는데, 클라이언트 컴퓨터는 취약한 버전의 CredSSP를 사용하는 서버로의 원격 데스크톱 연결을 차단하는 것입니다.

해결 방법 3가지

  1. 가장 올바른 방법: RDP로 연결하려는 원격 컴퓨터 또는 RDS 서버에 최신 Windows 누적 보안 업데이트를 설치하는 것입니다.
  2. 임시 해결책 1: RDP 서버 측에서 NLA(네트워크 수준 인증)를 비활성화합니다(아래 설명 참조).
  3. 임시 해결책 2: 안전하지 않은 버전의 CredSSP를 사용하는 원격 데스크톱에 연결을 허용하도록 클라이언트를 재구성합니다. 레지스트리 값 AllowEncryptionOracle을 변경하거나(REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2), 로컬 정책 "암호화 Oracle 수정""취약함(Vulnerable)"으로 설정하면 됩니다. ILO, 가상 머신 콘솔, 클라우드 공급자 웹 콘솔 등을 통해 서버에 로컬로 로그인할 수 없는 상황이라면 RDP로 원격 서버에 접속할 수 있는 유일한 방법입니다. 이 모드로 접속해 최신 보안 업데이트를 설치한 후에는, 반드시 정책을 비활성화하거나 AllowEncryptionOracle 값을 0으로 되돌려야 합니다(REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0).

Windows에서 원격 데스크톱 NLA 비활성화하기

RDP 서버에서 NLA가 활성화되어 있다면, CredSSP가 RDP 사용자 사전 인증에 사용되고 있다는 의미입니다. 시스템 속성"원격" 탭에서 "네트워크 수준 인증이 있는 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용(권장)" 옵션의 체크를 해제하면 네트워크 수준 인증을 비활성화할 수 있습니다(Windows 10/8.1 또는 Windows Server 2012 R2/2016 기준).

Windows 7(Windows Server 2008 R2)에서는 옵션 명칭이 다릅니다. "원격" 탭에서 "모든 버전의 원격 데스크톱을 실행하는 컴퓨터에서 연결 허용(보안 수준 낮음)"을 선택하면 됩니다.

또한 로컬 그룹 정책 편집기(gpedit.msc)나 도메인 그룹 정책 관리 콘솔(GPMC.msc)을 통해서도 NLA를 비활성화할 수 있습니다. 정책 편집기에서 컴퓨터 구성 → 관리 템플릿 → Windows 구성 요소 → 원격 데스크톱 서비스 → 원격 데스크톱 세션 호스트 → 보안으로 이동한 뒤, "네트워크 수준 인증을 사용한 원격 연결에 대한 사용자 인증 요구" 정책을 찾아 비활성화합니다.

이어서 "원격(RDP) 연결에 특정 보안 계층 사용 요구" 정책 설정에서 RDP 보안 계층을 선택해야 합니다.

새로운 RDP 설정을 적용하려면 로컬 컴퓨터에서 그룹 정책을 갱신(gpupdate /force)하거나 데스크톱을 재부팅합니다. 그 후에는 원격 데스크톱에 정상적으로 연결할 수 있습니다.