Штатный инструмент Windows для удаленного доступа по протоколу RDP внутри локальной сети. Протокол RDP Защита rdp соединения

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

Для чего нужен протокол RDP?

Для начала несколько слов о том, RDP. Если посмотреть на расшифровку аббревиатуры, можно понять, что удаленного доступа

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

Стандартный порт RDP: нужно ли его менять?

Итак, вне зависимости от модификации Windows все протоколы имеют предустановленное значение. Это порт RDP 3389, который и используется для осуществления сеанса связи (подключения одного терминала к удаленным).

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

Изменение настроек в системном реестре

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

Для начала вызываем стандартный редактор реестра командой regedit в меню «Выполнить» (Win + R). Здесь нас интересует ветка HKLM, в которой по дереву разделов нужно спуститься через директорию терминального сервера до каталога RDP-Tcp. В окне справа находим ключ PortNumber. Его-то значение нам и нужно поменять.

Заходим в редактирование и видим там 00000D3D. Многие сразу недоумевают по поводу того, что это такое. А это просто шестнадцатеричное представление десятичного числа 3389. Чтобы указать порт именно в десятичном виде, используем соответствующую строку отображения представления значения, а затем указываем нужный нам параметр.

После этого перегружаем систему, а при попытке подключения указываем новый порт RDP. Еще одним способом подключения является использование специальной команды mstsc /v:ip_address:XXXXX, где XXXXX - новый номер порта. Но и это еще не все.

Правила для файрволла Windows

Увы, но встроенный брандмауэр Windows может блокировать новый порт. Значит, необходимо внести изменения в настройки самого фаервола.

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

Проброс порта RDP на роутере

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

Сначала в свойствах системы разрешаем и указываем пользователей, имеющих на это право. Затем заходим в меню настроек роутера через браузер (192.168.1.1 или в конце 0.1 - все зависит от модели роутера). В поле (если основной адрес у нас 1.1) желательно указать адрес, начиная с третьего (1.3), а правило выдачи адреса прописать для второго (1.2).

Затем в сетевых подключениях используем просмотр деталей, где следует просмотреть детали, скопировать оттуда физический MAC-адрес и вставить его в параметры роутера.

Теперь в разделе настроек NAT на модеме включаем подключение к серверу, добавляем правило и указываем порт XXXXX, который нужно пробросить на стандартный порт RDP 3389. Сохраняем изменения и перегружаем роутер (без перезагрузки новый порт воспринят не будет). Проверить подключение можно на каком-нибудь специализированном сайте вроде ping.eu в разделе тестирования портов. Как видим, все просто.

Напоследок обратите внимание, что значения портов распределяются следующим образом:

  • 0 - 1023 - порты для низкоуровневых системных программ;
  • 1024 - 49151 - порты, выделяемые для частных целей;
  • 49152 - 65535 - динамические приватные порты.

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

Что же касается именно такая процедура используется в основном только в случаях Wi-Fi-соединения. Как уже можно было заметить, при обычном проводном подключении она не требуется: достаточно изменить значения ключей реестра и добавить правила для порта в файрволле.

Бытует мнение, что подключение по удаленному рабочему столу Windows (RDP) очень небезопасно в сравнении с аналогами (VNC, TeamViewer, пр). Как следствие, открывать доступ из вне к любому компьютеру или серверу локальной сети очень опрометчивое решение - обязательно взломают. Второй аргумент против RDP как правило звучит так - «жрет трафик, для медленного интернета не вариант». Чаще всего эти доводы ничем не аргументированы.

Протокол RDP существует не первый день, его дебют состоялся еще на Windows NT 4.0 более 20 лет назад и с тех пор утекло много воды. На данный момент RDP не менее безопасен, чем любое другое решение для удаленного доступа. Что касается требуемой полосы пропускания, так в этом плане есть куча настроек, с помощью которых можно добиться отличной отзывчивости и экономии полосы пропускания.

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

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

Во-первых, версий RDP протокола существует много. Все дальнейшее описание будет применимо к RDP 7.0 и выше. Это значит, что у вас как минимум Windows Vista SP1. Для любителей ретро есть специальный апдейт для Windows XP SP3 KB 969084 который добавляет RDP 7.0 в эту операционку.

Настройка №1 - шифрование

На компьютере, к которому вы собираетесь подключаться открываем gpedit.msc Идем в Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Безопасность

Устанавливаем параметр «Требовать использования специального уровня безопасности для удаленных подключений по методу RDP» в значение «Включено» и Уровень безопасности в значение «SSL TLS 1.0»

Этой настройкой мы включили шифрование как таковое. Теперь нам нужно сделать так, чтобы применялись только стойкие алгоритмы шифрования, а не какой-нибудь DES 56-bit или RC2.

Поэтому в этой же ветке открываем параметр «Установить уровень шифрования для клиентских подключений». Включаем и выбираем «Высокий» уровень. Это нам даст 128-битное шифрование.

Но и это еще не предел. Самый максимальный уровень шифрования обеспечивается стандартом FIPS 140-1. При этом все RC2/RC4 автоматически идут лесом.

Чтобы включить использование FIPS 140-1, нужно в этой же оснастке пойти в Конфигурация компьютера - Конфигурация Windows - Параметры безопасности - Локальные политики - Параметры безопасности.

Ищем параметр «Системная криптография: использовать FIPS-совместимые алгоритмы для шифрования, хэширования и подписывания» и включаем его.

И в завершении в обязательном порядке включаем параметр «Требовать безопасное RPC-подключение» по пути Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Безопасность.

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

Теперь с шифрованием полный порядок, можно двигаться дальше.

Настройка №2 - смена порта

По умолчанию протокол RDP висит на порту TCP 3389. Для разнообразия его можно изменить, для этого в реестре нужно изменить ключик PortNumber по адресу

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

Настройка №3 - сетевая аутентификация (NLA)

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

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

Настройка №4 - что еще проверить

Во-первых проверьте, что параметр «Учетные записи: разрешать использование пустых паролей только при консольном входе» включен. Параметр можно найти в Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Безопасность.

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

Настройка №5 - оптимизация скорости

Идем в раздел Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Среда удаленных сеансов.

Здесь можно и нужно отрегулировать несколько параметров:

  • Наибольшая глубина цвета - можно ограничиться 16 битами. Это позволит сэкономить трафик больше чем в 2 раза по сравнению с 32х битной глубиной.
  • Принудительная отмена фонового рисунка удаленного стола - для работы он не нужен.
  • Задание алгоритма сжатия RDP - лучше установить значение Оптимизация использования полосы пропускания. В этом случае RDP будет жрать памяти чуть больше, но сжимать будет эффективнее.
  • Оптимизировать визуальные эффекты для сеансов служб удаленных рабочих столов - ставим значение «Текст». Для работы то что нужно.

В остальном при подключении к удаленному компу со стороны клиента дополнительно можно отключить:

  • Сглаживание шрифтов. Это сильно уменьшит время отклика. (Если у вас полноценный терминальный сервер, то этот параметр так же можно задать на стороне сервера)
  • Композицию рабочего стола - отвечает за Aero и пр
  • Отображение окна при перетаскивании
  • Визуальные эффекты
  • Стили оформления - если хочется хардкора

Остальные параметры типа фона рабочего стола, глубины цвета мы уже предопределили на стороне сервера.

Дополнительно на стороне клиента можно увеличить размер кэша изображений, делается это в реестре. По адресу HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\ нужно создать два ключа типа DWORD 32 BitmapPersistCacheSize и BitmapCacheSize

  • BitmapPersistCacheSize можно установить равным 10000 (10 Мб) По умолчанию этот параметр берет значение 10, что соответствует 10 Кб.
  • BitmapCacheSize так же можно установить равным 10000 (10 Мб). Вы вряд ли заметите, если RDP-подключение съест лишних 10 Мб от вашей оперативной памяти

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

На этом основная часть настройки заканчивается. В следующих обзорах расскажу, как можно еще улучшить и обезопасить RDP. Используйте RDP правильно, всем стабильного коннекта! Как сделать RDP терминал сервер на любой версии Windows смотрите .

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

Какие преимущества дает нам защита RDP при помощи SSL? Во первых надежное шифрование канала, проверку подлинности сервера на основании сертификата и проверку подлинности пользователя на уровне сети. Последняя возможность доступна начиная с Windows Server 2008. Проверка подлинности на уровне сети позволяет повысить безопасность сервера терминалов за счет того, что проверка происходит еще до начала сеанса.

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

Для полноценного использования всех возможностей RDP через SSL клиентские ПК должны работать под управлением Windows XP SP3, Windows Vista или Windows 7 и использовать RDP клиент версии 6.0 или более поздней.

При использовании Windows Server 2003 SP1 и более поздних версий, будут доступны шифрование канала при помощи SSL (TLS 1.0) и проверка подлинности сервера, клиентские ПК должны иметь версию RDP клиента 5.2 или более позднюю.

В нашей статье мы будем рассматривать настройку терминального сервера на базе Windows Server 2008 R2, однако все сказанное будет справедливо и для Windows Server 2003 (за исключением отсутствующих возможностей).

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

Затем следует выполнить запрос сертификата подлинности сервера со следующими параметрами:

Имя - полное имя терминального сервера (т.е. server.domain.com если сервер входит в домен domain.com)

  • Тип сертификата - Сертификат проверки подлинности сервера
  • Установите опцию Создать новый набор ключей
  • CSP - Microsoft RSA SChannel Cryptographic Provider .
  • Установите флажок Пометить ключ как экспортируемый .
  • Для ЦС предприятия установите флажок Использовать локальное хранилище компьютера для сертификата . (В автономном ЦС данная опция недоступна).

Отправьте запрос центру сертификации и установите выданный сертификат. Данный сертификат должен быть установлен в локальное хранилище компьютера, иначе он не сможет быть использован службами терминалов. Чтобы проверить это запустим консоль MMC (Пуск - Выполнить - mmc ) и добавим оснастку Сертификаты (Файл - Добавить или удалить оснастку ) для учетной записи компьютера.

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

Если вы получали сертификат с помощью изолированного (автономного) ЦС (сеть не имеет доменной структуры) то он по умолчанию будет установлен в хранилище учетной записи пользователя и придется выполнить ряд дополнительных действий.

Откройте Internet Explorer - Свойства обозревателя - Содержимое - Сертификаты , выданный сертификат должен быть установлен в хранилище Личные .

Произведите его экспорт. При экспорте укажите следующие опции:

  • Да, экспортировать закрытый ключ
  • Удалить закрытый ключ после успешного экспорта

После чего удалите сертификат из данного хранилища. В оснастке Сертификаты (локальный компьютер) выберите раздел Проверка подлинности сервера , щелкните на него правой кнопкой мыши Все задачи - Импорт и импортируйте сертификат.

Теперь в Администрирование - Службы удаленных рабочих столов откройте Конфигурация узла сеансов удаленных рабочих столов (в Windows Server 2003 Администрирование - Настройка служб терминалов).

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

После выбора сертификата укажите остальные свойства:

  • Уровень безопасности SSL
  • Уровень шифрования Высокий или FIPS -совместимый
  • Установите флажок Разрешить подключаться только с компьютеров... (недоступно в Windows Server 2003)

Сохраните введенный параметры, на этом настройка сервера закончена.

На клиентском ПК создайте подключение к удаленному рабочему столу, в качестве адреса используйте полное имя сервера, которое указано в сертификате. Откройте свойства подключения и на закладке Подключение - Проверка подлинности сервера установите опцию Предупреждать .

Чтобы данный ПК доверял сертификатам выданным нашим центром сертификации не забудьте установить на него сертификат ЦС в хранилище Доверенные корневые центры сертификации .

В Windows 7 (при использовании RDP клиента версии 7) данный сертификат требуется установить в хранилище учетной записи компьютера , для этого импортируйте его через оснастку Сертификаты (локальный компьютер) в консоли MCC, аналогично тому, как это делали выше. В противном случае подключение будет невозможно и вы получите следующую ошибку:

Установив сертификат ЦС можете пробовать подключиться, обратите внимание, что имя пользователя и пароль будет предложено ввести еще до создания RDP сессии. При успешном соединении обратите внимание на замок в заголовке окна, который свидетельствует о работе через SSL. Нажав на него можно просмотреть информацию о сертификате.

И напоследок капля дегтя в бочке меда. Терминальные службы Windows не умеют проверять подлинность подключающихся клиентов, поэтому если стоит такая необходимость следует использовать дополнительные методы защиты, такие как SSH туннель или IPSec VPN.

Добрый день уважаемые читатели и гости блога, сегодня у нас с вами вот такая задача: изменить входящий порт службы 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:

Вообще если вы без сервера терминалов устанавливаете 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 соединение по не стандартному порту

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

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

Служба удаленного рабочего стола (Remote Desktop Services - RDS) в Windows Server 2008 R2 имеет нечто большее, чем просто новое название; это вам не устаревшая служба терминалов. Благодаря новым компонентам (некоторые из них были представлены в Windows Server 2008), таким как RemoteApp, RD Gateway и RD Virtualization Host, эта роль сервера Windows теперь предоставляет вам гибкость в установке отдельных приложений или полных машин с помощью RDS или VDI решения – во многих случаях без необходимости в использовании Citrix или иных добавляемых модулей сторонних производителей.

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

Что нового в R2

Если вы приступаете к работе с RDS после работы со службами терминалов Windows Server 2008 Terminal Services, вы не встретите там много значительных изменений, как при переходе с Windows Server 2003. WS 2008 добавил некоторые значительные улучшения в службы терминалов, включая TS Web Access для подключения через браузер, TS Gateway для пользователей, подключающихся через интернет, RemoteApp для доставки отдельных приложений пользователям через Remote Desktop Protocol (RDP) протокол и Session Broker, который включает функцию балансировки нагрузки.

  • Виртуализация удаленного рабочего стола (Remote Desktop Virtualization) для VDI решения
  • RDS Provider для PowerShell, чтобы администраторы могли изменять конфигурацию и выполнять задачи в интерпретаторе команд и с помощью сценариев
  • Виртуализация сетевого адреса (Remote Desktop IP Virtualization), которая позволяет присваивать IP адреса соединениям для каждого отдельного сеанса или программы
  • Новая версия RDP и Remote Desktop Connection (RDC) клиента, версия 7.0
  • Fair Share CPU планирование для динамического распределения времени обработки между сеансами на основе количества активных сеансов.
  • Совместимость с Windows Installer для упрощения установки программ, требующих настройки под отдельных пользователей.
  • Действительная поддержка нескольких мониторов (до 16 штук), благодаря которым программы работают так же, как они работают на клиентских машинах.

Также есть улучшения в аудио/видео и поддержке Windows Aero в RD сеансе (однако обратите внимание, что Desktop Composition, которая обеспечивает работу Aero, не поддерживается в сеансах с несколькими мониторами).

Аспекты и механизмы безопасности

Конечно потенциальные проблемы безопасности зависят от того, как устанавливать RDS. Если у вас более сложная конфигурация, в которой пользователи подключаются через интернет и/или браузер, у вас будет больше аспектов безопасности, которые нужно учитывать и прорабатывать, нежели при использовании простой конфигурации, в которой пользователи подключаются исключительно через RDC клиентов по LAN.

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

Проверка подлинности на сетевом уровне (Network Level Authentication)

Для максимального уровня безопасности следует требовать проверку подлинности на сетевом уровне (Network Level Authentication - NLA) для всех подключений. NLA требует, чтобы пользователи аутентифицировались на сервере RD Session Host, прежде чем сеанс будет создан. Это помогает защитить удаленные компьютеры от злоумышленных пользователей и вредоносного ПО. Чтобы использовать NLA, клиентский компьютер должен использовать операционную систему, которая поддерживает протоколы Credential Security Support Provider (CredSSP), то есть Windows XP SP3 и выше, а также иметь клиента RDC 6.0 или выше.

NLA настраивается на сервере RD Session Host в следующем разделе: Инструменты администрирования (Administrative Tools) | Службы удаленного рабочего стола (Remote Desktop Services) | Конфигурация узла сеансов удаленного рабочего стола (Desktop Session Host Configuration). Для настройки подключения на использование NLA, выполните следующие шаги:

  1. Нажмите правой клавишей Подключение (Connection)
  2. Выберите Свойства
  3. Перейдите в закладку Общие (General)
  4. Отметьте флажком опцию " Разрешать подключения только от компьютеров с удаленным рабочим столом с сетевой проверкой подлинности (Allow connections only from computers running Remote Desktop with Network Level Authentication)", как показано на рисунке 1
  5. Нажмите OK.

Рисунок 1

Протокол Transport Layer Security (TLS)

Сеанс RDS может использовать один из трех уровней безопасности для защиты подключений между клиентами и сервером RDS Session Host:

  • Уровень безопасности RDP " этот уровень использует собственное RDP шифрование и является наименее безопасным. Сервер RD Session Host не проходит проверку подлинности.
  • Согласовать (Negotiate) " TLS 1.0 (SSL) шифрование будет использоваться, если клиент его поддерживает. Если нет, сеанс перейдет обратно на RDP безопасность.
  • SSL " TLS 1.0 шифрование будет использоваться для проверки подлинности сервера и шифрования данных, передаваемых между клиентом и Session Host сервером. Это самая безопасная опция.

Вдобавок к выбору уровня безопасности можно также выбрать уровень шифрования подключения. Здесь есть следующие варианты:

  • Низкий (Low) " использует 56-разрядное шифрование для данных, пересылаемых с клиента на сервер. Не шифрует данные, пересылаемые с сервера клиенту.
  • Совместимый с клиентом (Client Compatible) " это опция по умолчанию. Она шифрует данные передаваемые между клиентом и сервером с самым надежным ключом, который поддерживает клиент.
  • Высокий (High) " эта опция шифрует данные в обоих направлениях между клиентом и сервером с помощью 128-битного шифрования.
  • FIPS-совместимый (FIPS Compliant) " эта опция шифрует данные передаваемые в обоих направлениях между клиентом и сервером с помощью FIPS 140-1 утвержденного алгоритма шифрования.

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

Вот, как настраивать параметры проверки подлинности и шифрования сервера:

  1. На сервере RD Session Host откройте раздел конфигурации Remote Desktop Session Host Configuration, а затем свойства подключения, как говорилось выше.
  2. В закладке Общие выберите соответствующий уровень безопасности и шифрования из раскрывающегося списка, как показано на рисунке 2.
  3. Нажмите OK.

Рисунок 2

Вы также можете воспользоваться групповой политикой для управления этими параметрами шифрования и проверки подлинности, а также другими настройками RDS.

Групповая политика

Есть ряд параметров групповой политики для RDS в Windows Server 2008 R2. Они расположены в разделе Конфигурация компьютера (Computer Configuration)\ Политики (Policies)\ Административные шаблоны (Administrative Templates)\ Компоненты Windows (Windows Components)\ Службы удаленного рабочего стола (Remote Desktop Services) в консоли управления групповой политикой вашего домена, как показано на рисунке 3.

Как вы видите, здесь есть политики для лицензирования RDC клиентов и сервера RD Session Host. Политики для сервера RD Session Host, связанные с безопасностью, включают:

  • Шаблон сертификата проверки подлинности сервера (Server Authentication Certificate Template): используйте эту политику, чтобы указать имя шаблона сертификата, которые определяет, какой сертификат будет автоматически выбираться для проверки подлинности сервера RD Session Host. Если включить эту политику, только сертификаты, создаваемые с помощью указанного шаблона, будут учитываться при выборе сертификата для проверки подлинности сервера RD Session Host.
  • Задать уровень шифрования клиентских подключений (Set Client Connection Encryption Level): эта политика используется, чтобы контролировать то, будет ли требоваться определенный уровень шифрования. Когда вы включаете эту политику, все соединения должны использовать указанный уровень шифрования. Уровнем шифрования по умолчанию является Высокий уровень.
  • Всегда запрашивать пароль при подключении (Always Prompt for Password upon Connection): можно использовать эту политику, чтобы заставить RDS всегда запрашивать пароль пользователя при входе в RD сеанс, даже если пароль введен на RDC клиенте. По умолчанию, пользователи могут входить автоматически, если пароль введен на клиенте RDC.
  • Требовать защищенные RPC соединения (Require Secure RPC Communication): включение этой политики означает, что только зашифрованные и прошедшие проверку подлинности запросы с клиентов будут разрешены. Соединения с не доверенными клиентами не будут разрешены.
  • Требовать использование определенного уровня безопасности для RDP подключений (Require Use of Specific Security Layer for Remote (RDP) Connections): если включить эту политику, все соединения между клиентами и серверами Session Host должны использовать уровень безопасности, который вы здесь укажете (RDP, Negotiate или SSL/TLS)
  • Не разрешать локальным администраторам настраивать разрешения (Do Not Allow Local Administrators to Customize Permissions): эта политика отключает права администраторов на изменение разрешений безопасности в инструментах настройки RD Session Host Configuration, что не позволяет локальным администраторам изменять группы пользователей в закладке Разрешений (Permissions) в инструменте конфигурации.
  • Требовать проверку подлинности пользователя для удаленных подключений путем проверки подлинности на уровне сети (Require User Authentication for Remote Connections by using Network Level Authentication): с помощью этой политики вы можете требовать NLA для всех удаленных подключений к серверу RD Session Host. Только клиенты с поддержкой NLA смогут подключаться.

Примечание: вот, как узнать, поддерживает ли клиентский компьютер проверку подлинности на сетевом уровне: откройте RDC клиент и нажмите значок в верхнем левом углу, затем выберите "О программе (about) ". Если NLA поддерживается, вы увидите строку "Network Level Authentication Supported".

Другие параметры групповой политики, о которых следует упомянуть, расположены в разделе клиентских соединений RD Connection Client. Они включают:

  • Не разрешать сохранение паролей (Do not allow passwords to be saved): включение этого параметра отключит опцию сохранения паролей в диалоге клиента RDC. Если пользователь откроет RDP файл и сохранит свои параметры, ранее сохраненные пароли будут удалены. Это заставляет пользователя вводить свой пароль при каждом входе.
  • Указывать отпечатки SHA1 сертификатов, представляющих доверенных издателей RDP (Specify SHA1 thumbprints of certificates representing trusted .rdp publishers): с помощью этого параметра можно указать список отпечатков SHA1 сертификатов, и если сертификат соответствует отпечаткам в списке, он будет считаться доверенным.
  • Запрашивать учетные данные на клиентском компьютере (Prompt for credentials on the client computer) : эта политика включает запрос учетных данных на клиентских компьютерах, а не на сервере RD Session Host.
  • Настроить проверку подлинности сервера для клиента (Configure server authentication for client) : с помощью этого параметра можно указать, сможет ли клиент создать подключение к RD Session Host серверу, когда не может проверить подлинность сервера RD Session Host. Самым безопасным параметром будет опция "Не подключаться при неудачной аутентификации (Do not connect if authentication fails)."

Можно также использовать групповую политику для настройки FIPS соответствия, но эту политику здесь не найти с другими RDS политиками безопасности. Она расположена в следующем разделе: Конфигурация компьютера (Computer Configuration)\Настройки Windows (Windows Settings)\Настройки безопасности (Security Settings)\ Локальные политики (Local Policies)\Опции безопасности (Security Options). В правой панели пролистайте вниз к: Системная криптография: использовать FIPS-совместимые алгоритмы для шифрования, хеширования и подписывания ("System Cryptography: use FIPS compliant algorithms for encryption, hashing and signing"). При включении этой политики она поддерживает только Triple DES (3DES) алгоритм шифрования для RDS соединений.

RD Web Access

На компьютерах, где не установлен RDC клиент, пользователи могут получать доступ к опубликованным приложениям, к которым они имеют доступ из веб браузера. Пользователь переходит на URL адрес, по которому опубликованы RDS ресурсы. Сервер веб доступа RD Web Access Server является отдельным от RD Session Host сервером. Вы указываете, какие RD Web Access серверы могут подключаться к каким RD Session Host серверам.

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

Сервер Web Access использует X.509 сертификат для обеспечения шифрования. По умолчанию используется саморегистрирующийся сертификат. Для большей безопасности следует получить сертификат в публичном центре сертификации или в PKI вашей компании.

RD Gateway

The RD Gateway (RDG) используется для предоставления пользователям доступа к RD ресурсам через интернет. Сервер шлюза Gateway расположен на границе, и он фильтрует входящие RDS запросы в соответствии с Network Policy Server (NPS). NPS использует две политики: Политика авторизации подключений (Connection Authorization Policy - CAP), в которой указывается, какие пользователи могут иметь доступ к RDG и Политика авторизации ресурсов (Resource Authorization Policy - RAP), указывающая, к каким устройствам CAP пользователь может подключаться через RDG.

Заключение

Службы удаленного рабочего стола в Windows Server 2008 R2 значительно расширяют функционал своего предшественника, службы терминалов " но они также представляют некоторые новые аспекты безопасности, которые следует учитывать. Следуя рекомендациям к обеспечению максимальной безопасности при настройке компонентов RDS конфигурации " RD Session Host, RD Web Access Server, RD Gateway и клиент " а также используя групповую политику для управления конфигурацией, вы сможете получить безопасную среду и воспользоваться преимуществами RDS доставки приложений и обеспечить своим пользователям ощущение работы на полноценных компьютерах.