VNC
VNC 포트 가이드: 포트 5900의 원격 데스크톱 액세스
VNC 및 RFB가 TCP 5900을 사용하는 방법, 표시 번호가 포트를 변경하는 이유, 연결을 테스트하는 방법, 직접적인 공개 노출에 강력한 제어가 필요한 이유를 이해하십시오.
- 기본 포트
- 5900
- 프로토콜
- TCP
- 주요 용도
- 원격 데스크톱 액세스
VNC 포트란 무엇입니까?
VNC(Virtual Network Computing)는 RFB 프로토콜을 기반으로 구축된 원격 데스크톱 시스템입니다. VNC 서버는 일반적으로 TCP 포트 5900에서 디스플레이 :0을 수신합니다. 추가 디스플레이는 일반적으로 포트 번호를 증가시키므로 디스플레이 :1은 종종 5901을 수신하고 디스플레이 :2는 종종 5902를 수신합니다.
5900은 기본 VNC 포트입니다.
대부분의 VNC 뷰어는 사용자가 다른 디스플레이 번호, 사용자 정의 포트, 게이트웨이 또는 터널을 지정하지 않는 한 TCP 5900의 서버를 기대합니다.
VNC는 일반적으로 비공개로 유지되어야 합니다.
VNC는 전체 그래픽 데스크탑을 노출할 수 있습니다. 인터넷에서 광범위하게 접근할 수 있도록 두는 대신 VPN, SSH 터널링, 개인 네트워크 또는 소스 허용 목록을 사용하세요.
VNC 작동 방식
VNC를 사용하면 뷰어가 네트워크를 통해 원격 그래픽 데스크탑을 제어할 수 있습니다. 뷰어는 VNC 서버에 연결하고, RFB 프로토콜을 협상하고, 인증한 다음 화면 업데이트, 키보드 입력, 마우스 입력, 클립보드 데이터를 교환하고 때로는 서버 구현에 따라 파일 전송 기능을 교환합니다.
VNC는 Linux 데스크톱, macOS 화면 공유, 임베디드 시스템, 랩 머신, 점프 호스트 및 원격 지원에 사용됩니다. TigerVNC, TightVNC, RealVNC, UltraVNC, x11vnc 및 noVNC와 같은 다양한 구현에서는 다양한 기본값과 보안 옵션을 사용할 수 있으므로 항상 실제 수신기와 구성을 확인하세요.
VNC 포트 5900 및 디스플레이 번호
일반적인 VNC 포트는 디스플레이 :0의 경우 TCP 5900입니다. 기존 VNC 디스플레이 표기법은 디스플레이 번호를 5900에 추가합니다. 즉, :1은 5901에 매핑되고 :2는 5902에 매핑되는 식입니다. 일부 뷰어에서는 사용자가 클라이언트 인터페이스에 따라 호스트:5901 또는 호스트:1을 입력할 수 있습니다.
모든 VNC 서버가 표시 규칙을 따른다고 가정하지 마십시오. 많은 서버는 사용자 정의 TCP 포트, 역방향 연결 모드, 웹 프록시 또는 SSH 터널로 구성될 수 있습니다. 서버 설정, 방화벽 규칙, 리스너 검사를 사용하여 실제 포트를 확인하세요.
VNC와 RDP 및 SSH
VNC, RDP 및 SSH는 다양한 원격 액세스 문제를 해결합니다. VNC는 일반적으로 포트 5900에서 RFB 프로토콜을 사용하여 그래픽 데스크톱을 공유하거나 생성합니다. RDP는 Microsoft 원격 데스크톱이며 일반적으로 포트 3389를 사용합니다. SSH는 포트 22의 보안 셸 프로토콜이며 VNC용 터널을 생성하는 데 자주 사용됩니다.
Windows 원격 데스크톱 워크플로의 경우 일반적으로 RDP가 더 통합되어 있습니다. 크로스 플랫폼 그래픽 액세스의 경우 VNC는 유연합니다. 보안 관리를 위해 SSH는 특히 VNC 자체가 localhost에 바인딩되어 SSH 터널을 통해 연결되는 경우 더 안전한 외부 액세스 경로인 경우가 많습니다.
VNC를 열어야 하는 경우
신뢰할 수 있는 사용자, 지원 도구, 자동화 작업 흐름, 연구실 네트워크 또는 개인 관리 경로에 그래픽 원격 데스크톱 액세스가 필요한 경우에만 VNC를 엽니다. 일반적인 사례에는 원격 Linux 데스크톱 지원, 키오스크 유지 관리, 내장형 장치 관리 및 개인 연구실 액세스가 포함됩니다.
전체 인터넷에 VNC를 열지 마십시오. 공용 VNC 포트는 무차별 대입 시도, 취약한 비밀번호 공격, 데스크톱 탈취 시도 및 이전 서버 검색을 유도할 수 있습니다. 원격 액세스가 필요한 경우 VNC를 VPN, SSH 터널, 제로 트러스트 액세스 계층, 요새 또는 소스 IP 허용 목록 뒤에 배치하세요.
방화벽이나 라우터에서 VNC를 여는 방법
First confirm which VNC server is running, which interface it listens on, and which display or TCP port it uses. Then allow the exact port only from trusted source networks. 디스플레이의 경우 :0은 일반적으로 TCP 5900입니다. 디스플레이의 경우 :1은 종종 TCP 5901입니다.
On a router, forward the external port to the internal VNC host only if you have a strong reason and a narrow source policy. 서버에서는 의도한 경로를 통해서만 서비스에 연결할 수 있도록 호스트 방화벽, 클라우드 보안 그룹, VPN 정책 및 VNC 서버 바인드 주소를 정렬합니다.
- 서비스 계층: VNC 서버는 의도된 TCP 포트에서 실행되고 수신되어야 합니다.
- 디스플레이 매핑: 클라이언트가 :1과 같은 디스플레이 번호를 기대하는지 또는 5901과 같은 원시 TCP 포트를 기대하는지 확인합니다.
- 네트워크 계층: 호스트 방화벽, 라우터 전달, 클라우드 방화벽, VPN 및 허용 목록이 액세스 경로와 일치해야 합니다.
- 보안 계층: 가능한 경우 강력한 인증, 암호화 또는 터널링, 소스 제한 및 세션 로깅이 필요합니다.
VNC 포트 연결을 테스트하는 방법
공개 호스트 이름이나 IP 주소, 포트 5900 또는 구성한 사용자 정의 VNC 포트에 대한 외부 포트 검사부터 시작하세요. 포트가 열려 있으면 원격 클라이언트가 TCP 수신기에 연결할 수 있습니다. 그런 다음 실제 VNC 뷰어로 테스트하여 프로토콜 협상, 인증, 데스크톱 액세스 및 화면 업데이트를 확인합니다.
서버에서 ss, netstat, lsof, PowerShell 또는 VNC 서버 상태 페이지를 사용하여 리스너를 확인하세요. VNC가 SSH를 통해 터널링되는 경우 먼저 SSH 연결을 테스트한 다음 로컬 전달 포트와 뷰어 대상을 확인하세요.
일반적인 VNC 문제 해결 사례
VNC 포트가 닫히면 서버가 중지되거나, localhost에만 바인딩되거나, 다른 디스플레이에서 수신 대기하거나, 호스트 방화벽에 의해 차단될 수 있습니다. 확인 시간이 초과되면 라우터, 클라우드 방화벽, VPN 정책, ISP 필터 또는 소스 IP 제한으로 인해 패킷이 호스트에 도달하기 전에 패킷이 삭제될 수 있습니다.
포트가 열려 있지만 뷰어가 연결할 수 없는 경우 디스플레이 번호, 프로토콜 버전, 비밀번호 정책, 암호화 요구 사항, 서버 측 액세스 규칙, 데스크톱 세션 상태 및 VNC 서버가 뷰어 네트워크로부터의 연결을 허용하는지 여부를 확인하세요. 일부 서버는 데스크톱 세션을 사용할 수 없을 때 클라이언트를 거부합니다.
VNC 보안 체크리스트
인터넷 접속을 위해 VNC 비밀번호에만 의존하지 마십시오. VPN, SSH 터널, 개인 네트워크 또는 제로 트러스트 액세스를 선호하고 터널링 시 VNC를 로컬 호스트에 바인딩합니다. 강력한 고유 자격 증명을 사용하고, 사용하지 않는 계정을 비활성화하고, VNC 서버를 패치된 상태로 유지하세요.
서버와 뷰어가 지원하는 경우 암호화를 활성화하고, 소스 IP를 제한하고, 로그인 실패를 모니터링하고, 클립보드, 파일 전송 또는 무인 액세스를 비활성화해야 하는지 검토하세요. VNC를 단순한 상태 엔드포인트가 아닌 완전한 데스크탑 액세스로 취급하십시오.
자주 묻는 질문
VNC는 어떤 포트를 사용합니까?
VNC는 일반적으로 디스플레이 :0에 TCP 포트 5900을 사용합니다. 추가 디스플레이는 종종 포트를 증가시키므로 서버가 다르게 구성되지 않는 한 :1은 5901을 사용하고 :2는 5902를 사용합니다.
VNC가 5900 대신 5901을 사용하는 이유는 무엇입니까?
기존 VNC 디스플레이 번호는 5900에 추가됩니다. 디스플레이 :1은 TCP 5901에 매핑되고 디스플레이 :0은 TCP 5900에 매핑됩니다. 일부 서버는 이 규칙을 따르지 않는 사용자 정의 포트도 사용합니다.
VNC를 인터넷에 노출해도 안전합니까?
직접적인 공용 VNC 노출은 전체 데스크탑 액세스를 제공할 수 있고 자주 검사되기 때문에 위험합니다. 가능하면 VPN, SSH 터널, 개인 네트워크, 소스 허용 목록 또는 제로 트러스트 액세스 레이어를 사용하십시오.
VNC 포트가 열려 있는데 뷰어가 연결할 수 없는 이유는 무엇입니까?
VNC 프로토콜, 디스플레이 번호, 비밀번호, 암호화 설정, 액세스 규칙 또는 데스크톱 세션 상태로 인해 뷰어가 차단되는 동안 TCP 수신기에 연결할 수 있습니다. 실제 VNC 클라이언트로 테스트하고 서버 로그를 검사합니다.
VNC 또는 RDP를 사용해야 합니까?
가능한 경우 기본 Windows 원격 데스크톱 워크플로에 RDP를 사용하세요. 크로스 플랫폼 그래픽 액세스, Linux 데스크탑, 임베디드 시스템 또는 RFB 기반 뷰어가 필요한 환경에는 VNC를 사용하십시오.