VeNCrypt

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:03, 14 января 2018.
VeNCrypt
VeNCrypt logo.gif
Разработчики: RealVNC Ltd's[1]
Выпущена: в 2002 году
Постоянный выпуск: VeNCrypt 0.2.7 / 11.12.2006
Состояние разработки: текущее
Операционная система: Unix-подобная,
Linux,
BSD,
Windows NT,
Windows 2000,
Windows XP
Платформа: POSIX ,
Windows MS
Локализация: English
Тип ПО: разработка
Лицензия: GPL 2.0,
Free software
Веб-сайт https://sourceforge.net/projects/vencrypt/
Стандарт(ы) X509 сертификат, стандарт протокола RFB 3.8[2]

VeNCrypt дополняет TLS и X509[3] шифрование и аутентификацию для VNC[4]. Он в значительной мере основывается на RealVNC Free Edition, таким образом, будучи одним из ответвлений первоначальных создателей VNC, и полностью соответствует RFB протоколу.[Источник 1]

Краткая история

В начале Бог сотворил небеса и землю. Некоторое время спустя, а именно в 2002 году, программа RealVNC Ltd., которая была создана VNC (Virtual Network Computing)[5] и позволяет управлять/просматривать удаленно по сети компьютеры. Разработчики данного ПО выпустили код в свободном издании под то GNU GPL, что позволяет другим разработчикам расширить свою работу. Бесплатная версия (свободное распространение) не включает само шифрование. Вместо этого многие люди туннелируют свое соединение по SSH (безопасные команды для доступа к хосту).

2005 Мартин Кеглер решает сделать что-то с тем фактом, что VeNCrypt не имеет шифрования, и создает TLS для VNC. К сожалению, такая реализация Мартина нарушает протокол RFB — базового средства, с помощью которого VNS осуществляет общение от одного компьютера до другого.

В апреле 2006 года Стюарт Беккер из OCCAM Financial Technology закрепляет реализации Мартина Кеглера на примере RFB протокола. При этом он расширил протокол RFB, включив в него суб-протокол VeNCrypt версии 0.1.

Май 2006 года Стюарт выпустил VeNCrypt 0.1.1 для Windows.

Текущая версия 2006 года: выпущен VeNCrypt версии 0.2.7.

Возможно позднее кто-либо возьмет VeNCrypt и заставит его работать на UNIX/ Linux.[Источник 2]

Общее описание VeNCrypt

VeNCrypt является адаптацией отличного быстрого программного обеспечения приложения RealVNC. Данное ПО осуществляет TLS-шифрование, связывающие пользователей и сервер, с возможностью использования сертификатов x509 для проверки подлинности. С другой стороны оно может не иметь VeNCrypt, поддерживающую стандартную проверку подлинности по протоколу NVC, как проверенный канал. В версии 0.1.1, VeNCrypt включает в себя исправления безопасности, выпущенные в RealVNC Free Edition 4.1.2. Это программное обеспечение опубликовано под 2-ой версией общественной лицензии GNU (GPL).

Virtual Network Computing — удаленный доступ к компьютеру по сети

Virtual Network Computing (VNC) — система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (англ. Remote FrameBuffer, удалённый кадровый буфер). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.

Система VNC платформонезависима: VNC-клиент, называемый VNC viewer, запущенный на одной операционной системе, может подключаться к VNC-серверу, работающему на любой другой ОС. Существуют реализации клиентской и серверной части практически для всех операционных систем, в том числе и для Java (включая мобильную платформу J2ME). К одному VNC-серверу одновременно могут подключаться множественные клиенты. Наиболее популярные способы использования VNC — удалённая техническая поддержка и доступ к рабочему компьютеру из дома. [Источник 3]

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

Для начинающих пользователей администрирование Unix-сервера по VNC будет намного проще, чем через командную строку по SSH или панель управления с веб-интерфейсом. Программы с графическим интерфейсом, как правило, хорошо структурированы и более интуитивны в понимании, чем редактирование конфигурационных файлов по инструкциям. Администрирование сервера выглядит почти так же, как настройки десктопной версии операционной системы, будь то Linux или Windows. Можно даже установить на собственный компьютер аналогичную версию операционной системы для тренировки, и переходить к администрированию VDS/VPS уже после того, как будут понятны основные принципы настройки системы.

VNC-клиент на компьютере пользователя под управлением ОС Windows, с открытым рабочим столом VDS (виртуального сервера), работающего под управлением Ubuntu 9.10.

Для администрирование собственного сервера по VNC пользователю достаточно уметь работать с графическим оконным интерфейсом и иметь базовое представления о главных компонентах операционной системы — файловая система, сеть, работа сервисов (демонов).

На удаленном компьютере должна быть запущена программа-сервер (VNC server), которая играет роль клавиатуры, мыши и монитора, и обменивается данными с компьютером пользователя. Доступ к VNC-серверу может быть защищен паролем.

На компьютере пользователя должна быть запущена программа-клиент (VNC client, VNC viewer), которая передает на удаленный компьютер информацию о нажатиях на клавиши и движениях мыши, получает от него изображение и выводит его на экран. VNC-клиенты существуют для Windows, Linux, FreeBSD, MacOS и многих других платформ. Есть также VNC-клиенты для карманных компьютеров и мобильных телефонов. При запуске VNC-клиента достаточно указать DNS-имя или IP-адрес удаленного компьютера, и пароль, если доступ к VNC-серверу защищен паролем.

Основной объем передаваемых по VNC данных приходится на графический информацию, выводимую на экран. Для работы требуется ширина пропускания канала от 32 Кбит/сек до 2 Мбит/сек. Для комфортной работы в полноцветном режиме при разрешении экрана 1024x768 скорость канала должна быть 1-2 Мбит/сек. При снижении качества графики, при уменьшении числа цветов и при некоторых дополнительных способах оптимизации, приемлемое удобство может обеспечить скорость 128 Кбит/сек. Канал занимается полностью только при обновлении больших участков экрана, при печати текста трафик заметно меньше, а в остальное время канал практически не используется. Если при передаче по каналу возникают большие задержки передачи пакетов (медленные каналы, спутниковая связь, большие расстояния), это вызывает ухудшение времени реакции на нажатие клавиш и движение мыши, что значительно снижает комфортность работы. [Источник 4]

Протокол RFB

RFB (англ. remote framebuffer) — клиент-серверный сетевой протокол для удалённого доступа к графическому рабочему столу компьютера. Так как он работает на уровне кадрового буфера, то его можно применять для графических оконных систем, например X Window System, Windows, Quartz Compositor.

По умолчанию RFB использует диапазон TCP-портов с 5900 до 5906. Каждый порт представляет собой соответствующий экран X-сервера (порты с 5900 по 5906 ассоциированы с экранами с :0 по :6). Java-клиенты, доступные во многих реализациях, использующих встроенный веб-сервер для этой цели, например, в RealVNC, связаны с экранами таким же образом, но на диапазоне портов с 5800 до 5806. Многие компьютеры под управлением ОС Windows могут использовать лишь один порт из-за отсутствия многопользовательских свойств, присущих UNIX-системам. Для Windows-систем экран по умолчанию — :0, что соответствует порту 5900.

Существует возможность обратного подключения от сервера к клиенту. В этом случае клиент переводится в слушающий (англ. listening) режим и соединение инициируется сервером на 5500 TCP-порт клиента. Одно из преимуществ данного режима в том, что пользователю не обязательно настраивать Брандмауэр/NAT, чтобы разрешить доступ к указанным портам. Несмотря на то, что RFB запускался как относительно простой протокол, со временем он стал дополнятся новыми функциями, такими как передачи файлов, более сложные методы безопасности и сжатие. [Источник 5]

Версии протокола RFB

Версии Издатель Дата Спецификации
RFB 3.3 ORL Январь 1998 The Remote Framebuffer Protocol 3.3
RFB 3.7 RealVNC Ltd Август 2003 The Remote Framebuffer Protocol 3.7
RFB 3.8 (current) RealVNC Ltd Июнь 2007 The Remote Framebuffer Protocol 3.8

Примечания

  1. Компания-разработчик RealVNC Ltd. https://www.realvnc.com/en/
  2. Документация протокола RFB 3.8 https://tools.ietf.org/html/rfc6143
  3. X.509 — стандарт ITU-T для инфраструктуры открытого ключа (англ. Public key infrastructure, PKI) https://ru.wikipedia.org/wiki/X.509
  4. Virtual Network Computing (VNC) — удаленный доступ к компьютеру по сети https://ru.wikipedia.org/wiki/Virtual_Network_Computing
  5. Virtual Network Computing (VNC) — система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (англ. Remote FrameBuffer, удалённый кадровый буфер) https://ru.wikipedia.org/wiki/Virtual_Network_Computing

Источники

  1. VeNCrypt Home // Sourceforge. [2006-2017]. Дата обновления: 02.10.2006. URL: https://sourceforge.net/p/vencrypt/wiki/Home/ (дата обращения: 30.12.2017
  2. VeNCrypt // Sibecker. [2017-2017]. Дата обновления: 13.07.2010. URL: http://sibecker.co.uk/vencrypt.html (дата обращения: 30.12.2017)
  3. Virtual Network Computing // Wikipedia. [2006-2017]. Дата обновления: 05.10.2016. URL: https://ru.wikipedia.org/wiki/Virtual_Network_Computing (дата обращения: 30.12.2017)
  4. VNC — удаленный доступ к компьютеру по сети // Hhabrahabr. [2006-2017]. Дата обновления: 24.11.2019. URL: https://habrahabr.ru/post/76237/ (дата обращения: 30.12.2017)
  5. Протокол RFB // Wikipedia. [2006-2017]. Дата обновления: 21.05.2017. URL: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_RFB (дата обращения: 30.12.2017)