메뉴 건너뛰기

한주환 교수 : ^_^Prof. Han, Joo-Hwan : ^_^

RemoteViewer-Classic 중앙 관리

RemoteViewer 로고 RemoteViewer Classic보안 원격접속 · 중앙 관리

관리자 안내서 · Central Management

보안형 원격접속과 중앙 관리를 한 콘솔로

엔드투엔드 암호화 원격제어 엔진 위에 중앙 인벤토리·접근정책·세션 감사·무인(OT) 관제를 하나의 콘솔로 올린 자체 호스팅 플랫폼입니다. 이 문서는 관리자가 알아야 할 구조·보안 모델·운영 기능을 정리합니다.

3-tier NAT 통과 AES-256-GCM E2E 암호화 RBAC 운영자 계정 SHA-256 감사 녹화

01아키텍처

어떤 네트워크에서도 연결되도록 3계층으로 경로를 확보하고, 별도의 관리 콘솔이 전체를 관장합니다. 서버(소개자·게이트웨이·릴레이·콘솔)는 모두 자체 호스팅합니다.

뷰어 호스트 ① 직접 P2P · UDP 홀펀칭 ② v2 UDP 릴레이 ③ WSS / 443 게이트웨이
최저 지연 · 서버 대역폭 0 대칭형 NAT 대응 · 24fps H.264 방화벽만 열려도 연결(HTTPS)

연결은 항상 가장 빠른 경로부터 시도하고, 막히면 자동으로 다음 계층으로 내려갑니다 — 사용자는 아무 설정도 하지 않습니다.

  • ① 직접 P2P — UDP 홀펀칭으로 두 단말을 직접 연결. 서버를 거치지 않아 가장 빠르고 대역폭 비용이 없습니다.
  • ② UDP 릴레이 — 대칭형·제한적 NAT처럼 홀펀칭이 안 되는 환경에서 v2 자체 UDP 릴레이가 미디어를 중계(HUD RLY/UDP).
  • ③ WSS/443 게이트웨이 — UDP가 전면 차단된 기업 방화벽에서도 웹소켓(443)으로 최종 연결을 보장.

구성 요소는 소개자(단말 등록·발견·중개, 접근정책·시간제한 접근·호스트 명령), 게이트웨이(WSS/443 릴레이), UDP 릴레이(대칭형 NAT용, coturn 등 외부 의존 없음), 관리 콘솔(ASP.NET + SQLite 대시보드)입니다.

플랫폼 — 호스트는 Windows·macOS·Linux, 뷰어는 여기에 iOS·Android까지. 화면은 하드웨어 가속 H.264를 우선 사용하고, 미지원 환경에서는 delta/JPEG로 자동 폴백합니다.

02보안 모델

모든 세션은 종단 간 암호화됩니다. 서버(소개자·릴레이·게이트웨이)는 경로만 제공할 뿐 평문을 볼 수 없습니다.

  • 종단 간 암호화 — 일회용 ECDH P-256 + HKDF + AES-256-GCM. 화면·입력·오디오·클립보드·파일 등 모든 프레임을 ENC 봉투로 감쌉니다.
  • 비밀번호 인증 키교환 — 연결 비밀번호로 세션 키를 인증. 온라인 무차별 대입은 IP별 지연 잠금 + 상수시간 비교로 방어.
  • 평문 제어프레임 차단 — 보안 수립 이후 도착한 암호화되지 않은 입력 프레임은 주입되지 않습니다(악성 릴레이의 입력 위조 차단).
  • 자격증명 보관 — 저장된 호스트 비밀번호는 Windows DPAPI로 암호화. 다른 계정·기기로 복사해도 무효.
  • 서명된 업데이트ECDSA P-256 서명 + 배포 후 SHA-256 검증 + 롤백 방지. 개인키는 오프라인 보관.
  • 연결 게이트 — 호스트별 비밀번호 · 뷰어 허용목록 · 일회용 코드(OTC) · 접속 승인을 조합해 접근을 통제.
하드 경계는 세션 보안입니다. 그룹은 운영 편의를 위한 세그먼트(뷰어가 그룹을 자기 신고)이며, 실제 접근 통제는 호스트별 비밀번호·허용목록·OTC·승인·녹화 필수가 담당합니다.

03중앙 관리 콘솔

현장에 흩어진 단말·세션을 한 화면에서 관장합니다. 소개자의 실시간 상태를 SQLite에 영속화해 과거 이력까지 남깁니다.

  • 기기 인벤토리 — 지금까지 본 모든 단말과 온라인 여부·최초/최종 관측 시각을 영속 기록.
  • 연결 이력 — 모든 뷰어↔호스트 세션을 시작·종료·지속시간과 함께 보관. CSV 내보내기.
  • 운영자 계정(RBAC) — PBKDF2 저장·쿠키 세션·관리자/관찰자 역할. 읽기는 모두, 관리 조치는 관리자만.
  • 감사 로그 — 로그인·차단·정책·명령 등 모든 관리 행위를 행위자·역할·IP·결과와 함께 추가전용 기록.
  • 원격 제어 채널 — 콘솔→소개자→호스트로 설정 푸시·업데이트·재시작 명령을 스코프(호스트/그룹/회사)로 전달.
  • 관제 월 — 전체 인벤토리를 온라인·제어 중·오프라인 타일로 한눈에. 회사·문제만 필터.

04접근 제어

"누가, 어떤 장비에, 언제, 어떤 조건으로" 접속하는지를 중앙에서 강제합니다 — 특히 외부 협력업체 접속에 최적화되어 있습니다.

  • 그룹→그룹 정책 LIVE — 호스트 그룹이 어떤 뷰어 그룹에 열릴지를 소개자에서 강제(P2P·게이트웨이 양쪽 경로 모두).
  • 시간제한 접근 LIVE — 협력업체 뷰어 그룹에 호스트 그룹 접속을 지정 시간(분) 동안만 부여, 만료 시 자동 차단.
  • 승인 강제 0.7.1 — 운영자가 강제하면 호스트가 각 접속을 반드시 수락, 로컬에서 끌 수 없고 무인 모드에서도 적용.
  • 녹화 필수 0.7.1 — 뷰어에 강제하면 연결 시 자동 녹화 시작, 녹화를 시작할 수 없으면 세션 거부. 녹화 없이는 접속 불가.
  • 협력업체 세션 신규 — 시간제한+승인+녹화를 한 번의 조작으로 묶어 여는 감사 등급 벤더 세션. 종료 시 접근 회수 + 설정 원복.
협력업체가 장비를 만질 때 — 콘솔에서 세션 열기 한 번 → 대상 그룹에 N분 접근 + 현장 승인 + 강제 녹화가 동시에 배포됩니다. 시간이 지나면 접근은 저절로 닫힙니다.

05세션 녹화 · 감사

누가 무엇을 했는지 증거로 남깁니다. 녹화본은 변조 감지가 가능한 형태로 중앙에 수집됩니다.

  • 감사 등급 녹화 — 세션을 MP4로 녹화하고, 각 녹화마다 세션 메타데이터 + 파일 SHA-256을 담은 매니페스트를 함께 생성.
  • 중앙 수집 — 뷰어가 녹화 종료 후 MP4·매니페스트를 콘솔로 업로드. 협력업체 PC에 파일이 남거나 삭제될 여지를 없앰.
  • 변조 감지 — 업로드된 MP4의 해시를 매니페스트와 대조, 불일치 시 거부.
  • 이력 연결 — 녹화를 호스트명·시간으로 연결 이력의 해당 세션에 자동 링크. 감사 로그와 함께 추적.
  • 보존 정책 — 보존 기간(일)을 지나면 녹화 행·파일을 자동 정리(감사에 기록).
업로드 토큰 — 협력업체 뷰어는 좁은 업로드 토큰만으로 녹화를 올릴 수 있어, 운영자 계정을 발급하지 않고도 중앙 수집이 성립합니다.

06무인 · OT 관제

사람이 없는 장비(키오스크·산업 설비·사이니지)를 상시 지켜보고, 상태 변화를 알림으로 받습니다.

  • 관제 월 — 그룹별 타일 격자. 온라인/제어 중/오프라인을 색으로 구분, 15초 갱신.
  • 관제 모드(뷰어) — 그룹 전체를 한 번에 연결해 실시간 썸네일로 보고, 타일별 자동 재접속.
  • 운영 알림 — 오프라인·재접속·최초등록·세션 시작/종료를 자동 감지. 미확인 배지 + 확인(ack) 관리.

알림은 /status 스트림에서 상태 전이를 감지해 생성되므로 별도 에이전트가 필요 없습니다. 오프라인 전환은 경고, 재접속·세션 이벤트는 정보로 분류되어 운영자가 우선순위를 잡을 수 있습니다.

07멀티테넌시

하나의 서버로 여러 조직을 격리 수용하거나, 조직 전용 서버로 단순 운영할 수 있습니다.

계층 회사 모드 (공용 서버) 단일 모드 (전용 서버)
회사(Company) 테넌트 경계 · 회사 키로 격리 미사용
그룹(Group) 회사 내 세그먼트 최상위 세그먼트
피어(Peer) 호스트/뷰어 단말 호스트/뷰어 단말
격리 회사 키 기반 · 옵트인 서버 자체가 경계

온보딩은 콘솔에서 회사와 키를 만들어 조직에 전달하고, 조직의 호스트가 설정에 회사·회사 키를 넣으면 끝납니다. 회사 모드 격리는 옵트인이라 필요 없으면 기존 단일 운영과 완전히 호환됩니다.

08SKU · 브랜딩

같은 콘솔 이미지를 환경변수만 바꿔 두 제품으로 운영합니다 — 엔터프라이즈 거버넌스 콘솔과 경량 IT 지원 콘솔.

  • Enterprise (기본) — 회사 관리·접근 정책·원격 제어·협력업체 세션까지 전체 거버넌스 노출.
  • SupportRV_CONSOLE_SKU=support로 무거운 거버넌스 섹션을 숨기고, 현황·관제 월·인벤토리·이력·감사·녹화·알림 중심으로 재구성 + 브랜딩.
  • 브랜딩RV_CONSOLE_BRAND·RV_CONSOLE_ACCENT로 제품명·강조색을 바꿔 화이트라벨.

지원 인스턴스는 같은 이미지를 별도 DB 볼륨·포트로 띄우기만 하면 됩니다(동봉 deploy-console-support.sh). 한 이미지, 여러 SKU.

09배포 · 운영

서버는 컨테이너로, 클라이언트는 서명된 자동 업데이트 피드로. 조직 내부(온프레미스)에 전부 담을 수 있습니다.

  • 자체 호스팅 — 소개자·게이트웨이·릴레이·콘솔을 컨테이너로 운영. 외부 SaaS 의존이 없습니다.
  • 서명된 업데이트 피드 — 클라이언트는 서명·해시 검증을 통과한 릴리스만 설치. 롤백 방지 포함.
  • 헤드리스 자동 업데이트 — 무인 호스트도 서비스 형태로 자체 업데이트(활성 세션 보호).
  • 영속 볼륨 — 콘솔 DB(인벤토리·이력·감사·녹화)는 볼륨에 보관되어 재배포에도 유지.
  • 롤백 지향 배포 — 이미지 태그를 :prev로 남기고 헬스체크로 자동 롤백.
버전 주의 — 승인 강제·녹화 필수·업로드 등 일부 강제 기능은 클라이언트 0.7.1 이상에서 적용됩니다. 구버전에는 해당 설정 푸시가 무시(no-op)되므로, 배포는 콘솔 재배포 + 클라이언트 릴리스가 함께 진행되어야 완성됩니다.

10차별점 요약

일반 원격제어 도구와 무엇이 다른가 — 관리자·구매 담당자가 한눈에 볼 수 있도록.

영역 일반 원격제어 RemoteViewer 중앙 관리
연결성 단일 릴레이 또는 P2P 3계층 자동 폴백 — 어떤 NAT/방화벽도 통과
암호화 전송구간 TLS 위주 종단 간 — 서버도 평문 열람 불가
중앙 관리 없음 또는 SaaS 종속 자체 호스팅 콘솔 — 인벤토리·이력·RBAC
접근 통제 비밀번호 정도 정책·시간제한·승인 강제·녹화 필수
감사 제한적 로그 추가전용 감사 + SHA-256 녹화 중앙 수집
협력업체 접속 수동 · 흔적 없음 시간제한+승인+강제녹화 한 번에
무인/OT 보조적 관제 월 + 실시간 관제 모드 + 운영 알림
배포 벤더 클라우드 온프레미스 · 서명 업데이트 · 멀티테넌시
RemoteViewer Classic — 보안 원격접속 · 중앙 관리 · 관리자 안내서 SELF-HOSTED · E2E-ENCRYPTED · AUDIT-GRADE