Как работает RDP
Доступ к другому компьютеру производится через порт TCP 3389 по умолчанию. На каждом персональном устройстве он предустановлен автоматически. При этом существует два вида соединения:
- для администрирования;
- для работы с программами на сервере.
Серверы, где установлена ОС Windows Server поддерживают два удаленных подключения РДП сразу (это в том случае, если не активирована роль RDP). Компьютеры, не являющиеся серверами имеют только по одному входу.
Соединение между компьютерами производится в несколько этапов:
- протокол, основой которого является TCP, запрашивает доступ;
- определяется сессия протокола удаленного рабочего стола. Во время этой сессии утверждаются инструкции передачи данных;
- когда завершится этап определения сервер передаст другому устройству графический вывод. В этот же момент он получает данные от мышки и клавиатуры. Графический вывод – это точно скопированное изображение или команды на отрисовку различных фигур, типа линий, кругов. Такие команды являются ключевыми задачами для данного вида протокола. Они сильно экономят расход трафика;
- клиентский компьютер превращает эти команды в графику и выводит их на экран.
Также этот протокол имеет виртуальные каналы, которые позволяют соединиться с принтером, работать с буфером обмена, использовать аудиосистему и др.
Безопасность соединения
Существует два вида защищенного соединения через RDP:
- встроенная система (Standard RDP Security);
- внешняя система (Enchanced RDP Security).
Они отличаются тем, что в первом типе используется шифрование, обеспечение целостности создается с помощью стандартных средств, которые есть в протоколе. А во втором виде используется модуль TLS для установки защищенного соединения. Разберем подробней процесс работы.
Диспетчер задач Windows 10 — что это такое, как открыть и его возможности
Встроенная защита осуществляется так — в начале проходит аутентификация, затем:
- при включении будут сгенерированы RSA ключи;
- изготавливается открытый ключ;
- подписывается RSA, который вшит в систему. Он есть в любом устройстве с установленным протоколом удаленного стола;
- клиентское устройство при подключении получает сертификат;
- проверяется и происходит получение этого ключа.
Затем происходит шифрование:
- стандартно используется алгоритм RC4;
- для серверов Виндоус 2003 используется 128 битная защита, где 128 бит — длина ключа;
- для серверов Wndows 2008 – 168 бит.
Целостность контролируется с помощью генерации mac-кодов основанных на алгоритме MD5 и SHA1.
Внешняя система безопасности работает с модулями TLS 1.0, CredSSP. Последний совмещает в себе функциональности TLS, Kerberos, NTLM.
Окончание подключения:
- компьютер проверяет разрешение на вход;
- шифр подписывается по протоколу TLS. Это лучший вариант защиты;
- разрешается вход единожды. Каждая сессия шифруется отдельно.
Кто чем занят…
Мы с вами разобрались где можно найти порты на windows 10 и как разобраться открыты они или в режиме ожидания, теперь посмотрим какая программа использует открытые port’ы, возможно, нам это и не нужно. Вспомним скриншот на котором список с PID номерами процесса text_19/screenshot_03
Давайте посмотрим кто этот загадочный под PID 4
Переходим в диспетчер задач ++ → «Подробности» → для удобства кликните на столбец «ИД процесса» — выставит по порядку
Правым кликом на «4» → «Открыть расположение файла»
Наш файл «NT Kernel & System» это системная программа, которая отвечает за обработку сторонних ПО, туда входят игровые движки, обновления и т.д. Если начинаются проблемы в вышеуказанных приложениях – «NT Kernel & System» начинает вешать процессор.
Привязываем RDP к конкретному адаптеру и порту
Для того, чтобы сервер работал безопасно и предсказуемо (например, не начинал принимать подключения с нового, свежедобавленного сетевого адаптера), необходимо в явном виде указать, на каких интерфейсах служба RDP-сервера должна принимать подключения. Плюс, достаточно часто бывает полезным переключить порт, на котором сервер слушает подключения. Конечно, можно это сделать и публикуя сервер с RDP через какой-нибудь шлюз, но можно и без этого. Такие, казалось бы, базовые действия в реальности ощутимо снизят процент дураков-скрипткиддисов, которые очередной “мощной тулзой” проверяют wellknown-порты.
Откройте оснастку Remote Desktop Session Host Configuration (найдёте в mmc или готовую в меню Administrative Tools -> Remote Desktop Connections), выберите из списка Connections нужное подключение (обычно оно одно и называется RDP-Tcp), и откройте Properties, после – вкладку Network Interfaces. В ней Вы сможете выбрать один конкретный интерфейс, на котором надо ожидать подключения, плюс ограничить количество параллельных сессий.
Если у Вас много интерфейсов, и Вам надо, допустим, чтобы можно было подключаться через 2 из 5 доступных, то Вам надо будет привязать существующий по-умолчанию RDP-Tcp к одному адаптеру, после зайти в меню Action и там выбрать Create New Connection. Подключение может слушать либо на всех интерфейсах, либо на одном, и в случае, когда надо, чтобы оно слушало на N интерфейсах, придётся создать N подключений.
Соответственно, если у Вас есть задача “Чтобы на одном интерфейсе RDP слушал на одном порту, а на другом – на другом”, она решаема так же – отвязываете дефолтный от всех адаптеров и привязываете к конкретному, после – создаёте новое RDP-подключение и тоже привязываете к нужному сетевому интерфейсу.
Как привязать службу RDP к не-дефолтному порту
Порт по умолчанию – 3389 TCP. Кстати, не забудьте разрешить его в пакетном фильтре. Ну а если хотите другой – надо зайти в ключ реестра
и поправить в нём значение . Учитывайте, что отслеживание конфликтов в плане занятости портов – на Вашей совести, сам он, обнаружив, что назначенный Вами порт занят, “перепрыгнуть” никуда не сможет.
Настройка и управление IP
Вместо имени компьютера часто используется IP. Чтобы его просмотреть, правым кликом по значку текущего подключения вызовите Центр управления сетями.
Далее кликните непосредственно по каналу связи с интернетом (например, Ethernet) для просмотра состояния.
В просмотре состояния нажмите Сведения.
Отобразится детальная информация, из которой нужно запомнить или записать IP.
Если адрес выдается динамическим образом, то при повторных включениях ПК он может измениться, и тогда потребуется его каждый раз заново узнавать. Вместо этого, иногда настраивают статический адрес, который остается неизменным при перезагрузках.
В окне просмотра состояния перейдите к свойствам. Далее выберите протокол IPv4 и откройте детальный просмотр.
В качестве адреса укажите значение, которое не попадает в используемый для динамического использования диапазон. Соответствующую настройку можно опять-таки найти в роутере.
Традиционно маска указывается в виде 255.255.255.0, так что IP должен отличаться от адреса шлюза (его не меняем) только последним числом.
В качестве DNS можно указать используемые в вашей сети значения или же воспользоваться публичными сервисами: 8.8.8.8 от Google, 1.1.1.1 от Cloudflare и так далее.
Если используется фиксированный адрес и прямое подключение (то есть у вашего ПК «белый» IP, уточните данную информацию у своего провайдера), его также можно просмотреть при помощи внешних сервисов вроде https://2ip.ru.
Windows 10 RDP – несколько пользователей
Для настройки нескольких пользователей для подключения к удаленному рабочему столу (RDP) в Windows 10, выполните следующие шаги:
- Убедитесь, что удаленный рабочий стол включен на компьютере, к которому вы хотите подключиться. Для этого откройте “Панель управления” и перейдите в “Система и безопасность” -> “Система” -> “Дополнительные параметры системы” -> “Удаленный доступ”. Убедитесь, что опция “Разрешить подключение к этому компьютеру” отмечена.
- Затем добавьте пользователей, которые должны иметь доступ к удаленному рабочему столу. Для этого откройте “Панель управления” и перейдите в “Учетные записи пользователей” -> “Управление учетными записями”. Щелкните на “Создать учетную запись” и следуйте инструкциям на экране, чтобы создать нового пользователя.
- После того как учетная запись была создана, перейдите обратно в “Панель управления” -> “Система и безопасность” -> “Система” -> “Дополнительные параметры системы” -> “Удаленный доступ”. Щелкните на “Выбрать пользователей”, затем введите имя пользователя, которому вы хотите разрешить доступ к удаленному рабочему столу.
- Повторите шаг 3 для всех пользователей, которым вы хотите разрешить доступ к удаленному рабочему столу.
- Теперь вам нужно подключиться к удаленному рабочему столу. Чтобы это сделать, откройте “Пуск” и введите “Подключение к удаленному рабочему столу” в строке поиска. Выберите “Подключение к удаленному рабочему столу” из списка результатов поиска и введите имя или IP-адрес компьютера, к которому вы хотите подключиться. Затем введите имя пользователя и пароль для учетной записи, которую вы добавили в шагах 2-4.
- Щелкните на “Подключиться” и вы должны успешно подключиться к удаленному рабочему столу.
Теперь у вас есть несколько пользователей, которые могут подключаться к удаленному рабочему столу в Windows 10.
Другой пользователь вошел в систему. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?
В английской версии предупреждение:
Другой пользователь вошел в систему. Если вы продолжите, они будут отключены. Вы все равно хотите войти в систему?
Все настольные версии Windows (включая Win 10 и 11) имеют ряд ограничений на использование службы удаленного рабочего стола
- вы можете удаленно подключиться только через RDP к предыдущим выпускам Windows (Professional, Enterprise). В домашних версиях (Home / Single Language) доступ по RDP заблокирован;
- поддерживается только одно одновременное соединение RDP. При попытке начать второй сеанс RDP пользователю будет предложено завершить активное соединение;
- Если пользователь работает на консоли компьютера (локально), при удаленном подключении через RDP его локальная сессия будет отключена (заблокирована). Верно и обратное: удаленный сеанс RDP принудительно завершается, если пользователь входит в систему через консоль Windows.
Ограничение количества одновременных подключений RDP в Windows не техническое, а программное и лицензионное. Поэтому Microsoft запрещает создание терминального RDP-сервера на базе рабочей станции для одновременной работы нескольких пользователей. Логика Microsoft проста: если вам нужен терминальный сервер, приобретите лицензию Windows Server, клиентские лицензии RDS, установите и настройте роль узла сеансов удаленного рабочего стола (RDSH).
Технически любая редакция Windows при наличии достаточного количества оперативной памяти может обслуживать одновременную работу нескольких десятков удаленных пользователей. В среднем для сеанса пользователя RDP, за исключением запущенных приложений, требуется 150-200 МБ памяти. Теоретически максимальное количество одновременных сессий RDP ограничено только ресурсами компьютера.
Мы рассмотрим два способа снять ограничение на количество одновременных подключений RDP к Windows 10 и 11: с помощью приложения RDP Wrapper и путем изменения файла systematermrv.dll. Примечание. Системные изменения, описанные в этой статье, считаются нарушением Лицензионного соглашения Windows, и вы можете вносить их на свой страх и риск.
Настройка Remote Desktop Connection Manager 2.7
Все установку RDCM 2.7 в Windows 10 я произвел, теперь давайте покажу как его настраивать. открываем утилиту, она должна была создать соответствующий значок на рабочем столе. Если его нет, то поищите его через кнопку «Пуск»
У вас откроется окно программы, по умолчанию тут все будет пусто и вам нужно создать для начала конфигурационный файл.
Делается это через меню File — New либо просто нажатие горячих клавиш Ctrl+N
задаем имя вашего файла, можете называть файлы по принадлежности к различным доменам Active Directory или сайтам.
Так как данная утилита позволяет вам структурировать ваши RDP в иерархическом виде, то правильнее будет создать нужное количество групп, объединяющих сервера по какой-либо сервисной или территориальной принадлежности, так например можно удобно объединять всех участников терминальных ферм. Щелкаем правым кликом по корню и из контекстного меню выбираем пункт «Add group», для добавления группы.
На первом шаге, вас попросят на вкладке Group Settings задать имя группы, советую писать осмысленные названия, дабы потом не путаться, а не просто Windows 2008 R2 или 1012 R2. В своем примере я назвал группу «Контроллеры домена»
Переходим на вкладку «Logon Credentials», на данной вкладке RDCMan попросит вас указать те учетные данные от имени которых будут производиться удаленные подключения. Я задал свои доменные данные, не забудьте нажать кнопку Save, чтобы сохранить их.
Пароли профиля учетных данных области файла зашифрованы в соответствии с настройками шифрования файла. Глобальные профили учетных данных используют настройки группы по умолчанию. Вы должны понимать, что RDCMan не хранит пароли в Windows Credential Manager, а хранит их RDG файле. В версии Remote Desktop Connection Manager v2.81 шифрование стало более стойким
Сохранение позволит вам их использовать потом для других групп созданных в RDCMan 2.7
Теперь ваши учетные данные сохранены, можно переходить на вкладку Connection Settings.
На вкладке Connection Settings вы увидите порт подключения по RDP, по умолчанию это 3389, если конечно вы его не меняли в целях безопасности.
Remote Desktop Connection Manager позволяет поменять стандартный порт RDP, для этого снимите галку «inherit from parent» и у вас активируются поля. Поле «Connect to console» позволит вам произвести подключение как по консоли, если бы вы подключились к монитору и клавиатуре, это полезно делать при подключении к участнику фермы, чтобы не получать ошибку «Подключение к удаленному рабочему столу не удалось подключиться к удаленному компьютеру»
На вкладке Remote Desktop Settings вы можете выбрать необходимое разрешение для экрана, но я вам советую уставить Full screen (Полный экран)
Чтобы у вас не было скролингов и весь ваш экран в RDCMan умещался, то обязательно выставите галку «Scale docked remote desktop to fit window»
Вкладка «local Resources», позволит вам выбрать какие устройства вы хотели бы перенаправлять при удаленном подключении, я оставил только буфер обмена.
Добавляем теперь сервера в нужную группу. Делается это так же через правый клик, но уже по группе, все права группы будут применены к участникам, но вы можете их так же поменять. Как только вы добавили сервера, не забывайте сохранять конфигурационный файл, иначе выйдя из Remote Desktop Connection Manager, вы потеряете все ваши настройки.
У меня в итоге мой скромный, тестовый стенд выглядит вот так. Все выглядит в виде удобных плиток, которые кстати напоминаю, обновляются в реальном времени.
На сервере доступны вот такие операции:
- Connect server — будет произведено обычное подключение от имени той учетной записи, что указана в настройках
- Connect server as — запуск от имени другого человека
- Reconnect server — удобно когда сервер заблокировался
- Send keys — отправка команд клавиатуры
- Disconnect server — отключиться от сервера
- log off server — выход из операционной системы
- Properties — свойства
Еще если у вас есть Hyper-V, то Remote Desktop Connection Manager начиная с версии 2.7 позволяет производить подключение на прямую к виртуальной машине Hyper-V, используя для этого VMConnect. Все, что вам нужно, это выяснить ID виртуальной машины, например так:
Get-VM -Name VM123 | select ID
Теперь зная ID VM вы открываете свойства нужного вам сервера и на вкладке «Server Settings» выставьте галку «VM console connect». В поле «Server name» указываем ваше DNS имя хоста Hyper-V (Или кластера), где находится виртуальная машина, в поле ID указываете нужный номер. Поле «Display Name» заполните на свое усомнение. оно для вашего удобства.
Плюсом такого решения может выступать. что виртуальная машина можете даже не иметь RDP подключения, быть в изолированной сети
Остальные мало полезны.
Базовая настройка терминального сервера
Сначала проверим имя рабочей группы и описание компьютера.
- Открываем «Панель управления», переходим в раздел «Система».
- Нажимаем «Изменить параметры».
- На вкладке «Имя компьютера» смотрим, как он идентифицируется в сети. Если имя компьютера или рабочей группы слишком сложное, нажимаем «Изменить» и задаем другие идентификаторы. Для применения нужно перезагрузить систему.
После проверки имени смотрим и при необходимости меняем сетевые настройки. В «Панели управления» открываем раздел «Сетевые подключения».
Переходим в свойства используемого подключения, открываем свойства «IP версии 4». Указываем настройки своей сети. IP, маска и шлюз должны быть статичными.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Blog of Khlebalin Dmitriy
Terminal Server на Windows 2016. RemoteApp (часть 4).
В целом, терминальный сервер настроен, на нем благополучно крутится 1С и работают пользователи.
Но настроить RemoteApp пришлось не просто так. У нас на сервере крутятся 2 платформы: 1с83 и 1с82. В 1с83 проблем нет, а вот в 1с82, люди жалуются на невозможность изменения масштаба в 1с и мелкий шрифт в ней же. Именно по этому было принято решение прокинуть 1с через RemoteApp.
Еще раз коротко о ролях терминального сервера:
1. Посредник подключения к удаленному рабочему столу. Он занимается подключением клиентского устройства к удаленным приложениям «RemoteApp», а также рабочим столам на базе сеансов, либо к виртуальным рабочим столам, зависит от того на базе какой технологии мы RDS построили.
2. Роль, которая обеспечивает веб-доступ к удаленным рабочим столам. Ее задача – предоставление ресурсов через веб-браузер.
3. Узел сеансов удаленных рабочих столов – данная роль позволяет размещать на сервере удаленные приложения, или основанные на сеансах рабочие столы.
4. Узел виртуализации удаленных рабочих столов. На данном узле, это у нас сервер Hyper-V, на котором у нас разворачиваются все виртуальные машины, доступ к которым получат все пользователи, что использую технологию VDI.
5. Шлюз удаленных рабочих столов, это посредник между клиентами из внешней сети и коллекции сеансов во внутренней сети и приложений. Шлюз – это безопасность, сервис у нас абсолютно безопасный. И благодаря тому, что RDS в 2012/2016 и 2012R2/201 становится более гибким, проработаны абсолютно все недочеты, которые были раньше. Сейчас этот сервис легко реализуем для огромных, масштабных проектов, для больших корпораций. Раньше возникали некоторые вопросы.
Преимущества «RemoteApp» над обычным «Сервером терминалов» :
- Пользователь не путается между удаленным рабочим столом и своим локальным.
- Программа 1С запускается сразу при клике по ярлыку, и выглядит как локально установленная.
- Пользователь не видит всего рабочего стола и работает лишь с теми программами, которые назначил администратор.
- Безопасность выше, чем на обычном сервере терминалов.
- Скорость передачи изображения с сервера, выше, чем в сравнении с обычным сервером терминалов. (Оптимизация за счет, передачи не всей картинки, а лишь нужной программы).
Для начала необходимо создать коллекции, ранее мы их уже создали, я об этом уже писал, поэтому здесь пропущу.
Далее публикуем сами приложения RemoteApp (Публикация удаленных приложений).
Выбираем необходимое нам приложение (в моем случае это соответственно 1С):
Вроде благополучно все опубликовалось.
Теперь со своего компьютера набираю в браузере: https://your_server_ip/RDWeb/Pages/ru-RU/login.aspx (ругнется на сертификат, так как его нет, но это не страшно)
Далее предлагается локально скачать файлик:
Здесь сразу запускается 1С.
Все достаточно быстро и без проблем. Но, к сожалению, нашу текущую проблему с масштабированием 1С82 RemoteApp не решает. Но все работает.
На этом настройка закончена.
Всем хорошей работы.
P.S.
Думали опубликовать еще 1с82 через IIS WEB, но с платформой 1с82 это оказалось достаточно проблематично.
По публикации платформы 1с83 почитать можно здесь:
Обновление от 01.10.2020.
Ранее никогда не сталкивался с развертыванием терминального сервера без домена. И тут столкнулся, оказалось, что поставить его можно, а вот управлять через GUI не получится, только через PS.
Или вариант управлять через GUI с другого компа, описан здесь.
Share this:
Sorry, the comment form is closed at this time.
В этом блоге, я пишу заметки о своей, как повседневной жизни, так и жизни и работе в сфере IT технологий. Собираю интересные ссылки, выражаю свои мысли и прочее… В основном посты посвящены, Управленческим моментам и решениям, различным продуктам Microsoft и VMWare, которые я эксплуатирую многие годы, Nix, MacOS, сетке, и другим интересным вопросам и задачам, с которыми приходится ежедневно сталкиваться и иметь дело. Здесь приведены не только мои посты, но и посты, которые были найдены мною на безграничных просторах интернета. Все написанное здесь, было проделано мною или моими коллегами при моем непосредственном участии на виртуальных машинах или в продакшин среде, о чем свидетельствуют комментарии в текстах. Всем удачи в работе.
Configure encryption
Under group policy “Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security”.
The setting “Set client connection encryption level” allows you to change the encryption level of your connections. For most cases it is strongly recommended to keep encryption enabled. Setting it to “Low level” will encrypt data sent from the client to the server (mouse/keyboard), while not encrypt data sent from the server to the client. The setting “Client Compatible” will attempt to negotiate the strongest supported encryption by both ends. The setting “High level” (recommended) will use 128-bit encryption in data both sent and received.
Note that decrypting data is not a CPU-intensive operation, therefore encryption has very little/no impact on the client.
Tips
- If you minimize your RDP window (on the client) it will not use any bandwidth. Useful if you are working over a metered connection (mobile).
- Default setting is for the client to cache bitmaps. This is nice for slower connections, but on a LAN connection it can quickly lead to slowdowns when reading/writing cache on disk.
- It could be worth checking out other vendors
- Ericom Blaze RDP Accelerator http://www.ericom.com/ericom_blaze.asp
- Riverbed https://splash.riverbed.com/thread/5874 (network level compression, requires disabling RDP compression and encryption)
Other optimizations / changes
If you are the admin of a RDP host server and you want to put certain limitations on your users there is a whole set of options you can change. To mention some:
- Under group policy “Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections”
- Restrict users to a single RDP session
- Limit number of connections
- Automatic reconnection
- Under group policy “Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Device and Resource Redirection”
- Disable audio/video redirect
- Limit audio quality
- Disable clipboard, COM/LPT-ports, drives, plug and play devices and smart card redirection
- Under group policy “Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Printer Redirection”
Disable/configure printer redirection (printing from RDP to local printer)
- Under group policy “Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Profiles”
Enforce and limit roaming profiles for RDP users
- Under group policy “Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment”
- Limit colors, resolution, number of monitors
- Start a program on connection
- RemoteFX settings for virtual hosts
- Under group policy “Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security”
- Always prompt for password
- Require encryption
- Under group policy “Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Session Time Limits”
Configure session timeouts
RemoteFX
If your desktop host is a Windows 7 or higher running as a HyperV virtual machine guest OS then you can enable RemoteFX. RemoteFX requires a compatible graphics card, and in short it gives your RDP session into the virtual host access to GPU hardware. For example I successfully started Battlefield 4 by RDP’ing into a Windows 8 virtual guest OS. It ran remotely (around 20Mb network connection) and it was very laggy (around 10 fps), but it did run nevertheless.
Note that RDP settings for RemoteFX is a separate set of options located side-by-side with the options described above.