Открывается rdp. Подключение к удаленному рабочему столу с помощью встроенного в Windows RDP-клиента

Добрый день уважаемые читатели и гости блога, сегодня у нас с вами вот такая задача: изменить входящий порт службы RDP (терминального сервера) со стандартного 3389 на какой-то другой. Напоминаю, что RDP служба это функционал операционных систем Windows, благодаря которому вы можете по сети открыть сессию на нужный вам компьютер или сервер по протоколу RDP, и иметь возможность за ним работать, так как будто вы сидите за ним локально.

Что такое RDP протокол

Прежде чем, что то изменять, хорошо бы понимать, что это и как это работает, я вам об этом не перестаю повторять. RDP или Remote Desktop Protocol это протокол удалённого рабочего стола в операционных системах Microsoft Windows, хотя его происхождение идет от компании PictureTel (Polycom). Microsoft просто его купила. Используется для удаленной работы сотрудника или пользователя с удаленным сервером. Чаще всего такие сервера несут роль сервер терминалов , на котором выделены специальные лицензии, либо на пользователе, либо на устройства, CAL. Тут задумка была такой, есть очень мощный сервер, то почему бы не использовать его ресурсы совместно, например под приложение 1С. Особенно это становится актуальным с появлением тонких клиентов.

Сам сервер терминалов мир увидел, аж в 1998 году в операционной системе Windows NT 4.0 Terminal Server, я если честно тогда и не знал, что такое есть, да и в России мы в то время все играли в денди или сегу. Клиенты RDP соединения, на текущий момент есть во всех версиях Windows, Linux, MacOS, Android. Самая современная версия RDP протокола на текущий момент 8.1.

Порт rdp по умолчанию

Сразу напишу порт rdp по умолчанию 3389, я думаю все системные администраторы его знают.

Принцип работы протокола rdp

И так мы с вами поняли для чего придумали Remote Desktop Protocol, теперь логично, что нужно понять принципы его работы. Компания Майкрософт выделяет два режима протокола RDP:

  • Remote administration mode > для администрирования, вы попадаете на удаленный сервер и настраиваете и администрируете его
  • Terminal Server mode > для доступа к серверу приложений, Remote App или совместное использование его для работы.

Вообще если вы без сервера терминалов устанавливаете Windows Server 2008 R2 - 2016, то там по умолчанию у него будет две лицензии, и к нему одновременно смогут подключиться два пользователя, третьему придется для работы кого то выкидывать. В клиентских версиях Windows, лицензий всего одна, но и это можно обойти, я об этом рассказывал в статье сервер терминалов на windows 7 . Так же Remote administration mode, можно кластеризировать и сбалансировать нагрузку, благодаря технологии NLB и сервера сервера подключений Session Directory Service. Он используется для индексации пользовательских сессий, благодаря именно этому серверу у пользователя получиться войти на удаленный рабочий стол терминальных серверов в распределенной среде. Так же обязательными компонентами идут сервер лицензирования .

RDP протокол работает по TCP соединению и является прикладным протоколом. Когда клиент устанавливает соединение с сервером, на транспортном уровне создается RDP сессия, где идет согласование методов шифрования и передачи данных. Когда все согласования определены и инициализация окончена, сервер терминалов, передает клиенту графический вывод и ожидает входные данные от клавиатуры и мыши.

Remote Desktop Protocol поддерживает несколько виртуальных каналов в рамках одного соединения, благодаря этому можно использовать дополнительный функционал

  • Передать на сервер свой принтер или COM порт
  • Перенаправить на сервер свои локальные диски
  • Буфер обмена
  • Аудио и видео

Этапы RDP соединения

  • Установка соединения
  • Согласование параметров шифрования
  • Аутентификация серверов
  • Согласование параметров RDP сессии
  • Аутентификация клиента
  • Данные RDP сессии
  • Разрыв RDP сессии

Безопасность в RDP протоколе

Remote Desktop Protocol имеет два метода аутентификации Standard RDP Security и Enhanced RDP Security, ниже рассмотрим оба более подробно.

Standard RDP Security

RDP протокол при данном методе аутентификации, шифрует подключение средствами самого RDP протокола, которые есть в нем, вот таким методом:

  • Когда ваша операционная система запускается, то идет генерация пары RSA ключиков
  • Идет создание сертификата открытого ключа Proprietary Certificate
  • После чего Proprietary Certificate подписывается RSA ключом созданным ранее
  • Теперь RDP клиент подключившись к терминальному серверу получит Proprietary Certificate
  • Клиент его смотрит и сверяет, далее получает открытый ключ сервера, который используется на этапе согласования параметров шифрования.

Если рассмотреть алгоритм с помощью которого все шифруется, то это потоковый шифр RC4. Ключи разной длины от 40 до 168 бит, все зависит от редакции операционной системы Windows, например в Windows 2008 Server – 168 бит. Как только сервер и клиент определились с длиной ключа, генерируются два новых различных ключа, для шифрования данных.

Если вы спросите про целостность данных, то тут она достигается за счет алгоритма MAC (Message Authentication Code) базируемого на SHA1 и MD5

Enhanced RDP Security

RDP протокол при данном методе аутентификации использует два внешних модуля безопасности:

  • CredSSP
  • TLS 1.0

TLS поддерживается с 6 версии RDP. Когда вы используете TLS, то сертификат шифрования можно создать средствами терминального сервера, самоподписный сертификат или выбрать из хранилища.

Когда вы задействуете CredSSP протокол, то это симбиоз технологий Kerberos, NTLM и TLS. При данном протоколе сама проверка, при которой проверяется разрешение на вход на терминальный сервер осуществляется заранее, а не после полноценного RDP подключения, и тем самым вы экономите ресурсы терминального сервера, плюс тут более надежное шифрование и можно делать однократный вход в систему (Single Sign On), благодаря NTLM и Kerberos. CredSSP идет только в ОС не ниже Vista и Windows Server 2008. Вот эта галка в свойствах системы

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

Изменить порт rdp

Для того, чтобы изменить порт rdp, вам потребуется:

  1. Открываем редактор реестра (Пуск -> Выполнить -> regedit.exe)
  2. Переходим к следующему разделу:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

Находим ключ PortNumber и меняем его значение на номер порта, который Вам нужен.

Выберите обязательно десятичное значение, я для примера поставлю порт 12345.

Как только вы это сделали, то перезапустите службу удаленных рабочих столов, через командную строку, вот такими командами:

И создаем новое входящее правило для нового rdp порта. Напоминаю, что порт rdp по умолчанию 3389.

Выбираем, что правило будет для порта

Протокол оставляем TCP и указываем новый номер RDP порта.

Правило у нас будет разрешающее RDP соединение по не стандартному порту

При необходимости задаем нужные сетевые профили.

Ну и назовем правило, понятным для себя языком.

Для подключения с клиентских компьютеров Windows адрес пишите с указанием порта. Например, если порт Вы изменили на 12345, а адрес сервера (или просто компьютера, к которому подключаетесь): myserver, то подключение по MSTSC будет выглядеть так:
mstsc -v:myserver:12345

Возможность осуществления удаленного доступа по протоколу RDP система Windows предусматривает давно. Такой штатный инструмент появился еще в версии Windows NT 4.0, вышедшей в 1996 году. Более-менее функционально он был доработан в версии Windows ХР, а свою завершенность обрел уже в составе Windows 7. Версии Windows 8/8.1 и 10 удаленный доступ по протоколу RDP от Windows 7 унаследовали без функциональных изменений.

Ниже подробно рассмотрим работу удаленного доступа по протоколу RDP в версиях Windows 7, 8.1 и 10.

1. Удаленный доступ по протоколу RDP

Подключение по протоколу RDP осуществляется между компьютерами, находящими в одной локальной сети. Этот тип подключения предусмотрен в первую очередь для IT-специалистов, которые обслуживают компьютеры компаний, объединенные в свою производственную сеть. Не покидая своего рабочего места, подключаясь удаленно к компьютерам работников предприятия, системщики могут решать проблемы, которые не требуют вмешательства в аппаратную часть машин, и проводить профилактические мероприятия.

Подключение к удаленному компьютеру с задействованием протокола RDP возможно и за пределами локальной сети, по Интернету. Но для этого потребуются дополнительные действия – либо проброс порта 3389 на роутере, либо объединение с удаленным компьютером в единую сеть VPN. Ввиду этого подключиться к удаленному компьютеру по Интернету гораздо проще с использованием иных программных инструментов, не требующих лишних действий. Это, например, штатная утилита Windows «Удаленный помощник» для оказания компьютерной помощи по Интернету. Она работает по принципу отправки файла приглашения пользователю, который будет оказывать компьютерную помощь. Ее более функциональные аналоги на рынке софта для Windows – программы типа .

Протокол RDP также используется для подключения к виртуальным машинам . Удаленное подключение по протоколу RDP может предложить больше возможностей, нежели стандартное окно подключения штатного гипервизора. Окно подключения Hyper-V не предусматривает воспроизведение звука в гостевой ОС, не видит подключенные USB-носители информации, не может предложить большей связи с физическим компьютером, нежели вставка скопированного в нем текста. Тогда как подключение по RDP может обеспечить видимость виртуальной машиной различных устройств, подсоединенных к физическому компьютеру, более качественное изображение рабочего стола гостевой ОС, работу со звуком и т.д.

Для подключения по RDP необходимо, чтобы удаленный компьютер соответствовал таким требованиям:

  • На нем должна быть запароленная учетная запись;
  • В системе должны быть разрешены удаленные подключения;
  • Если нет желания каждый раз при подключении менять данные доступа при постоянно меняющемся динамическом IP-адресе, в настройках сети необходимо присвоить статический IP-адрес.

Удаленный доступ возможен только на компьютерах с установленными редакциями Windows Pro, Enterprise или Ultimate. Домашние версии Windows (Home) удаленный доступ по протоколу RDP не предусматривают.

2. Пароль на удаленном компьютере

Если на удаленном компьютере проводится работа с учетной записи Microsoft, при этом вместо длинного пароля используется короткий ПИН-код, при подключении по протоколу RDP необходимо вводить тот самый длинный пароль, а не четырехзначный ПИН-код.

Если на удаленном компьютере используется незапароленная локальная учетная запись, при этом в пароле особой необходимости нет, как например, при подключении к виртуальным машинам Hyper-V, хотя бы простейший пароль типа «777» или «qwerty» создать придется.

3. IP-адрес удаленного компьютера

При подключении по протоколу RDP потребуется ввести IP-адрес удаленного компьютера. Внутренний IP-адрес виден в сетевых параметрах системы. Но в версиях Windows 7, 8.1 и 10 это три разных пути. В системе Windows 7 это раздел панели управления, а в Windows 8.1 и 10 это приложение «Параметры» с присущей каждой из версий собственной организацией. Потому внутренний IP-адрес будем узнавать универсальным, подходящим для каждой из этих систем способом – посредством командной строки. Ярлык запуска командной строки в Windows 7 доступен в меню «Пуск». В Windows 8.1 и 10 командная строка запускается из контекстного меню на кнопке «Пуск».

В окне командной строки вводим:

После нажатия Enter получим сводку данных, где будет виден внутренний IP-адрес.

4. Разрешение удаленных подключений

Разрешение на удаленное подключение в системах Windows изначально, как правило, отключено. Во всяком случае это точно касается лицензионных сборок. Возможность подключения по протоколу RDP на удаленном компьютере активируется в настройках системы. Нам нужен раздел «Система». В версии Windows 7 к нему можно получить доступ с помощью поиска по меню «Пуск». А в Windows 8.1 и 10 в раздел «Система» можно попасть из контекстного меню на кнопке «Пуск».

Кликаем «Настройка удаленного доступа».

В окошке свойств системы необходимо выставить активной опцию разрешения удаленных подключений. Опцию проверки подлинности убирать не стоит. Для применения изменений жмем «Применить» внизу.

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

Ниже опции разрешения удаленных подключений есть кнопка «Выбрать пользователей». Жмем ее.

В поле внизу вводим имя пользователя, которому разрешается, чтобы к нему подключались по протоколу RDP. Для локальных учетных записей это их имя, а для учетных записей Microsoft – электронный адрес, с помощью которого происходит авторизация. Жмем «Ок».

Все – теперь к учетной записи этого пользователя будет доступ с любого компьютера внутри локальной сети.

5. Подключение к удаленному компьютеру

Все нужные действия на удаленном компьютере сделаны, переходим к основному компьютеру, с которого будет осуществляться подключение и управление. Запустить штатную утилиту подключения по протоколу RDP можно, отыскав ее ярлык с помощью поиска внутри системы. В Windows 7 это поиск по меню «Пуск».

В версиях Windows 8.1 и 10 жмем клавиши Win+Q.

Появится небольшое окошко подключения. В дальнейшем к удаленным компьютерам можно будет подключаться, используя именно такую его сокращенную форму. Но пока что жмем «Показать параметры».

В поле «Компьютер» вписываем IP-адрес удаленного компьютера. В поле ниже - «Пользователь» - соответственно, вводим имя пользователя. Если к удаленному компьютеру подключена учетная запись Microsoft, вписываем электронный адрес.

Если на компьютере проводится работа с обычной локальной учетной записи, имя пользователя необходимо вводить в формате:

Компьютер\Пользователь

Например, DESKTOP-R71R8AM\Вася , где DESKTOP-R71R8AM – это имя компьютера, а Вася – имя пользователя локальной учетной записи.

Ниже имени пользователя предусмотрена опция сохранения данных авторизации на удаленном компьютере. Параметры подключения - IP-адрес, имя пользователя и пароль - можно сохранить отдельным RDP-файлом и использовать его для открытия на другом компьютере. Жмем «Подключить», а затем еще раз «Подключить» в новом окошке.

Вводим пароль от учетной записи удаленного компьютера.

Жмем «Да» в окошке ошибки сертификата.

Больше настроек подключения по протоколу RDP получим в окошке утилиты изначально, до установки соединения.

6. Подключение к другой учетной записи удаленного компьютера

Ниже графы заполнения имени пользователя удаленного компьютера, если не стоит галочка «Всегда запрашивать учетные данные», отображаются опции удаления и изменения данных доступа. Нажав опцию «Изменить», кроме формы авторизации в уже имеющейся учетной записи удаленного компьютера, увидим возможность подключения к другой учетной записи, присутствующей на этом же компьютере.

После ввода нового имени пользователя и пароля данные авторизации для конкретного IP-адреса будут перезаписаны.

7. Настройки подключения

В раскрытом окне подключения к удаленному компьютеру обнаружим вкладки с настраиваемыми параметрами. Первые две касаются удобства и функциональности удаленного доступа.

«Экран» – в этой вкладке можно установить разрешение экрана удаленного компьютера, с этим разрешением будет открываться окно утилиты после подключения. Если доступ осуществляется со слабого компьютера, можно установить низкое разрешение и пожертвовать глубиной цвета.

«Локальные ресурсы» – здесь в целях экономии системных ресурсов можно отключить воспроизведение звука на удаленном компьютере. А можно, наоборот, установить еще и запись звука с удаленного компьютера. В графе локальных устройств и ресурсов после нажатия кнопки «Подробнее», можем, кроме активного принтера, выбрать еще устройства основного компьютера, которые будут работать на компьютере удаленном. Это смарт-карты, отдельные разделы жесткого диска, флешки, карты памяти, внешние винчестеры.

Препятствием использования протокола RDP может стать его блокировка антивирусами. В таком случае работу протокола RDP необходимо разрешать в настройках антивирусных программ.

Отличного Вам дня!

desktopwidth:i
Ширина рабочего стола, выбранная на вкладке Дисплей окна Параметры средства «Подключение к удаленному рабочему столу».

desktopheight:i
Высота рабочего стола, выбранная на вкладке Дисплей окна Параметры средства «Подключение к удаленному рабочему столу».

session bpp:i
Глубина цвета, выбранная в группе Цветовая палитра на вкладке Дисплей окна Параметры средства «Подключение к удаленному рабочему столу».

winposstr:i
Положение окна, выбранное на вкладке Дисплей окна Параметры средства «Подключение к удаленному рабочему столу».

full address:s
Компьютер, к которому необходимо подключиться. Значение этого параметра соответствует записи в поле Компьютер на вкладке Общие окна Параметры средства «Подключение к удаленному рабочему столу».

compression:i
Определяет, используется ли сжатие данных при передаче на клиентский компьютер.
0 Использовать сжатие данных.
1 Не использовать сжатие данных.

keyboardhook:i
Определяет, где применяются сочетания клавиш Windows. Значение этого параметра соответствует записи в поле Клавиатура на вкладке Локальные ресурсы окна Параметры средства «Подключение к удаленному рабочему столу».
0 На локальном компьютере.
1 На удаленном компьютере.
2 Только в полноэкранном режиме.

audiomode:i
Определяет, где воспроизводится звук. Значение этого параметра соответствует записи в поле Звук на удаленном компьютере на вкладке Локальные ресурсы окна Параметры средства «Подключение к удаленному рабочему столу».
0 На клиентском компьютере.
1 На узловом компьютере.
2 Отключить звук.

redirectdrives:i
Автоматическое подключение дисков при входе в систему удаленного компьютера. Значение этого параметра соответствует состоянию флажка Дисковые накопители на вкладке Локальные ресурсы окна Параметры средства «Подключение к удаленному рабочему столу».
0 Не использовать автоматическое подключение дисков.
1 Использовать автоматическое подключение дисков.

redirectprinters:i
Автоматическое подключение принтеров при входе в систему удаленного компьютера. Значение этого параметра соответствует состоянию флажка Принтеры на вкладке Локальные ресурсы окна Параметры средства «Подключение к удаленному рабочему столу».
0 Не использовать автоматическое подключение принтеров.
1 Использовать автоматическое подключение принтеров.

redirectcomports:i
Автоматическое подключение COM-портов при входе в систему удаленного компьютера. Значение этого параметра соответствует состоянию флажка Последовательные порты на вкладке Локальные ресурсы окна Параметры средства «Подключение к удаленному рабочему столу».
0 Не использовать автоматическое подключение COM-портов.
1 Использовать автоматическое подключение COM-портов.

displayconnectionbar:i
Отображение панели подключений при входе в систему удаленного компьютера в полноэкранном режиме. Значение этого параметра соответствует состоянию флажка Отображать панель подключений при работе на полном экране на вкладке Дисплей окна Параметры средства «Подключение к удаленному рабочему столу».
0 Не отображать панель подключений.
1 Отображать панель подключений.

username:s
Имя пользователя, отображаемое в RDP. Значение этого параметра соответствует записи в поле Имя пользователя на вкладке Общие окна Параметры средства «Подключение к удаленному рабочему столу».

domain:s
Имя пользователя, отображаемое в диалоговом окне Подключение к удаленному рабочему столу. Значение этого параметра соответствует записи в поле Домен на вкладке Общие окна Параметры средства «Подключение к удаленному рабочему столу».

alternate shell:s
Автоматический запуск программы при подключении по протоколу RDP. Значение этого параметра соответствует записи в поле Путь к программе и имя файла на вкладке Программы окна Параметры средства «Подключение к удаленному рабочему столу».

shell working directory:s
Местоположение папки приложения, которое автоматически запускается при подключении по протоколу RDP. Значение этого параметра соответствует записи в поле Путь к программе и имя файла на вкладке Программы окна Параметры средства «Подключение к удаленному рабочему столу».

disable wallpaper:i
Отображение фонового рисунка при входе в систему удаленного компьютера. Значение этого параметра соответствует состоянию флажка Фоновый рисунок рабочего стола на вкладке Дополнительно окна Параметры средства «Подключение к удаленному рабочему столу».
0 Отображать фоновый рисунок.
1 Не отображать фоновый рисунок.

disable full window drag:i
Отображение содержимого папки при перетаскивании папки в новое местоположение. Значение этого параметра соответствует состоянию флажка Отображать содержимое окна при перетаскивании на вкладке Дополнительно окна Параметры средства «Подключение к удаленному рабочему столу».
0 Отображать содержимое папки при перетаскивании.
1 Не отображать содержимое папки при перетаскивании.

disable menu anims:i
Анимация меню и окон при входе в систему удаленного компьютера. Значение этого параметра соответствует состоянию флажка Визуальные эффекты при отображении меню и окон на вкладке Дополнительно окна Параметры средства «Подключение к удаленному рабочему столу».
0 Использовать анимацию при отображении меню и окон.
1 Не использовать анимацию при отображении меню и окон.

disable themes:i
Использование тем при входе в систему удаленного компьютера. Значение этого параметра соответствует состоянию флажка Темы на вкладке Дополнительно окна Параметры средства «Подключение к удаленному рабочему столу».
0 Использовать темы.
1 Не использовать темы.

bitmapcachepersistenable:i
Кэширование графики на локальном компьютере. Значение этого параметра соответствует состоянию флажка Кэширование графики на вкладке Дополнительно окна Параметры средства «Подключение к удаленному рабочему столу».
0 Не использовать кэширование.
1 Использовать кэширование.

autoreconnection enabled:i
Определяет, должен ли клиентский компьютер автоматически пытаться заново установить соединение после того, как соединение было прервано.
0 Клиентский компьютер не пытается восстановить соединение.
1 Клиентский компьютер пытается восстановить соединение.

connect to console:i:1
Добавления этой строки приведет к подключению к консоли удаленного компьютера.

Данная статья открывает цикл статей, посвященных устройству и безопасности протокола RDP. В первой статье этого цикла анализируется устройство, использование и основные технологии, заложенные в данный протокол.

Данная статья открывает цикл статей, посвященных устройству и безопасности протокола RDP. В первой статье этого цикла анализируется устройство, использование и основные технологии, заложенные в данный протокол.

В следующих статьях будут подробно рассмотрены следующие вопросы:

  • Работа подсистемы безопасности Remote Desktop
  • Формат обмена служебной информацией в RDP
  • Уязвимые места сервера терминалов и пути их устранения
  • Подбор учетных записей пользователей по RDP протоколу (разработки компании Positive Technologies в данной области)

История появления RDP

Протокол Remote Desktop создан компанией Microsoft для обеспечения удаленного доступа к серверам и рабочим станциям Windows. Протокол RDP рассчитан на использование ресурсов высокопроизводительного сервера терминалов многими менее производительными рабочими станциями. Впервые сервер терминалов (версия 4.0) появился в 1998 году в составе Windows NT 4.0 Terminal Server, на момент написания статьи (январь 2009 года) последней версией терминального сервера является версия 6.1, включенная в дистрибутивы Windows 2008 Server и Windows Vista SP1. В настоящее время RDP является основным протоколом удаленного доступа для систем семейства Windows, а клиентские приложения существуют как для OC от Microsoft, так и для Linux, FreeBSD, MAC OS X и др.

Говоря об истории появления RDP, нельзя не упомянуть компанию Citrix. Citrix Systems в 1990-х годах специализировалась на многопользовательских системах и технологиях удаленного доступа. После приобретения лицензии на исходные коды Windows NT 3.51 в 1995 году эта компания выпустила многопользовательскую версию Windows NT, известную как WinFrame. В 1997 году Citrix Systems и Microsoft заключили договор, по которому многопользовательская среда Windows NT 4.0 базировалась на технологических разработках Citrix. В свою очередь Citrix Systems отказалась от распространения полноценной операционной системы и получала право на разработку и реализацию расширений для продуктов Microsoft. Данные расширения изначально назывались MetaFrame. Права на ICA (Independent Computing Architecture), прикладной протокол взаимодействия тонких клиентов с сервером приложений Citrix, остались за Citrix Systems, а протокол Microsoft RDP строился на базе ITU T.120.

В настоящее время основная конкурентная борьба между Citrix и Microsoft разгорелась в области серверов приложений для малого и среднего бизнеса. Традиционно решения на базе Terminal Services выигрывают в системах с не очень большим количеством однотипных серверов и схожих конфигураций, в то время как Citrix Systems прочно обосновалась на рынке сложных и высокопроизводительных систем. Конкуренция подогревается выпуском облегченных решений для небольших систем компанией Citrix и постоянным расширением функционала Terminal Services со стороны Microsoft.

Рассмотрим преимущества этих решений.

Сильные стороны Terminal Services:

  • Простота установки приложений для клиентской части сервера приложений
  • Централизованное обслуживание сессий пользователя
  • Необходимость наличия лицензии только на Terminal Services

Сильные стороны решений Citrix:

  • Простота масштабирования
  • Удобство администрирования и мониторинга
  • Политика разграничение доступа
  • Поддержка корпоративных продуктов сторонних разработчиков (IBM WebSphere, BEA WebLogic)

Устройство сети, использующей Terminal Services

Microsoft предполагает два режима использования протокола RDP:

  • для администрирования (Remote administration mode)
  • для доступа к серверу приложений (Terminal Server mode)

RDP в режиме администрирования

Данный вид соединения используется всеми современными операционными системами Microsoft. Серверные версии Windows поддерживают одновременно два удаленных подключения и один локальный вход в систему, в то время как клиентские - только один вход (локальный или удаленный). Для разрешения удаленных подключений требуется включить удаленный доступ к рабочему столу в свойствах рабочей станции.

RDP в режиме доступа к серверу терминалов

Данный режим доступен только в серверных версиях Windows. Количество удаленных подключений в данном случае не лимитируется, но требуется настройка сервера лицензий (License server) и его последующая активация. Сервер лицензий может быть установлен как на сервер терминалов, так и на отдельный сетевой узел. Возможность удаленного доступа к серверу терминалов открывается только после установки соответствующих лицензий на License server.

При использовании кластера терминальных серверов и балансировки нагрузки требуется установка специализированного сервера подключений (Session Directory Service). Данный сервер индексирует пользовательские сессии, что позволяет выполнять вход, а также повторный вход на терминальные серверы, работающие в распределенной среде.

Принцип работы RDP

Remote Desktop является прикладным протоколом, базирующимся на TCP. После установки соединения на транспортном уровне инициализируется RDP- сессия, в рамках которой согласуются различные параметры передачи данных. После успешного завершения фазы инициализации сервер терминалов начинает передавать клиенту графический вывод и ожидает входные данные от клавиатуры и мыши. В качестве графического вывода может выступать как точная копия графического экрана, передаваемая как изображение, так и команды на отрисовку графических примитивов (прямоугольник, линия, эллипс, текст и др.). Передача вывода с помощью примитивов является приоритетной для протокола RDP, так как значительно экономит трафик; а изображение передается лишь в том случае, если иное невозможно по каким-либо причинам (не удалось согласовать параметры передачи примитивов при установке RDP -сессии). RDP- клиент обрабатывает полученные команды и выводит изображения с помощью своей графической подсистемы. Пользовательский ввод по умолчанию передается при помощи скан-кодов клавиатуры. Сигнал нажатия и отпускания клавиши передается отдельно при помощи специального флага.

RDP поддерживает несколько виртуальных каналов в рамках одного соединения, которые могут использоваться для обеспечения дополнительного функционала:

  • использование принтера или последовательного порта
  • перенаправление файловой системы
  • поддержка работы с буфером обмена
  • использование аудио- подсистемы

Характеристики виртуальных каналов согласуются на этапе установки соединения.

Обеспечение безопасности при использовании RDP

Спецификация протокола RDP предусматривает использование одного из двух подходов к обеспечению безопасности:

  • Standard RDP Security (встроенная подсистема безопасности)
  • Enhanced RDP Security (внешняя подсистема безопасности)

Standard RDP Security

При данном подходе аутентификация, шифрование и обеспечение целостности реализуется средствами, заложенными в RDP- протокол.

Аутентификация

Аутентификация сервера выполняется следующим образом:

  1. При старте системы генерируется пара RSA- ключей
  2. Создается сертификат (Proprietary Certificate) открытого ключа
  3. Сертификат подписывается RSA- ключом, зашитым в операционную систему (любой RDP -клиент содержит открытый ключ данного встроенного RSA- ключа).
  4. Клиент подключается к серверу терминалов и получает Proprietary Certificate
  5. Клиент проверяет сертификат и получает открытый ключ сервера (данный ключ используется в дальнейшем для согласования параметров шифрования)

Аутентификация клиента проводится при вводе имени пользователя и пароля.

Шифрование

В качестве алгоритма шифрования выбран потоковый шифр RC4. В зависимости от версии операционной системы доступны различные длины ключа от 40 до 168 бит.

Максимальная длина ключа для операционных систем Winodws:

  • Windows 2000 Server – 56 бит
  • Windows XP, Windows 2003 Server – 128 бит
  • Windows Vista, Windows 2008 Server – 168 бит

При установке соединения после согласования длины генерируется два различных ключа: для шифрования данных от клиента и от сервера.

Целостность

Целостность сообщения достигается применением алгоритма генерации MAC (Message Authentication Code) на базе алгоритмов MD5 и SHA1.

Начиная с Windows 2003 Server, для обеспечения совместимости с требованиями стандарта FIPS (Federal Information Processing Standard) 140-1 возможно использование алгоритма 3DES для шифрования сообщений и алгоритма генерации MAC, использующего только SHA1, для обеспечения целостности.

Enhanced RDP Security

В данном подходе используются внешние модули обеспечения безопасности:

  • TLS 1.0
  • CredSSP

Протокол TLS можно использовать, начиная с версии Windows 2003 Server, но только если его поддерживает RDP- клиент. Поддержка TLS добавлена, начиная с RDP -клиента версии 6.0.

При использовании TLS сертификат сервера можно генерировать средствами Terminal Sercives или выбирать существующий сертификат из хранилища Windows.

Протокол CredSSP представляет собой совмещение функционала TLS, Kerberos и NTLM.

Рассмотрим основные достоинства протокола CredSSP:

  • Проверка разрешения на вход в удаленную систему до установки полноценного RDP- соединения, что позволяет экономить ресурсы сервера терминалов при большом количестве подключений
  • Надежная аутентификация и шифрование по протоколу TLS
  • Использование однократного входа в систему (Single Sign On) при помощи Kerberos или NTLM

Возможности CredSSP можно использовать только в операционных системах Windows Vista и Windows 2008 Server. Данный протокол включается флагом Use Network Level Authentication в настройках сервера терминалов (Windows 2008 Server) или в настройках удаленного доступа (Windows Vista).

Схема лицензирования Terminal Services

При использовании RDP для доступа к приложениям в режиме тонкого клиента требуется настройка специализированного сервера лицензий.

Постоянные клиентские лицензии могут быть установлены на сервер только после прохождения процедуры активации, до ее прохождения возможна выдача временных лицензий, лимитированных по сроку действия. После прохождения активации серверу лицензий предоставляется цифровой сертификат, подтверждающий его принадлежность и подлинность. Используя этот сертификат, сервер лицензий может осуществлять последующие транзакции с базой данных Microsoft Clearinghouse и принимать постоянные клиентские лицензии для сервера терминалов.

Виды клиентских лицензий:

  • временная лицензия (Temporary Terminal Server CAL)
  • лицензия «на устройство» (Device Terminal Server CAL)
  • лицензия «на пользователя» (User Terminal Server CAL)
  • лицензия для внешних пользователей (External Terminal Server Connector)

Временная лицензия

Данный вид лицензии выдается клиенту при первом подключении к серверу терминалов, срок действия лицензии 90 дней. При успешном входе клиент продолжает работать с временной лицензией, а при следующем подключении сервер терминалов пробует заменить временную лицензию постоянной, при ее наличии в хранилище.

Лицензия «на устройство»

Эта лицензия выдается для каждого физического устройства, подключающегося к серверу приложения. Срок действия лицензии устанавливается случайным образом в промежутке от 52 до 89 дней. За 7 дней до окончания срока действия сервер терминалов пытается обновить лицензию с сервера лицензий при каждом новом подключении клиента.

Лицензия «на пользователя»

Лицензирование «на пользователя» обеспечивает дополнительную гибкость, позволяя пользователям подключаться с различных устройств. В текущей реализации Terminal Services нет средств контроля использования пользовательские лицензий, т.е. количество доступных лицензий на сервере лицензий не уменьшается при подключении новых пользователей. Использование недостаточного количества лицензий для клиентских подключений нарушает лицензионное соглашение с компанией Microsoft. Чтобы одновременно использовать на одном сервере терминалов клиентские лицензии для устройств и для пользователей, сервер должен быть настроен для работы в режиме лицензирования «на пользователя».

Лицензия для внешних пользователей

Это специальный вид лицензии, предназначенный для подключения внешних пользователей к корпоративному серверу терминалов. Данная лицензия не налагает ограничений на количество подключений, однако, согласно пользовательскому соглашению (EULA), сервер терминалов для внешних подключений должен быть выделенным, что не допускает его использования для обслуживания сессий от корпоративных пользователей. Из-за высокой цены данный вид лицензии не получил широкого распространения.

Для сервера лицензий может быть установлена одна из двух ролей:

  • Сервер лицензий для домена или рабочей группы (Domain or Workgroup License server)
  • Сервер лицензий предприятия (Entire Enterprise License Server)

Роли отличаются способом обнаружения сервера лицензий: при использовании роли Enterprise терминальный сервер выполняет поиск сервера лицензии по каталогу ActiveDirectory, в противном случае поиск выполняется при помощи широковещательного NetBIOS- запроса. Каждый найденный сервер проверяется на корректность при помощи RPC -запроса.

Перспективные технологии Terminal Services

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

В Terminal Services для Windows 2008 Server введены следующие возможности.

Многие пользователи очень часто сталкиваются с таким понятием, как RDP-клиент, хотя иногда до конца четко себе не представляют, что это за программы и для чего они нужны. Рассмотрим, что такое RDP-клиент (Windows XP и 7 возьмем в качестве действующей среды операционной системы). В заключение будет представлен список альтернативных приложений.

RDP-клиенты: что это и зачем они нужны

Чтобы определиться с пониманием сути таких программ, нужно просто расшифровать сокращение RDP. По сути, это специальный протокол , позволяющий подключаться к удаленному «Рабочему столу» с любого другого терминала или с мобильного устройства.

Впрочем, говорить только о доступе исключительно к «Рабочему столу» несколько неправильно. Практически любая программа такого типа, будь то RDP-клиент Windows XP, 7 и выше, позволяет получить доступ ко всем функциям и настройкам системы, а также к информации, хранящейся на И производить управление абсолютно всеми доступными параметрами можно с удаленного терминала, смартфона или планшета. Что касается настроек, они очень похожи (если используется, например, «родной» RDP-клиент для Windows 7 или же программный продукт стороннего разработчика).

Предварительное обновление для Windows XP

С настройкой приложений этого типа обычно проблем не возникает, поскольку все процессы максимально автоматизированы. Однако на некоторые нюансы обратить внимание все-таки нужно.

В Windows XP даже при установленном апдейте SP3 предусмотрена версия клиента 6.1. Установить клиент RDP 7.0 можно только в ручном режиме. К сожалению, при загрузке обновления с официального сайта Microsoft часто возникают проблемы, поэтому можно скачать обновление из другого источника. В данном случае имеется в виду пакет обновлений KB969084 (85) с учетом

После загрузки файла, который представлен в исполняемом варианте (EXE), просто запускаем его и ждем окончания процесса обновления. По завершении инсталляции компьютер или ноутбук в обязательном порядке нужно перезагрузить. Версия 7.0 в Windows XP позволит получить удаленный доступ даже к терминалам с десятой версией системы на борту.

Встроенный RDP-клиент для Windows 7: начальная настройка системы

В «семерке» тоже есть собственная программа удаленного доступа. Однако если в XP RDP-клиент можно обновить до версии 7.0, здесь изначально по умолчанию используется модификация 7.1, которая представлена в виде специальной утилиты MsTsc.exe.

Но перед началом настройки следует зайти в «Панель управления» и выбрать раздел «Система». Также доступ может осуществляться через меню свойств компьютера при клике на значке, находящемся на «Рабочем столе».

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

Общие правила настройки

Любой RDP-клиент для Windows можно вызвать стандартной командой mstsc, вводимой в полке консоли «Выполнить» (Win + R).

В окне подключения нужно ввести искомый IP-адрес сервера или терминала, с которым будет осуществляться сеанс связи. После этого система предложит ввести свои учетные данные, а затем произойдет переадресация на удаленный «Рабочий стол».

Для изменения настроек следует развернуть отображение всех параметров при помощи соответствующей кнопки. На вкладке общих настроек можно ввести имя компьютера и установить разрешение для сохранения текущих параметров. Так же просто на соответствующей вкладке настраивается яркость экрана и другие характеристики, с ним связанные. В локальных процессах производится регулировка качества звука, разрешение на использование сочетания клавиш и осуществляется выбор устройств, которые хотелось бы задействовать при подключении (принтеры, факсы и т. д.). На вкладке программ можно выбрать определенное приложение, которое будет запускаться автоматически при установке удаленного доступа. В разделе взаимодействия можно установить собственные параметры скорости соединения. Наконец, в дополнительных настройках можно выставить параметры проверки подлинности сервера.

Изменение параметров ограничения скорости соединения

Но это еще не все. Дело в том, что встроенные RDP-клиенты могут существенно ограничивать скорость доступа к удаленным терминалам (устанавливается лимит скорости обновления).

Изменить настройки можно в редакторе системного реестра, который вызывается командой regedit в меню «Выполнить». Здесь нужно выбрать ветку HKCU и в разделе SOFTWARE найти параметр MinSendInterval. Его значение по умолчанию установлено на 120 мс, но лучше изменить его и поставить 5-10 мс.

Попутно можно поменять значение объема кэша и параметры «пин-коннектора», но лучше их не трогать. А вот для ключа OrderDrawThreshold лучше выставить значение на уровне 1 мс.

Нужно ли менять порт?

Практически все известные RDP-клиенты для корректной работы используют порт 3389. Если по каким-либо причинам он не работает, для начала следует изменить настройки файрволла и создать для порта новое правило и ввести значение порта для протокола TCP.

В некоторых случаях может потребоваться на роутере, где аналогично брэндмауэру создается новое правило с указанием в качестве пробрасываемого порта значения 3389. Для правильной настройки желательно почитать документацию к маршрутизатору.

Альтернативные программы

Далеко не все пользователи согласны, что «родные» RDP-клиенты для Windows являются оптимальным решением для осуществления удаленного доступа. Сегодня таких программ выпускается очень много. Например, очень удобным считается клиент от корпорации Google.

Единственная загвоздка в том, что для его корректной работы необходимо иметь в системе установленную последнюю версию браузера Google Chrome. Зато в настройках он намного проще, а удобство использования выглядит получше, чем у стандартных утилит Windows.

Настроек здесь минимум, но главное условие предоставления доступа состоит в том, чтобы использовать собственную учетную запись сервисов Google. Для владельцев мобильных девайсов с ОС Android на борту это вообще проблемой не является. Зато в итоге управлять компьютером или ноутбуком можно даже с самого простенького смартфона.

Среди остальных утилит стоит отметить следующие:

  • FreeRDP.
  • Remmina.
  • Rdesktop и др.

Заключение

Что именно использовать, советовать сложно, ведь каждая программа имеет свои плюсы и минусы. Однако если провести некое сравнение, можно сделать вывод: нет ничего проще, нежели работать с собственными средствами Windows или установить Chrome Remote Desktop от Google. Но в любом случае предварительную настройку по разрешению или на первой стадии выполнить придется.