티스토리 뷰

Windows Server 2008 R2 최신 보안 업데이트 적용 후 원격 데스크탑 연결이 실패 되는 현상이 종종 발생 하고 있습니다.
이러한 현상은 지난 3월에 한 차례 경험을 하였고 4월과 5월 그리고 6월에도 똑같은 현상이 발생하여 내용을 정리 해 봅니다. 참고 하시기 바랍니다.

[환 경]
Windows Server 2008 R2

[증 상]
Windows update 실행 후 원격 데스크탑을 연결을 할 경우 로그온 화면에서 사용자 계정 정보 입력 후 연결이 실패 되는 현상
 - 원격 데스크탑 연결 시 TermService를 실행하는 svchost.exe에 크래시가 발생 함

[원인 분석 및 조치 방법]
지난 4월에 발표 된 원격 데스크톱의 취약점으로 인한 원격 코드 실행 문제점 핫 픽스(KB2621440, KB2667402) 를 다른 여러 보안 업데이트와 동시에 설치 하는 중에 위 두 핫 픽스가 정상적으로 설치 되지 않을 경우 해당 현상이 발생 할 수 있습니다.
http://technet.microsoft.com/ko-kr/security/bulletin/ms12-020


최신 핫 픽스 적용 후 원격 데스크탑 연결이 실패 될 경우 해당 서버에 로그온 후 Remote desktop service를 다시 시작 한 후 Tasklist 커멘드를 이용해서 TermService를 실행하는 svchost.exe의 process ID를 확인 합니다.

Tasklist /svc |fnidstr Term*

위 명령어를 통해서 확인 된 PID를 기억합니다.
다음으로 Adplus나 user dump 를 수집 할 수 있는 툴을 이용해서 해당 프로세스의 crash 덤프를 설정 합니다. 서버에 Windows Debugging tool이 설치 되어 있다는 가정하에 Windows debugging tool이 설치 된 폴더로 이동하여 아래와 같은 명령어를 실행 합니다.

adplus –crash p 2060 –o c:\temp

User dump를 수집 하는 자세한 방법 아래 제 블로그를 통해서 확인이 가능 합니다.
Windows server 프로세스 덤프 (user dump) 수집 방법
http://ryuchan.kr/230

svchost.exe에 대한 crash 덤프 설정 후 다시 원격 데스크탑 연결을 시도 해 봅니다. 로그온 화면에서 사용자 계정 정보 입력 후 접속을 시도 할 경우 다시 연결이 실패 되고 C:\temp 폴더에 크래시 덤프가 수집 될 것입니다.

수집 된 해당 덤프를 Windows Debugging tool이용해서 확인 해 보면 아래와 같이 svchost.exe 에서 Access Violation이 발생 한 것을 확인 할 수 있으며 문제를 유발 시킨 모듈은 rdpcorekmts.dll 임을 확인 할 수 있습니다.

Windows Server 2008 R2에 대한 최신 업데이트 이후 위와 같은 문제가 발생 한다면 최초 위에서 언급 한 대로 프로그램 추가 제거에서 KB2621440, KB2667402를 제거 하시면 원격 접속이 가능 합니다. 또한 해당 hoitfix를 제거 후 다시 설치 할 경우 아무런 문제 없이 원격 데스크탑 연결이 가능 합니다.

그러므로 위와 같은 문제가 발생하여 두 핫 픽스를 제거 한 후 문제가 해결 되더라도 반드시 두 핫 픽스를 다시 설치 하실 것을 권장 합니다
.

댓글
댓글쓰기 폼