Если должным образом разбираться в настройках, то RDP будет хорошим средством удаленного доступа. Он дает возможность не только видеть удаленный рабочий стол, но и пользоваться ресурсами удаленного компьютера, подключать к нему локальные диски или периферийные устройства. При этом компьютер должен иметь внешний IP, (статический или динамический), или должна быть возможность «пробросить» порт с маршрутизатора с внешним IP-адресом.
Серверы RDP нередко применяют для совместной работы в системе 1С, или на них разворачивают рабочие места пользователей, позволяя им подключаться к своему рабочему месту удаленно. Клиент RDP позволяет дает возможность работать с текстовыми и графическими приложениями, удаленно получать какие-то данные с домашнего ПК. Для этого на роутере нужно пробросить порт 3389, чтобы через NAT получить доступ к домашней сети. Тоже относится к настройке RDP-сервера в организации.
RDP многие считают небезопасным способом удаленного доступа по сравнению с использованием специальных программ, таких как RAdmin, TeamViewer, VNC и пр. Другой предрассудок – большой трафик RDP. Однако на сегодня RDP не менее безопасен, чем любое другое решение для удаленного доступа (к вопросу безопасности мы еще вернемся), а с помощью настроек можно добиться высокой скорости реакции и небольшой потребности в полосе пропускания.
Как защитить RDP и настроить его производительность
Шифрование и безопасность | Нужно открыть gpedit.msc, в «Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Безопасность» задать параметр «Требовать использования специального уровня безопасности для удаленных подключений по методу RDP» и в «Уровень безопасности» выбрать «SSL TLS». В «Установить уровень шифрования для клиентских подключений» выберите «Высокий». Чтобы включить использование FIPS 140-1, нужно зайти в «Конфигурация компьютера — Конфигурация Windows — Параметры безопасности — Локальные политики — Параметры безопасности» и выбрать «Системная криптография: использовать FIPS-совместимые алгоритмы для шифрования, хэширования и подписывания». Параметр «Конфигурация компьютера — Параметры Windows — Параметры безопасности — Локальные политики — Параметры безопасности» параметр «Учетные записи: разрешать использование пустых паролей только при консольном входе» должен быть включен. Проверьте список пользователей, которые могут подключаться по RDP. |
Оптимизация | Откройте «Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Среда удаленных сеансов». В «Наибольшая глубина цвета» выберите 16 бит, этого достаточно. Снимите флажок «Принудительная отмена фонового рисунка удаленного рабочего стола». В «Задание алгоритма сжатия RDP» установите «Оптимизация использования полосы пропускания. В «Оптимизировать визуальные эффекты для сеансов служб удаленных рабочих столов» установите значение «Текст». Отключите «Сглаживание шрифтов». |
Базовая настройка выполнена. Как подключиться к удаленному рабочему столу?
Подключение к удаленному рабочему столу
Для подключения по RDP необходимо, на удаленном компьютере была учетная запись с паролем, в системе должны быть разрешены удаленные подключения, а чтобы не менять данные доступа при постоянно меняющемся динамическом IP-адресе, в настройках сети можно присвоить статический IP-адрес. Удаленный доступ возможен только на компьютерах с Windows Pro, Enterprise или Ultimate.
Для удаленного подключения к компьютеру нужно разрешить подключение в «Свойствах Системы» и задать пароль для текущего пользователя, либо создать для RDP нового пользователя. Пользователи обычных аккаунтов не имеют права самостоятельно предоставлять компьютер для удаленного управления. Такое право им может дать администратор. Препятствием использования протокола RDP может стать его блокировка антивирусами. В таком случае RDP нужно разрешить в настройках антивирусных программ.
Стоит отметить особенность некоторых серверных ОС: если один и тот же пользователь попытается зайти на сервер локально и удаленно, то локальный сеанс закроется и на том же месте откроется удаленный. И наоборот, при локальном входе закроется удаленный сеанс. Если же зайти локально под одним пользователем, а удаленно — под другим, то система завершит локальный сеанс.
Подключение по протоколу RDP осуществляется между компьютерами, находящимися в одной локальной сети, или по интернету, но для этого потребуются дополнительные действия – проброс порта 3389 на роутере, либо соединение с удаленным компьютером по VPN.
Чтобы подключиться к удаленному рабочему столу в Windows 10, можно разрешить удаленное подключение в «Параметры — Система — Удаленный рабочий стол» и указать пользователей, которым нужно предоставить доступ, либо создать отдельного пользователя для подключения. По умолчанию доступ имеют текущий пользователь и администратор. На удаленной системе запустите утилиту для подключения.
Нажмите Win+R, введите MSTSC и нажмите Enter. В окне введите IP-адрес или имя компьютера, выберите «Подключить», введите имя пользователя и пароль. Появится экран удаленного компьютера.
При подключении к удаленному рабочему столу через командную строку (MSTSC) можно задать дополнительные параметры RDP:
Параметр | Значение |
/v:<сервер[: порт]> |
Удаленный компьютер, к которому выполняется подключение. |
/admin |
Подключение к сеансу для администрирования сервера. |
/edit |
Редактирование RDP-файла. |
/f |
Запуск удаленного рабочего стола на полном экране. |
/w:<ширина> |
Ширина окна удаленного рабочего стола. |
/h:<высота> |
Высота окна удаленного рабочего стола. |
/public |
Запуск удаленного рабочего стола в общем режиме. |
/span |
Сопоставление ширины и высоты удаленного рабочего стола с локальным виртуальным рабочим столом и развертывание на несколько мониторов. |
/multimon |
Настраивает размещение мониторов сеанса RDP в соответствии с текущей конфигурацией на стороне клиента. |
/migrate |
Миграция файлов подключения прежних версий в новые RDP-файлы. |
Для Mac OS компания Microsoft выпустила официальный RDP-клиент, который стабильно работает при подключении к любым версиям ОС Windows. В Mac OS X для подключения к компьютеру Windows нужно скачать из App Store приложение Microsoft Remote Desktop. В нем кнопкой «Плюс» можно добавить удаленный компьютер: введите его IP-адрес, имя пользователя и пароль. Двойной щелчок на имени удаленного рабочего стола в списке для подключения откроет рабочий стол Windows.
На смартфонах и планшетах под Android и iOS нужно установить приложение Microsoft Remote Desktop («Удаленный рабочий стол Майкрософт») и запустить его. Выберите «Добавить» введите параметры подключения — IP-адрес компьютера, логин и пароль для входа в Windows. Еще один способ — проброс на роутере порта 3389 на IP-адрес компьютера и подключение к публичному адресу роутера с указанием данного порта. Это делается с помощью опции Port Forwarding роутера. Выберите Add и введите:
Name: RDP
Type: TCP & UDP
Start port: 3389
End port: 3389
Server IP: IP-адрес компьютера для подключения.
А что насчет Linux? RDP –закрытый протокол Microsoft, она не выпускает RDP-клиентов для ОС Linux, но можно воспользоваться клиентом Remmina. Для пользователей Ubuntu есть специальные репозитории с Remmina и RDP.
Протокол RDP также используется для подключения к виртуальным машинам Hyper-V. В отличие от окна подключения гипервизора, при подключении по RDP виртуальная машина видит различные устройства, подсоединенных к физическому компьютеру, поддерживает работу со звуком, дает более качественное изображение рабочего стола гостевой ОС и т.д.
У провайдеров виртуального хостинга серверы VPS под Windows по умолчанию обычно также доступны для подключения по стандартному протоколу RDP. При использовании стандартной операционной системы Windows для подключения к серверу достаточно выбрать: «Пуск — Программы — Стандартные — Подключение к удаленному рабочему столу» или нажать Win+R и в открывшемся окне набрать MSTSC. В окне вводится IP-адрес VPS-сервера.
Нажав кнопку «Подключить», вы увидите окно с полями авторизации.
Чтобы серверу были доступны подключенные к вашему ПК USB-устройства и сетевые принтеры, при первом подключении к серверу выберите «Показать параметры» в левом нижнем углу. В окне откройте вкладку «Локальные ресурсы» и выберите требуемые параметры.
С помощью опции сохранения данных авторизации на удаленном компьютере параметры подключения (IP-адрес, имя пользователя и пароль) можно сохранить в отдельном RDP-файлом и использовать его на другом компьютере.
RDP также можно использовать для подключения к виртуальным машинам Azure.
Настройка другой функциональности удаленного доступа
В окне подключения к удаленному компьютеру есть вкладки с настраиваемыми параметрами.
Вкладка | Назначение |
«Экран» | Задает разрешение экрана удаленного компьютера, то есть окна утилиты после подключения. Можно установить низкое разрешение и пожертвовать глубиной цвета. |
«Локальные ресурсы» | Для экономии системных ресурсов можно отключить воспроизведение звука на удаленном компьютере. В разделе локальных устройств и можно выбрать принтер и другие устройства основного компьютера, которые будут доступны на удаленном ПК, например, USB-устройства, карты памяти, внешние диски. |
Подробности настройки удаленного рабочего стола в Windows 10 – в этом видео. А теперь вернемся к безопасности RDP.
Как «угнать» сеанс RDP?
Можно ли перехватывать сеансы RDS? И как от этого защищаться? Про возможность угона RDP-сессии в Microsoft Windows известно с 2011 года, а год назад исследователь Александр Корзников в своем блоге детально описал методики угона. Оказывается, существует возможность подключиться к любой запущенной сессии в Windows (с любыми правами), будучи залогиненным под какой-либо другой.
Некоторые приемы позволяют перехватить сеанс без логина-пароля. Нужен лишь доступ к командной строке NT AUTHORITY/SYSTEM. Если вы запустите tscon.exe в качестве пользователя SYSTEM, то сможете подключиться к любой сессии без пароля. RDP не запрашивает пароль, он просто подключает вас к рабочему столу пользователя. Вы можете, например, сделать дамп памяти сервера и получить пароли пользователей. Простым запуском tscon.exe с номером сеанса можно получить рабочий стол указанного пользователя — без внешних инструментов. Таким образом, с помощью одной команды имеем взломанный сеанс RDP. Можно также использовать утилиту psexec.exe, если она была предварительно установлена:
psexec -s \\localhost cmd
Или же можно создать службу, которая будет подключать атакуемую учетную запись, и запустить ее, после чего ваша сессия будет заменена целевой. Вот некоторые замечания о том, как далеко это позволяет зайти:
- Вы можете подключиться к отключенным сеансам. Поэтому, если кто-то вышел из системы пару дней назад, вы можете просто подключиться прямо к его сеансу и начать использовать его.
- Можно разблокировать заблокированные сеансы. Поэтому, пока пользователь находится вдали от своего рабочего места, вы входите в его сеанс, и он разблокируется без каких-либо учетных данных. Например, сотрудник входит в свою учетную запись, затем отлучается, заблокировав учетную запись (но не выйдя из нее). Сессия активна и все приложения останутся в прежнем состоянии. Если системный администратор входит в свою учетную запись на этом же компьютере, то получает доступ к учетной записи сотрудника, а значит, ко всем запущенным приложениям.
- Имея права локального администратора, можно атаковать учетную запись с правами администратора домена, т.е. более высокими, чем права атакующего.
- Можно подключиться к любой сессии. Если, например, это Helpdesk, вы можете подключиться к ней без какой-либо аутентификации. Если это администратор домена, вы станете админом. Благодаря возможности подключаться к отключенным сеансам вы получаете простой способ перемещения по сети. Таким образом, злоумышленники могут использовать эти методы как для проникновения, так и для дальнейшего продвижения внутри сети компании.
- Вы можете использовать эксплойты win32k, чтобы получить разрешения SYSTEM, а затем задействовать эту функцию. Если патчи не применяются должным образом, это доступно даже обычному пользователю.
- Если вы не знаете, что отслеживать, то вообще не будете знать, что происходит.
- Метод работает удаленно. Вы можете выполнять сеансы на удаленных компьютерах, даже если не зашли на сервер.
Этой угрозе подвержены многие серверные ОС, а количество серверов, использующих RDP, постоянно увеличивается. Оказались уязвимы Windows 2012 R2, Windows 2008, Windows 10 и Windows 7. Чтобы не допустить угона RDP-сессий, рекомендуется использовать двухфакторную аутентификацию. Обновленные Sysmon Framework для ArcSight и Sysmon Integration Framework для Splunk предупреждают администратора о запуске вредоносных команд с целью угнать RDP-сессию. Также можно воспользоваться утилитой Windows Security Monitor для мониторинга событий безопасности.
Наконец, рассмотрим, как удалить подключение к удаленному рабочему столу. Это полезная мера нужна, если необходимость в удаленном доступе пропала, или требуется запретить подключение посторонних к удаленному рабочему столу. Откройте «Панель управления – Система и безопасность – Система». В левой колонке кликните «Настройка удаленного доступа». В разделе «Удаленный рабочий стол» выберите «Не разрешать подключения к этому компьютеру». Теперь никто не сможет подключиться к вам через удаленный рабочий стол.
В завершение – еще несколько лайфхаков, которые могут пригодиться при работе с удаленным рабочим столом Windows 10, да и просто при удаленном доступе.
- Для доступа к файлам на удаленном компьютере можно использовать OneDrive:
- Как перезагрузить удаленный ПК в Win10? Нажмите Alt+F4. Откроется окно:
Альтернативный вариант — командная строка и команда shutdown.
Если в команде shutdown указать параметр /i, то появится окно:
- В Windows 10 Creators Update раздел «Система» стал богаче на еще один подраздел, где реализована возможность активации удаленного доступа к компьютеру с других ОС, в частности, с мобильных посредством приложения Microsoft Remote Desktop:
- По разным причинам может не работать подключение по RDP к виртуальной машине Windows Azure. Проблема может быть с сервисом удаленного рабочего стола на виртуальной машине, сетевым подключением или клиентом удаленного рабочего стола клиента на вашем компьютере. Некоторые из самых распространенных методов решения проблемы RDP-подключения приведены здесь.
- Из обычной версии Windows 10 вполне возможно сделать терминальный сервер, и тогда к обычному компьютеру смогут подключаться несколько пользователей по RDP и одновременно работать с ним. Как уже отмечалось выше, сейчас популярна работа нескольких пользователей с файловой базой 1С. Превратить Windows 10 в сервер терминалов поможет средство, которое хорошо себя зарекомендовало в Windows 7 — RDP Wrapper Library by Stas’M.
- В качестве «RDP с человеческим лицом» можно использовать Parallels Remote Application Server (RAS), но некоторые его особенности должны быть настроены на стороне Windows Server (либо в виртуальных машинах, которые вы используете).
Как видите, решений и возможностей, которые открывает удаленный доступ к компьютеру, множество. Не случайно им пользуется большинство предприятий, организаций, учреждений и офисов. Этот инструмент полезен не только системным администраторам, но и руководителям организаций, да и простым пользователям удаленный доступ тоже весьма полезен. Можно помочь починить или оптимизировать систему человеку, который в этом не разбирается, не вставая со стула, передавать данные или получить доступ к нужным файлам находясь в командировке или в отпуске в любой точке мира, работать за офисным компьютером из дома, управлять своим виртуальным сервером и т.д.
Удачи!
P.S. Мы ищем авторов для нашего блога на Хабрахабре.
Если у вас есть технические знания по работе с виртуальными серверами, вы умеете объяснить сложные вещи простыми словами, тогда команда RUVDS будет рада работать с вами, чтобы опубликовать ваш пост на Хабрахабре. Подробности по ссылке.
Комментарии (33)
mikes
16.05.2018 11:55отличная статья… сначала мы говорим о том, что RDP вполне себе безопасен (и даже не надо заворачивать внутрь ВПНа) а потом говорим о том, что вообще твою RDP сессию вполне можно угнать причем несколькими способами. :)
ildarz
16.05.2018 12:06+1Из обычной версии Windows 10 вполне возможно сделать терминальный сервер, и тогда к обычному компьютеру смогут подключаться несколько пользователей по RDP и одновременно работать с ним.
Когда к вашему читателю придет проверка и попросит уточнить, как тут с соблюдением лицензирования дела обстоят, он может на вас сослаться? :/
ru_vds Автор
16.05.2018 12:48-1Статья сугубо техническая и не призывает ни к каким незаконным действиям.
Мы предлагаем нашим клиентам только серверные версии ОС Windows согласно соглашению SPLA и тщательно следим за соблюдением лицензионных требований, в частности по поводу удаленного подключения.
Данный пункт статьи полезен для тех, кто хочет организовать подобный доступ для личных нужд на личном ПК с соблюдением норм права на свой страх и риск.
rt3879439
16.05.2018 14:37Читал трения по поводу rdpwrapper, ЕМНИП использовать его официально можно, т.к. не подменяются системные файлы windows. Плюс наше законодательство разрешает патчить софт в целях устранения ошибок либо улучшения, хотя тут нюансов конечно полно: чем например кряк или триалресет хуже вышеупомянутого rdpwrapper.
ildarz
16.05.2018 15:09Нет тут никаких трений. https://www.microsoft.com/en-us/Useterms/Retail/Windows/10/UseTerms_Retail_Windows_10_Russian.htm, п. 2а — "право установить и запустить один экземпляр программного обеспечения на устройстве (лицензированное устройство) для одновременного использования одним лицом"; а в 2c(v) явно указано, чего нельзя делать (в частности, "предоставлять данное программное обеспечение для одновременного использования несколькими пользователями в сети", и т.п.).
Так что автор совершенно четко описывает использование с нарушением лиц. соглашения, причем даже не потрудившись предупредить об этом в статье.
наше законодательство разрешает патчить софт
В строго определенных целях, среди которых превращение рабочей станции в многопользовательский сервер отсутствует.
GadPetrovich
16.05.2018 16:48А если я, как одно физическое лицо, работаю в нескольких сессиях на одном удаленном компьютере (используя данную утилиту), это будет считаться нарушением лиц. соглашения?
ildarz
16.05.2018 17:31Лиц. соглашение доступно вам ровно так же, как и мне. :) Мое личное мнение — формально это скорее всего попадает под п. 2с (iv) "пытаться обойти технические ограничения в программном обеспечении", но, если ОС реально используется одним лицом, на практике при аудите это не вызовет проблем.
rt3879439
16.05.2018 18:02github.com/stascorp/rdpwrap/issues/26
А что такое вообще одновременное использование одним лицом?
Если я на лицензионной 7ке запущу апач с сайтом для друзей, то это уже нарушение лицензии?
MagicEx
16.05.2018 14:00Рекомендации проброса 3389 на роутере — вообще за гранью.
Это один из излюбленных сервисов для атаки брутфорсом, не пробрасывайте стандартный порт никогда.xMushroom
16.05.2018 17:18Я всегда использую стандартный порт + стойкий пароль, это плохо?
MagicEx
16.05.2018 17:36+1Если этот порт смотрит в мир без ограничений — да.
Если вы единственный пользователь, то еще полбеды.
Если это терминальный сервер с N юзеров, политикой смены паролей и блокировки учеток — то это совсем беда. Будете ловить и блокировки учеток из-за попыток подбора и пароли в стиле «Qwe123!», который прекрасно подходят под политику сложности, но неустойчивы к брутфорсу.
К сожалению — выставить 3389 в мир, а потом героически сражаться с последствиями — излюбленная игра многих. Идеальное решение — VPN. Если невозможно, то хотя-бы нестандартный порт.
ildarz
16.05.2018 17:39Зависит от. В целом не очень хорошо даже в случае отсутствия (известных) уязвимостей и действительно стойком пароле, потому что никакой штатной защиты от брутфорса в винде нет, и вас будет достаточно легко за-ддосить при желании, заставив систему обрабатывать большой поток попыток входа. А вот если, например, настроена блокировка учеток при определенном количестве неверных попыток входа, или там шатдаун при переполнении журнала безопасности, то это вообще просто выстрел в ногу.
trnc
16.05.2018 19:23На своем MikroTike я наcтроил Port Knocking, после которого IP с которого я стучусь добавляется в white list на некоторое время и уже для этого IP работают все пробросы. Но даже в этом случае проброс через 3389 я не делаю, порт меняю на нестандартный и вам советую.
Mabu
16.05.2018 18:39К моему серверу постоянно так присасывались какие?то боты, но не могли пройти аутентификацию. На сервере из?за этого постоянно запускались дополнительные процессы csrss.exe и winlogon.exe, а потом завершались. И так каждый раз на нового бота. Это заметно тормозило сервер.
Выход нашёл через введение белого списка разрешённых IP?адресов для соединения через политику IPSec.
grims
16.05.2018 23:16Чтобы заняться брутфорсом RDP нужно с атакуемой стороны иметь клиента с Windows и включенную проверкой подлинности на уровне сети, в противном случае RDP сервер принимающий соединения будет вас отмораживать еще на этапе этой проверки, забудьте про Windows XP и не живите в начале 2000-х. Проще эксплуатировать уязвимости, которые Microsoft потихоньку да прикрывает, например в начале мая была прикрыта уязвимости в CredSSP
LESHIY_ODESSA
16.05.2018 16:32Как один из методов защиты использую смену в реестре дефолтного порта на другой.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
Mabu
17.05.2018 08:00Это безопасность через неясность.
Так себе решение.LESHIY_ODESSA
17.05.2018 11:50А позволю себе подчеркнуть — как один из методов.
Естественно еще есть VPN, port knocking и так далее. Белый список IP.
Arxitektor
16.05.2018 20:47Вопрос касательно угона RDP:
Например у меня сервак на нем стоит ESXi и подняты виртуалки с одной из них я рулю инфраструктурой. Это виндовая машина с белым IP Win srv 2016 yf ней включен RDP я к ней подключаюсь из дома. У меня обычный серый IP. Порт стандартный. Пароль 16 символов
Буквы, цифры, спец символы. Могут ли угнать сессию?
Для безопасного доступа как я понимаю нужен VPN. Подойдет ли для этой цели pfsense?
За одно и будет раздавать интернет на нужные VM?
Где почитать как все правильно приготовить?MBear
17.05.2018 08:16pfsense прекрасно подойдет, конфигурируете его как шлюз для остальных машин, настраиваете vpn по желанию (IPsec,L2TP,OpenVPN) все довольно наглядно, через веб-интерфейс
medvedevia
17.05.2018 08:23Как включить SSL/TLS написали, а как установить сертификат? И можно ли использовать клиентский сертификат?
MinamotoSoft
18.05.2018 04:57Между тем можно открывать удаленный рабочий стол Microsoft с компьютеров под Windows, Mac OS X, а также с мобильных устройств с ОС Android или с iPhone и iPad.
AlexandrDP
Можно использовать RDP как TV/RA/Ammy?
Т.е. внешний IP есть порт RDP проброшен.
Но нужно чтобы локальный юзер (на сервере RDP) видел что происходит (не отключало его сеанс) и мог вмешаться?
ru_vds Автор
К сожалению, RDP данный функционал не поддерживает.
ildarz
Про теневые сессии вы ничего не слышали, я так понимаю?
ildarz
mstsc /?, параметр shadow. В зависимости от версии винды, может потребоваться по-другому подключаться, но в целом ищите информацию по rdp shadowing.
GritsanY
Можно воспользоваться «Удалённым Помощником» (Remote Assistance, для систем от XP до 10) или «Быстрой помощью» (Quick Assist, появилась в Win10, требуется учётка MS Live)