개념 사전 · 프로토콜
RDP와 원격 데스크톱
Remote Desktop Protocol · 원격 데스크톱
RDP는 원격 컴퓨터의 데스크톱 화면과 사용자 입력을 전달하는 원격 접속 프로토콜이다. 네트워크 도달·인증·원격 로그온 허용·세션 생성·세션 안의 객체 권한은 별도 단계로 적용된다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 원격 의 화면·입력을 전달한다.
- 정책과 인증으로 원격 대화형 로그온을 허용한다.
- 관리·사용자 작업을 대상 컴퓨터의 실행 환경에서 수행하게 한다.
02어떤 순서로 동작하나
- 리스너 접속
클라이언트가 활성 RDP 리스너에 도달하고 전송 보안 조건을 협상한다.
- 사전 인증
가 요구되면 전체 을 만들기 전에 을 수행한다.
- 로그온 권리 검사
그룹·허용·거부 정책과 계정 조건을 검사하여 원격 대화형 로그온 가능 여부를 결정한다.
- 세션 실행
허용된 세션을 생성하고 이후 파일·관리 작업은 해당 토큰과 개별 권한으로 처리한다.
03먼저 알아둘 용어와 구성요소
- RDP는 세션을 제공한다.
- 서버의 RDP 기능과 리스너·방화벽, 계정 인증, 원격 대화형 로그온 권리가 함께 맞아야 한다.
- 그룹 SID S-1-5-32-555를 사용하면 운영체제 언어별 그룹 이름 차이를 피할 수 있다.
- 는 전체 세션을 만들기 전에 인증을 요구하는 기능이다. UserAuthentication=1이 요구 설정이며 SecurityLayer=0/1/2는 각각 RDP 보안·협상· 계층 선택이라 같은 값이 아니다.
- 그룹 멤버여도 Deny log on through Remote Desktop Services 같은 정책, 계정 만료, 도메인 인증 조건으로 거부될 수 있다.
- 로그인 후 만들어진 은 사용자 SID, 그룹 SID, 권한 등의 정보를 담고 가 객체에 접근할 때 사용된다.
LEARN THROUGH PRACTICE
RDP 서비스·리스너·방화벽·계정의 네 경계 확인하기
접속의 전제 조건을 서비스 화면과 리슨·그룹 조회 결과로 나누어 읽는다.
실습 구성과 전제
- 서비스와 방화벽 화면, PowerShell 조회는 여러 실습 환경의 사례다. 한 컴퓨터에서 모두 확인한 연속 증거로 취급하지 않는다.
- 지원되는 호스트와 허용된 관리 계정을 가정한다. 명령은 상태 조회이며 공개망으로 포트를 개방하지 않는다.
서비스 실행과 시작 유형을 구분한다
- Remote Desktop Services의 Running은 현재 실행 상태이고 Automatic은 시작 설정이다. 둘이 보인다고 RDP 포트의 실제 수신이나 사용자 로그온 권한까지 확인된 것은 아니다.
- 클라이언트 접속 전에는 해당 서비스와 소켓의 관계를 확인한다. 서비스 이름은 표시 언어와 실제 서비스 식별자가 다를 수 있다.
powershellGet-Service -Name TermService Get-NetTCPConnection -LocalPort 3389 -State Listen호스트에서 서비스와 리스너를 조회하는 예시다.
원본 크기로 보기 ↗- Remote Desktop Services 행이 Running으로 표시된다.
- Startup Type은 Automatic으로 표시되어 현재 상태와 시작 방식이 별도 열에 있다.
확인 기준서비스 상태 다음에는 실제 리슨 포트와 주소를 확인한다.
방화벽 규칙의 프로토콜과 적용 범위를 읽는다
- RDP의 3389 수신 허용 규칙이 활성화되어 있다. 규칙의 사용 여부만 보지 말고 적용 프로필·원격 주소 범위·상충하는 차단 정책을 함께 확인해야 한다.
- 현재 네트워크 프로필이 규칙 적용 프로필과 다르면 목록에 Enabled가 보여도 기대한 경로가 열리지 않을 수 있다.
원본 크기로 보기 ↗- 원격 데스크톱 사용자 모드 TCP 수신 규칙이 Allow와 Enabled 상태로 보인다.
- 프로토콜은 TCP, 로컬 포트는 3389로 표시되어 어떤 연결을 다루는지 알 수 있다.
확인 기준규칙이나 다른 포트의 허용을 3389의 증거로 대신하지 않는다. 실제 클라이언트 경로에서 확인한다.
리스너와 사용자 자격을 연결하되 로그온 성공은 따로 본다
- 별도 PowerShell 화면은 · 리슨, 활성 로컬 사용자, 그룹을 조회한다. 각 출력은 의 일부를 확인한다.
- 그룹 소속 외에도 원격 로그온 허용·거부 권리, 인증, 계정 제한이 작용한다. 을 경유하면 브라우저→게이트웨이와 게이트웨이→RDP 연결도 따로 확인해야 한다.
powershellGet-LocalUser -Name labuser Get-LocalGroupMember -SID "S-1-5-32-555"labuser는 재구성 계정이다. SID는 기본 그룹을 언어와 무관하게 지정한다.
원본 크기로 보기 ↗- 3389에 대해 IPv4와 IPv6 Listen 행이 보인다.
- 테스트 사용자의 Enabled=True와 Remote Desktop Users 그룹 구성원 조회 결과가 함께 표시된다.
확인 기준계정 활성화나 그룹 조회만으로 실제 RDP 로그인 성공을 선언하지 않는다. 실패 시 인증과 로그온 권리의 사건을 같은 시각으로 추적한다.
실습에서 확인한 동작 원리
- 서비스 실행·포트 리슨·방화벽 허용·로그온 권한은 각각 독립된 필요 조건이다.
- 게이트웨이를 쓸 때에는 사용자 브라우저의 성공 화면과 실제 RDP 세션 수립을 구분한다.
04예제로 따라가기
- 그룹에 가입해도 Deny log on through Remote Desktop Services 정책이 적용되면 접속이 거부될 수 있다.
- RDP를 쓸 일반 사용자에게 항상 Administrators 그룹이 필요한 것은 아니며 실제 로그온 권리와 필요한 작업 권한을 나눈다.
- 바탕화면이 열렸어도 보호된 폴더의 쓰기나 서비스 변경 작업이 자동 허용되는 것은 아니다.
05혼동하기 쉬운 점과 확인 기준
- RDP의 성공은 원격 대화형 로그온 권리와 이후 파일 작업 권한을 한꺼번에 허용한 결과가 아니다. 인증·로그온·객체 접근의 실패 이벤트를 단계별로 연결한다.
- 웹 포털의 로그인 계정과 대상 의 RDP 계정도 별개다.
- 바탕화면이 열려도 관리자 권한 작업이 자동 허용되는 것은 아니다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.