VNC

Руководство по порту VNC: доступ к удаленному рабочему столу через порт 5900

Узнайте, как VNC и RFB используют TCP 5900, почему отображаемые числа меняют порт, как проверять подключение и почему для прямого публичного доступа требуется строгий контроль.

Порт по умолчанию
5900
Протокол
TCP
Основное назначение
Удаленный доступ к рабочему столу

Что такое порт VNC?

VNC, или виртуальные сетевые вычисления, — это система удаленного рабочего стола, построенная на основе протокола RFB. Сервер VNC обычно прослушивает TCP-порт 5900 для отображения: 0. Дополнительные дисплеи обычно увеличивают номер порта, поэтому display :1 часто прослушивает 5901, а display :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 — TCP 5900 для отображения: 0. Традиционная нотация отображения VNC добавляет номер дисплея к 5900, что означает: :1 соответствует 5901, :2 соответствует 5902 и так далее. Некоторые программы просмотра позволяют пользователям вводить либо хост:5901, либо хост:1 в зависимости от клиентского интерфейса.

Не думайте, что каждый сервер VNC следует соглашению об отображении. На многих серверах можно настроить собственный TCP-порт, режим обратного соединения, веб-прокси или SSH-туннель. Используйте настройки сервера, правила брандмауэра и проверки прослушивателя, чтобы подтвердить настоящий порт.

VNC против RDP и SSH

VNC, RDP и SSH решают различные проблемы удаленного доступа. VNC предоставляет общий доступ или создает графический рабочий стол с использованием протокола RFB, обычно через порт 5900. RDP — это удаленный рабочий стол Microsoft, обычно использующий порт 3389. SSH — это протокол защищенной оболочки на порту 22, который часто используется для создания туннелей для VNC.

Для рабочих процессов удаленного рабочего стола Windows RDP обычно более интегрирован. Для кросс-платформенного графического доступа VNC является гибким. Для безопасного администрирования SSH часто является более безопасным внешним путем доступа, особенно когда сам VNC привязан к локальному хосту и доступен через туннель SSH.

Когда VNC должен быть открыт

Открывайте VNC только в том случае, если доверенному пользователю, инструменту поддержки, рабочему процессу автоматизации, лабораторной сети или частному каналу управления требуется графический доступ к удаленному рабочему столу. Общие случаи включают удаленную поддержку настольных компьютеров Linux, обслуживание киосков, управление встроенными устройствами и доступ к частной лаборатории.

Не открывайте VNC для всего Интернета. Публичный порт VNC может стать причиной попыток грубого подбора, атак со слабым паролем, попыток захвата рабочего стола и сканирования старых серверов. Если требуется удаленный доступ, поместите VNC за VPN, туннелем SSH, уровнем доступа с нулевым доверием, бастионом или списком разрешенных IP-адресов источника.

Как открыть VNC на брандмауэре или маршрутизаторе

Сначала проверьте, какой сервер VNC работает, какой интерфейс он прослушивает и какой дисплей или TCP-порт использует. Затем разрешите точный порт только из надежных исходных сетей. Для отображения :0 обычно используется TCP 5900; для отображения: 1 это часто TCP 5901.

На маршрутизаторе перенаправляйте внешний порт на внутренний хост VNC только в том случае, если у вас есть веская причина и политика узкого источника. На серверах согласуйте брандмауэр хоста, группу облачной безопасности, политику VPN и адрес привязки сервера VNC, чтобы служба была доступна только по намеченному пути.

  • Уровень обслуживания: сервер VNC должен работать и прослушивать целевой порт TCP.
  • Сопоставление дисплея: подтвердите, ожидает ли клиент номер дисплея, например: 1, или необработанный TCP-порт, например 5901.
  • Сетевой уровень: брандмауэр хоста, переадресация маршрутизатора, облачный брандмауэр, VPN и списки разрешенных должны совпадать с путем доступа.
  • Уровень безопасности: требуется строгая аутентификация, шифрование или туннелирование, ограничения источников и журналирование сеансов, если это возможно.

Как проверить подключение порта VNC

Начните с проверки внешнего порта по общедоступному имени хоста или IP-адресу и порту 5900 или пользовательскому порту VNC, который вы настроили. Если порт открыт, удаленный клиент может связаться с прослушивателем TCP. Затем протестируйте с помощью реальной программы просмотра VNC, чтобы подтвердить согласование протокола, аутентификацию, доступ к рабочему столу и обновления экрана.

На сервере проверьте прослушиватели с помощью ss, netstat, lsof, PowerShell или страницы состояния VNC-сервера. Если VNC туннелируется через SSH, сначала проверьте соединение SSH, а затем подтвердите локальный пересылаемый порт и цель просмотра.

Тестовый порт 5900 для VNC

Распространенные случаи устранения неполадок VNC

Если порт VNC закрыт, сервер может быть остановлен, привязан только к локальному хосту, прослушивать другой дисплей или заблокирован брандмауэром хоста. Если время проверки истекло, маршрутизатор, облачный брандмауэр, политика VPN, фильтр интернет-провайдера или ограничение исходного IP-адреса могут отбрасывать пакеты до того, как они достигнут хоста.

Если порт открыт, но средство просмотра не может подключиться, проверьте номер дисплея, версию протокола, политику паролей, требования к шифрованию, правила доступа на стороне сервера, состояние сеанса рабочего стола и разрешает ли VNC-сервер подключения из сети средства просмотра. Некоторые серверы отклоняют клиентов, когда сеанс рабочего стола недоступен.

Контрольный список безопасности для VNC

Не полагайтесь только на пароль VNC для доступа в Интернет. Предпочитайте VPN, SSH-туннели, частные сети или доступ с нулевым доверием и привяжите VNC к локальному хосту при туннелировании. Используйте надежные уникальные учетные данные, отключите неиспользуемые учетные записи и постоянно обновляйте VNC-сервер.

Включите шифрование, если сервер и программа просмотра его поддерживают, ограничьте исходные IP-адреса, отслеживайте неудачные входы в систему и проверьте, следует ли отключить буфер обмена, передачу файлов или автоматический доступ. Относитесь к VNC как к полному доступу к рабочему столу, а не как к простой конечной точке статуса.

Частые вопросы

Какой порт использует VNC?

VNC обычно использует TCP-порт 5900 для отображения: 0. Дополнительные дисплеи часто увеличивают порт, поэтому :1 использует 5901, а :2 использует 5902, если сервер не настроен иначе.

Почему VNC использует 5901 вместо 5900?

Традиционные номера дисплея VNC добавляются к 5900. Display :1 соответствует TCP 5901, а display :0 соответствует TCP 5900. Некоторые серверы также используют специальные порты, которые не соответствуют этому соглашению.

Безопасно ли предоставлять VNC доступ к Интернету?

Прямое публичное воздействие VNC рискованно, поскольку оно может обеспечить полный доступ к рабочему столу и часто сканируется. По возможности используйте VPN, SSH-туннель, частную сеть, список разрешенных источников или уровень доступа с нулевым доверием.

Почему порт VNC открыт, но программа просмотра не может подключиться?

Прослушиватель TCP может быть доступен, пока протокол VNC, номер дисплея, пароль, настройка шифрования, правило доступа или состояние сеанса рабочего стола блокируют средство просмотра. Протестируйте с реальным клиентом VNC и проверьте журналы сервера.

Должен ли я использовать VNC или RDP?

Используйте RDP для собственных рабочих процессов удаленного рабочего стола Windows, если он доступен. Используйте VNC для кросс-платформенного графического доступа, настольных компьютеров Linux, встроенных систем или сред, где требуется средство просмотра на основе RFB.