Open
Close

Подключение к серверу по rdp. Защита 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

Remote Desktop Protocol или попросту RDP предоставляет возможность пользователю получить доступ к удаленному компьютеру без непосредственного контакта с ним. Это означает, что любой желающий может видеть все файлы на десктопе, запускать их, работать с ними так, будто сидит прямо за компьютером. Единственный нюанс – работа через данный протокол всегда будет ограничена скоростью интернета. Перед работой с данной технологией необходимо заранее активировать ее на том устройстве, через которое вы будете заходить в удаленный лэптоп.

Настройка доступа к удаленному рабочему столу

Как настроить rdp для windows 7? Нет ничего проще! Зайдите в меню «Пуск» – «Панель управления». Далее выбирайте «Система и безопасность» – «Система». После этого вы увидите пункт «Настройка удаленного доступа», жмите на него. Следом появится окошко, в котором необходимо будет поставить галочку напротив «Разрешать подключения от компьютеров с любой версией удаленного рабочего стола». Для удобства вашей работы за компьютером не забудьте предварительно правильно .

Настройка клиента для протокола RDP

Прежде всего, давайте разберемся, что такое клиент. Клиент – это такой компонент системы, который посылает запросы серверу. Отмечу, что клиенты для RPD существуют практически в каждой ОС, разумеется, в Windows 7 тоже. Кстати, для данной операционной системы используется встроенное приложение MsTsc.exe.

Итак, чтобы настроить клиент, выполняем следующие несложные шаги. Заходим в «Пуск» – «Выполнить», появляется окно, в котором вводим mstsc и нажимаем «Далее». Чтобы настроить обычный доступ без заданных настроек, вводим в соответствующем поле IP того компьютера, к которому нужен доступ. Далее вы увидите настройки, в которых можно изменить различные параметры, например, звук. Нажимаем «Enter», и всё, настройка закончена!

Дополнительные параметры

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

Наверняка, многие из вас уже слышали и видели эту аббревиатуру - дословно переводится она, как Протокол удалённого рабочего стола (Remote Desktop Protocol) . Если кого-то интересуют технические тонкости работы этого протокола прикладного уровня - могут почитать литературу, начиная с той же самой википедии. Мы же рассмотрим чисто практические аспекты. А именно тот, что данный протокол позволяет удалённо подключаться к компьютерам, под управлением Windows различных версий с использованием встроенного в Windows инструмента «Подключение к удалённому рабочему столу».

Какие плюсы и минусы в использовании протокола RDP?

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

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

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

Минусов всего два. Один существенный, другой - не очень. Первый и существенный - для работы с RDP компьютер, к которому осуществляется подключение, должен иметь белый (внешний) IP, либо на этот компьютер должна быть возможность «пробросить» порт с маршрутизатора, который опять же должен иметь внешний IP. Статическим он будет или динамическим - значения не имеет, но он должен быть.

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

Для чего можно использовать удалённый доступ по RDP?

Организации, как правило, используют RDP-сервера для совместной работы в программе 1С. А некоторые, даже, разворачивают на них рабочие места пользователей. Таким образом, пользователь, особенно, если у него разъездная работа, может при наличии 3G интернета или отельного/кафешного Wi-Fi - подключаться к своему рабочему месту удалённо и решать все вопросы.

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

Подготавливаем интернет

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

Если кому-то не понятна терминология, то статический адрес - это постоянный, а динамический - время от времени меняется. Для того, чтобы полноценно работать с динамическими IP-адресами придумали различные сервисы, которые обеспечивают привязку динамического домена. Что и как, скоро будет статья на эту тему.

Подготавливаем роутер

Если ваш компьютер подключен не напрямую к провайдерскому проводу к интернету, а через роутер - с этим устройством нам придётся тоже совершить некоторые манипуляции. А именно - пробросить порт сервиса - 3389 . В противном случае NAT вашего роутера попросту не будет пускать вас внутрь домашней сети. Тоже относится к настройке RDP-сервера в организации. Если вы не знаете, как пробросить порт - читайте статью про то, Как пробросить порты на маршрутизаторе (откроется в новой вкладке), потом возвращайтесь сюда.

Подготавливаем компьютер

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

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

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

Итак, заходим в Пуск , щёлкаем правой кнопкой по меню Компьютер и нажимаем Свойства .

В свойствах Системы выбираем Дополнительные параметры системы

В открывшемся окне переходим на вкладку Удалённый доступ

…нажимаем Дополнительно

И ставим единственную галку на этой странице.

Это «домашняя» версия Windows 7 - у кого Pro и выше, будет больше флажков и возможно сделать разграничение доступа.

Нажимаем ОК везде.

Теперь, вы можете зайти в Подключение к удалённому рабочему столу (Пуск>Все программы>Стандартные), вбить туда IP-адрес компьютера, либо имя, если хотите подключиться к нему из своей домашней сети и пользоваться всеми ресурсами.

Вот так. В принципе, всё просто. Если вдруг будут какие-то вопросы или что-то останется непонятным - добро пожаловать в комментарии.

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

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

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

Протокол удаленного рабочего стола, а именно так расшифровывается аббревиатура RDP, появился в далеком 1998 году. Этот проприетарный протокол прикладного уровня, в то время входил в состав ОС Windows NT 4.0 Terminal Server, и позволял реализовать идею удаленного функционирования клиент-серверных приложений. Как вы понимаете, не всегда есть возможность обеспечить все рабочие места мощными компьютерами, а уж в те далекие годы производительность оставляла желать лучшего.

Решением этой проблемы выступает следующая конструкция: мощный сервер (или кластер серверов) осуществляет основную массу операций вычислений, а маломощные клиентские компьютеры/приложения подключаются к нему, используя протокол RDP, осуществляют свои задачи. Таким образом, на конечных пользовательских узлах появилась возможность работать со сложными приложениями и программами, даже при наличии ограниченных ресурсов — ведь основная нагрузка ложилась на сервер, а клиентский ПК получал только основной результат операции на мониторе.

Описание протокола RDP

  • По умолчанию, для подключения используется порт TCP 3389
  • Как уже упомянуто выше, при подключении предоставляется возможность работать с файлами на удаленном машине
  • Для обеспечения безопасности реализовано шифрование и 56 и 128 битным ключами
  • Также для функций безопасности, используется возможности протоколов TLS
  • Общий буфер обмена — вы можете копировать данные и удаленной машины, и вставлять их на локальный ПК.
  • Реализована возможность подключения локальных ресурсов к удаленному ПК.
  • Протокол RDP предоставляет доступ к портам локального компьютера (последовательные и параллельные)

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

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

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

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

Если настроена система обеспечения безопасности протокола RDP, аутентификация происходит следующим образом:

  1. При инициализации подключения формируется пара RSA ключей
  2. Далее создается специальный сертификат открытого ключа
  3. Операционная система проводит процесс подписи сертификата RSA ключем
  4. Далее клиент осуществляем подключение к серверу, получает от него сертификат, и если тот проходит проверку, инициализируется сессия удаленного управления

Как запустить

В операционных системах, таких как Windows XP, Vista, Seven, по умолчанию включено клиентское ПО Remote Desktop Connection. Для его запуска вам необходимо нажать сочетание клавиш Win+R , набрать mstsc и нажать Enter .

RDP – это протокол удаленного рабочего стола. С английского эта аббревиатура расшифровывается, как Remote Desktop protocol. Он нужен для подключения одного компьютера к другому через сеть интернет. К примеру, если пользователь находится дома, а ему нужно срочно заполнить документы в офисе он может это сделать с помощью данного протокола.

Как работает RDP

Доступ к другому компьютеру производится через порт TCP 3389 по умолчанию. На каждом персональном устройстве он предустановлен автоматически . При этом существует два вида соединения:

  • для администрирования;
  • для работы с программами на сервере.

Серверы, где установлена ОС Windows Server поддерживают два удаленных подключения РДП сразу (это в том случае, если не активирована роль RDP). Компьютеры, не являющиеся серверами имеют только по одному входу.

Соединение между компьютерами производится в несколько этапов:

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

Также этот протокол имеет виртуальные каналы, которые позволяют соединиться с принтером, работать с буфером обмена, использовать аудиосистему и др.

Безопасность соединения

Существует два вида защищенного соединения через RDP:

  • встроенная система (Standard RDP Security);
  • внешняя система (Enchanced RDP Security).

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


Встроенная защита осуществляется так — в начале проходит аутентификация, затем:

  • при включении будут сгенерированы RSA ключи ;
  • изготавливается открытый ключ;
  • подписывается RSA, который вшит в систему. Он есть в любом устройстве с установленным протоколом удаленного стола;
  • клиентское устройство при подключении получает сертификат;
  • проверяется и происходит получение этого ключа.

Затем происходит шифрование:

  • стандартно используется алгоритм RC4;
  • для серверов Виндоус 2003 используется 128 битная защита, где 128 бит — длина ключа;
  • для серверов Wndows 2008 – 168 бит.

Целостность контролируется с помощью генерации mac-кодов основанных на алгоритме MD5 и SHA1.

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

Окончание подключения:

  • компьютер проверяет разрешение на вход;
  • шифр подписывается по протоколу TLS. Это лучший вариант защиты;
  • разрешается вход единожды. Каждая сессия шифруется отдельно.

Замена старого значения порта новым

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





Теперь при подключении к удаленному столу необходимо после IP-адреса через двоеточие указывать новое значение, например 192.161.11.2:3381 .

Замена с помощью утилиты PowerShell

PowerShell также позволяет внести необходимые изменения:

  • рекомендуется сделать перезагрузку;
  • после того, как устройство включится, введите команду «regedit» в меню «Пуск». Пройдите в директорию: HKEY _ LOCAL _ MACHINE , найдите папку CurrentControlSet, затем папку Control, перейдите в Terminal Server и откройте WinStations. Кликните по файлу RDP-Tcp. Тут должно быть установлено новое значение.
  • Теперь нужно открыть порт RDP на сетевом экране. Входите в Powershell, вбиваете команду: netsh advfirewall firewall add rule name=»NewRDP» dir=in action=allow protocol=TCP localport=49089 . Цифры должны означать тот порт, на который перебили старый.

Не удалось открыть файл подключений default.rdp

Чаще всего эта ошибка возникает, когда появляются проблемы с DNS сервером . Клиентский компьютер не может найти имя указанного сервера.

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

В другом случае при возникновении бага необходимо произвести такие шаги:

  • зайти в «Мои документы »;
  • найти файл default.rdp. Если не найдете, поставьте галочку пункте «Параметры папок » для показа скрытых файлов и папок;
  • теперь удалите этот файл и попробуйте подключиться повторно.