Remote desktop — allow access to your pc

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

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

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

Вообще если вы без сервера терминалов устанавливаете Windows Server 2008 R2 — 2021, то там по умолчанию у него будет две лицензии, и к нему одновременно смогут подключиться два пользователя, третьему придется для работы кого то выкидывать. В клиентских версиях 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. Вот эта галка в свойствах системы

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

Доступ к ресурсам

После установки выбранной роли переходим в главное окно «Диспетчера серверов». Выбираем раздел «Инструменты» и переходим к настройке RDG. Откроется новое рабочее окно (RD Gateway Manager). В нем переходим во вкладку с именем сервера, далее выбираем «Политики» и сконфигурируем авторизированные подключения. Нажимаем кнопку «Wizard», чтобы открыть мастер настройки:


Скриншот №6. Создание политики

Установщик предложит на выбор 3 пункта. Оставляем активным первую опцию:


Скриншот №7. Выбор конфигурации

Задаем имя новому шаблону, нажимаем «Next». Следующий этап — выбор метода аутентификации и списка пользователей, которые получат доступ к политике. Авторизация разрешена при помощи пароля либо смарт-карты, либо оба варианта. Оставляем только по паролю. Далее нажимаем кнопку «Добавить группу» и добавляем данные в поле:


Скриншот №8. Выбор авторизации и пользователей

Далее разграничиваем доступ к сетевым ресурсам, к которым пользователи будут подключаться через Remote Desktop Gateway:


Скриншот №9. Выбор ресурсов

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

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


Скриншот №10. Выбор группы

Теперь выбираем группу ресурсов:


Скриншот №11. Выбор группы ресурсов

Мастер настройки попросит указать номер порта для подключения. Если специальных требований нет, оставляем по умолчанию — 3389. После нажатия «Next» на экране появится информация о созданной политики авторизации. Если все верно, завершаем конфигурирование.

Управляемые рабочие столы

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

Параметры рабочего стола

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

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

  • Конфигурация дисплеев — выбор дисплеев, которые можно использовать для сеанса рабочего стола. Влияет на то, какие дополнительные параметры доступны.

    • All displays (Все дисплеи) — сеанс всегда будет использовать все локальные дисплеи, даже если некоторые из них будут добавлены или удалены позже.
    • Single display (Один дисплей) — сеанс всегда будет использовать один дисплей с возможностью настройки его свойств.
    • Select displays (Выбранные дисплеи) — позволяет выбрать, какие из дисплеев будут использоваться для сеанса, и включить динамическое изменение списка дисплеев во время сеанса.
  • Select the displays to use for the session (Выберите экраны для этого сеанса) указывает, какие локальные экраны нужно использовать для сеанса. Все выбранные экраны должны размещаться радом друг с другом. Этот параметр доступен только в режиме Select displays (Выбранные дисплеи).
  • Maximize to current displays (Развернуть до текущих дисплеев) — определяет, какие дисплеи будут использовать сеансы при переходе в полноэкранный режим. При включении этого параметра изображение сеанса переходит в полноэкранный режим на дисплеях, связанных с окном сеанса. Это позволяет менять дисплеи во время сеанса. Если этот параметр отключен, изображение сеанса переходит в полноэкранный режим на том же дисплее, на котором он в последний раз был в полноэкранном режиме. Этот параметр доступен только в режиме Select displays (Выбранные дисплеи) и отключен в других случаях.
  • Single display when windowed (Один дисплей, если в оконном режиме) — определяет, какие дисплеи доступны в сеансе при выходе из полноэкранного режима. Если этот параметр включен, сеанс переключается на один дисплей в оконном режиме. Если этот параметр отключен, в оконном режиме сеанс отображается на тех же дисплеях, что и в полноэкранном режиме. Этот параметр доступен только в режимах All displays (Все дисплеи) и Select displays (Выбранные дисплеи) и отключен в других случаях.
  • Параметр Start in full screen (Запуск в полноэкранном режиме) позволяет указать, будет ли сеанс запускаться в полноэкранном или оконном режиме. Этот параметр доступен только в режиме Single display (Один дисплей) и включен в других случаях.
  • Параметр Fit session to window (Сеанс по размеру окна) определяет способ отображения сеанса, когда разрешение удаленного рабочего стола отличается от размера локального окна. Если этот параметр включен, то содержимое сеанса будет умещаться в окне, сохраняя пропорции окна сеанса. Если этот параметр отключен и разрешение и размер окна не совпадают, то будут отображены полосы прокрутки или черные области. Этот параметр доступен во всех режимах.
  • Update the resolution on resize (Обновление разрешения при изменении размера) автоматически изменяет разрешение удаленного рабочего стола при изменении размера окна сеанса. Если этот параметр отключен, для сеанса всегда сохраняется то разрешение, которое задано в параметре Resolution. Этот параметр доступен только в режиме Single display (Один дисплей) и включен в других случаях.
  • Параметр Resolution (Разрешение) позволяет указать разрешение удаленного рабочего стола. Оно будет использоваться на всем протяжении сеанса. Этот параметр доступен только в режиме Single display (Один дисплей) и когда параметр Update the resolution on resize (Обновление разрешения при изменении размера) отключен.
  • Параметр Change the size of the text and apps (Изменение размера текста и приложений) указывает размер содержимого сеанса. Этот параметр применяется только при подключении к Windows 8.1 и более поздних версий или Windows Server 2012 R2 и более поздних версий. Этот параметр доступен только в режиме Single display (Один дисплей) и когда параметр Update the resolution on resize (Обновление разрешения при изменении размера) отключен.

Настраиваем политику блокировки

Основная проблема в том, что по умолчанию Windows-server (даже 2016!) не защищен от брутфорса, поэтому безопасность RDP в Windows 2016 пребывает не на очень высоком уровне. При наличии какого-либо сервиса, в частности, FTP, вас могут брутфорсить, пока не получат доступ к системе, перебирая огромное множество логинов и паролей. Именно поэтому необходима настройка временной блокировки пользователя после нескольких неудачных попыток.

Необходимый набор правил и настроек называется Политика блокировки учетной записи (Account Lockout Policy). Пока вы еще не закрыли окно Локальная политика безопасности, перейдите в раздел Политики учетных записей, Политика блокировки учетной записи. Установите Пороговое значение блокировки — 5 (максимум 5 неудачных попыток входа), Продолжительность блокировки учетной записи — 30 (на 30 минут учетная запись будет заблокирована после 5 неудачных попыток входа).

Рис. 6. Настройка политики блокировки учетной записи

Если облака для вас
не просто теория

Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям

Конфигурация VPS и бесплатный тест уже через 2 минуты

Сконфигурировать VPS

Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Запросить КП

Установите предпочитаемую среду рабочего стола

Теперь мы можем установить среду рабочего стола, которую будем использовать. В этом руководстве мы опробуем Xfce, MATE и GNOME.

Примечание: если вы не можете подключиться через Remote Desktop Connection после установки среды рабочего стола, откройте порт 3389/TCP с помощью команды firewall-cmd, упомянутой выше.

Установите рабочую среду XFCE

Xfce — одна из самых легких настольных сред. Она быстрая, потребляет мало системных ресурсов, но все же остается визуально привлекательной. Кроме того, у неё очень активное сообщество, поэтому доступно множество вариантов настройки.

Чтобы установить Xfce, выполните следующие команды:

Затем создайте файл .Xclients в каталоге пользователя, с помощью которого будет осуществлено подключение:

Теперь вы можете подключиться к серверу, используя Remote Desktop Connection. Вот как выглядит Xfce:


Скриншот №1. Xfce

Удаление Xfce

Чтобы удалить Xfce с вашего CentOS 7, выполните следующие команды:

Установите MATE Desktop Environment

Чтобы установить MATE, выполните следующие команды:

Затем создайте файл .Xclients в каталоге пользователя, с которым вы соединяетесь:

Теперь вы можете подключиться к серверу, используя Remote Desktop Connection. Вот как выглядит MATE:


Скриншот №2. MATE

Удаление MATE

Чтобы удалить MATE с CentOS 7, выполните следующие команды:

Установите GNOME Desktop Environment

Теперь попробуем установить GNOME 3. Для этого нам необходимо установить группу пакетов GNOME Desktop, которая установит все пакеты, необходимые для установки с графическим интерфейсом:

Это может занять некоторое время. На минимальной конфигурации дистрибутива CentOS 7 будет установлено около 1000 пакетов.

Запустите графический интерфейс

Хотя мы установили группу пакетов GNOME Desktop, графический интерфейс не будет загружаться по умолчанию при перезагрузке. Мы можем проверить это, запустив:

Вывод:

Если значением по умолчанию является multi-user.target, это означает, что графический интерфейс не будет загружен. Поменяем значение по умолчанию на graphical.target. Для этого выполните следующие команды:

Вывод:

Created symlink from /etc/systemd/system/default.target to usr/lib/systemd/system/graphical.target.

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

Теперь вы можете подключиться через xRDP к вашему CentOS 7 с помощью GNOME.

Вот как выглядит GNOME 3 при первом подключении после установки. Просто следуйте начальным шагам настройки, чтобы завершить настройку:


Скриншот №3. GNOME 3

Примечание: Если до момента установки графической оболочки GNOME Desktop для подключения к CentOS 7 использовались Xfce или MATE Desktop, выполните следующую команду:

Настройка удаленного десктопа средствами Windows

Чтобы компьютеры могли взаимодействовать, они должны быть правильно настроены. Технически задача не выглядит слишком сложной, хотя здесь есть свои нюансы, особенно в случае управления через интернет. Итак, давайте посмотрим, как настроить удаленный рабочий стол средствами системы. Во-первых, на ПК, к которому будет осуществляться доступ, должна быть установлена версия Windows не ниже Pro, управлять же можно и с домашней версии

Второе и очень важно условие – это необходимость наличия статического IP-адреса на удаленном ПК

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

Если не хотим платить за белый IP (услуга предоставляется за дополнительную плату), пробуем настроить подключение вручную. Командой control /name Microsoft.NetworkAndSharingCenter откройте «Центр управления сетями и общим доступом», кликните по вашему подключению и нажмите в открывшемся окошке кнопку «Сведения».

Запишите данные IPv4, маски подсети, шлюза по умолчанию и DNS-сервера.

Эти же данные вы можете получить, выполнив в консоли CMD или PowerShell команду ipconfig /all. Закройте окошко сведений и откройте свойства в окне состояния.

Выберите в списке IPv4, перейдите в его свойства и введите полученные данные в соответствующие поля. Сохраните настройки.

Статический адрес у вас есть, теперь нужно включить разрешение доступа подключения. Откройте командой systempropertiesremote вкладку «Удаленный доступ» в свойствах системы и включите радиокнопку «Разрешить удаленные подключения к этому компьютеру».

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

В Windows 10 1709 получить доступ ко всем этим настройкам можно из подраздела «Удаленный рабочий стол» приложения «Параметры».

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

Если подключение выполняется в локальной сети, можете приступать к работе немедленно. Запустите командой mstsc встроенное приложение RDP, введите в открывшемся окошке IP-адрес или имя удаленного хоста, выберите пользователя и нажмите «Подключить».

Далее вам нужно будет ввести данные учетной записи пользователя удаленного компьютера и нажать «OK». Появится предупреждение «Не удается проверить подлинность…».

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

Настроить удаленный рабочий стол через интернет сложнее, так как здесь придется выполнить проброс порта 3389 на IP-адрес вашего ПК, а затем подключиться к внешнему IP маршрутизатора, что может стать для пользователя настоящей головной болью, так как придется копаться в настройках роутера. Узнать свой публичный IP не составляет труда, достаточно зайти на сайт 2ip.ua/ru либо аналогичный ресурс.

Далее заходим в настройки роутера по адресу 192.168.0.1 или 192.168.1.1. Здесь все у всех может быть по-разному в зависимости от модели роутера и его прошивки.

В случае с TP-Link необходимо зайти в раздел Переадресация – Виртуальные серверы, нажать «Добавить» и ввести в поля «Порт сервера» и «Внутренний порт» 3389, в поле «IP-адрес» указывается используемый компьютером IP, в полях «Протокол» и «Состояние» должно быть выставлено «Все» и «Включено» соответственно. Сохраните настройки.

Теперь можно пробовать подключиться к удаленному десктопу с основного ПК. Запустите командой mstsc программу RDP и введите в поле «Компьютер» ранее полученный внешний IP-адрес с номером порта через двоеточие, например, 141.105.70.253:3389. Далее все точно так же, как и в примере с подключением в локальной сети.

В роутерах D-Link нужные настройки следует поискать в разделе Межсетевой экран – Виртуальные серверы.

Перед пробросом рекомендуется зарезервировать используемый компьютером IP-адрес в настройках TP-Link-роутера DHCP – Резервирование адресов.

Сведения о подключении

Параметры RDP Описание Значения Значение по умолчанию Поддержка Виртуального рабочего стола Azure
full address:s:value Имя компьютера.Этот параметр указывает имя или IP-адрес удаленного компьютера, к которому вы хотите подключиться.Это единственный обязательный параметр в RDP-файле. Допустимое имя, IPv4- или IPv6-адрес. Нет
alternate full address:s:value Указывает альтернативное имя или IP-адрес удаленного компьютера. Допустимое имя, IPv4- или IPv6-адрес. Нет
username:s:value Указывает имя учетной записи пользователя для входа на удаленный компьютер. Любое допустимое имя пользователя. Нет
domain:s:value Указывает имя домена, в котором будет использоваться учетная запись пользователя для входа на удаленный компьютер. Допустимое доменное имя, например CONTOSO. Нет
gatewayhostname:s:value Указывает имя узла шлюза удаленных рабочих столов. Допустимое имя, IPv4- или IPv6-адрес. Нет
gatewaycredentialssource:i:value Задает метод проверки подлинности шлюза удаленных рабочих столов. — 0: запрос пароля (NTLM).- 1: использование смарт-карты.- 2: использование учетных данные находящегося в системе пользователя.- 3: запрашивание у пользователя учетных данных и использование базовой аутентификации.- 4: пользователь может сделать выбор позже.- 5: использование аутентификации на основе файлов cookie. Нет
gatewayprofileusagemethod:i:value Указывает, следует ли использовать параметры по умолчанию шлюза удаленных рабочих столов. — 0: используется режим профиля по умолчанию, как указано администратором.- 1: используются явные параметры, указанные пользователем. Нет
gatewayusagemethod:i:value Указывает, в каких случаях следует использовать шлюз удаленных рабочих столов для подключения. — 0: шлюз удаленных рабочих столов не используется.- 1: шлюз удаленных рабочих столов используется всегда.- 2: шлюз удаленных рабочих столов используется, если не удается установить прямое подключение к узлу сеансов удаленных рабочих столов.- 3: используются параметры по умолчанию шлюза удаленных рабочих столов.- 4: шлюз удаленных рабочих столов не используется, подключение обходит шлюз для локальных адресов.Значения 0 или 4 этого свойства действуют практически одинаково, но значение 4 позволяет обходить локальные адреса. Нет
promptcredentialonce:i:value Определяет, сохраняются ли учетные данные пользователя и используются ли для шлюза удаленных рабочих столов и на удаленном компьютере. — 0: удаленный сеанс не будет использовать те же учетные данные.- 1: удаленный сеанс будет использовать те же учетные данные. 1 Нет
authentication level:i:value Определяет параметры уровня аутентификации на сервере. — 0: если аутентификация на сервере не пройдена, можно подключиться к компьютеру без предупреждения (Подключаться без предупреждения).- 1: если аутентификация на сервере не пройдена, не устанавливать подключение (Не подключаться).- 2: если аутентификация на сервере не пройдена, выводится предупреждение и разрешается подключиться или отклонить подключение (предупреждение).- 3: обязательная аутентификация не указана. 3 Нет
enablecredsspsupport:i:value Определяет, используется ли клиент для аутентификации поставщика поддержки безопасности учетных данных (CredSSP), если он доступен. — 0: RDP не будет использовать CredSSP, даже если операционная система поддерживает CredSSP.- 1: RDP будет использовать CredSSP, если операционная система поддерживает CredSSP. 1 Да
disableconnectionsharing:i:value Определяет, выполняет ли клиент повторное подключение к какому-либо существующему отключенному сеансу или инициирует новое подключение. — 0: повторное подключение к имеющемуся сеансу.- 1: инициация нового подключения. Нет
alternate shell:s:value Определяет программу, запускаемую автоматически в удаленном сеансе в качестве оболочки вместо Проводника. Допустимый путь к исполняемому файлу, например C:\ProgramFiles\Office\word.exe. Да

Подключение к удаленному рабочему столу Windows 10

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

  1. Запустите средство подключения командой и разверните окно нажатием «Показать параметры»;
  2. Введите имя удаленного компьютера или его IP адрес и имя пользователя, а затем нажмите «Подключить»;
  3. Введите пароль администратора удаленного компьютера и нажмите «ОК»;
  4. Появится окошко с ошибкой проверки сертификата, проигнорируйте его, нажав «Да».

В итоге вы будете подключены к удаленному ПК и вскоре увидите перед собой его рабочий стол.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector