개념 사전 · 프로그램
Apache Guacamole
과카몰리 · Guacamole
은 웹 브라우저로 같은 원격 접속을 사용할 수 있게 하는 게이트웨이이다. 이 사용자와 연결 권한을 관리하고 가 대상 원격 프로토콜을 처리한다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 브라우저에서 별도 전용 원격 클라이언트 없이 접속 화면을 제공한다.
- 포털 사용자와 허용된 대상 연결을 인증·권한 설정에 연결한다.
- 를 통해 원격 프로토콜을 브라우저용 통신 표현으로 중계한다.
02어떤 순서로 동작하나
- 웹 접속
브라우저가 HTTPS의 에 접속하고 포털 을 수행한다.
- 연결 권한 선택
사용자에게 허용된 대상·프로토콜·접속 설정을 선택한다.
- 중계
웹앱이 에 연결을 요청하고 가 대상 · 등에 연결을 만든다.
- 화면·입력 전달
대상 출력과 사용자 입력을 브라우저 경로로 중계하고 각 구간의 종료·오류를 관리한다.
03먼저 알아둘 용어와 구성요소
- 브라우저 세션과 인증·연결 목록을 관리하는 구성 요소다. 대상 운영체제에 로그인할 계정과 포털 로그인 계정은 같아야 하는 것이 아니다.
- 프로토콜을 처리하는 프록시 데몬이다. 웹앱과의 연결 및 대상 호스트로의 연결은 별도 네트워크 경계다.
- .properties·확장·라이브러리 등의 설정을 찾는 디렉터리다. 실제 웹앱 가 어느 경로를 사용하는지와 읽기 권한이 중요하다.
- 사용자·연결 권한을 공급하는 플러그인 계층이다. 기본 파일·DB·디렉터리 등의 인증 구성은 요구에 맞게 선택한다.
- 가 대상에 사용하는 원격 접속 프로토콜이다. 지원 라이브러리와 서버 정책이 맞아야 하며 하나의 성공이 다른 프로토콜 지원을 증명하지 않는다.
- 사용자가 브라우저와 원격 세션 사이 자료를 교환하는 UI다. 브라우저 권한·HTTPS·대상 정책에 따라 동작 범위가 달라진다.
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 화면은 · 리슨, 활성 로컬 사용자, Remote Desktop Users 그룹을 조회한다. 각 출력은 접속 조건의 일부를 확인한다.
- 그룹 소속 외에도 원격 로그온 허용·거부 권리, NLA 인증, 계정 제한이 작용한다. 을 경유하면 브라우저→게이트웨이와 게이트웨이→RDP 연결도 따로 확인해야 한다.
powershellGet-LocalUser -Name labuser Get-LocalGroupMember -SID "S-1-5-32-555"labuser는 재구성 계정이다. SID는 Remote Desktop Users 기본 그룹을 언어와 무관하게 지정한다.
원본 크기로 보기 ↗- 3389에 대해 IPv4와 IPv6 Listen 행이 보인다.
- 테스트 사용자의 Enabled=True와 Remote Desktop Users 그룹 구성원 조회 결과가 함께 표시된다.
확인 기준계정 활성화나 그룹 조회만으로 실제 RDP 로그인 성공을 선언하지 않는다. 실패 시 인증과 로그온 권리의 사건을 같은 시각으로 추적한다.
실습에서 확인한 동작 원리
- 서비스 실행·포트 리슨·방화벽 허용·로그온 권한은 각각 독립된 필요 조건이다.
- 게이트웨이를 쓸 때에는 사용자 브라우저의 성공 화면과 실제 RDP 세션 수립을 구분한다.
04예제로 따라가기
- 포털 로그인이 성공해도 대상 의 RDP 인증이나 원격 로그온 권리가 없으면 바탕화면 연결은 실패한다.
- 브라우저와 웹앱 사이 HTTPS를 적용한 것만으로 별도 호스트의 연결까지 자동 보호되는 것은 아니다.
- Ctrl+Alt+Shift는 메뉴를 여는 기본 동작으로 설명할 수 있으며 클립보드 보호를 일괄 해제하는 스위치로 이해하지 않는다.
05혼동하기 쉬운 점과 확인 기준
- 웹 포털··대상 호스트의 인증과 연결 실패를 같은 계정 오류로 합치지 않는다.
- 설정 파일에는 대상 계정 등 민감정보가 들어갈 수 있으므로 디렉터리 생성만으로 보호됐다고 보지 않고 실제 파일 소유권·읽기 권한을 제한한다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.