Защита RDP подключения | alexmdv

Защита RDP подключения

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

rdp0

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

rdp5

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

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

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

rdp6

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

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

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

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

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

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

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

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

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

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

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

Используйте RDP правильно, всем стабильного коннекта!

Как сделать RDP терминал сервер на любой версии Windows смотрите здесь.

1 комментарий

  1. Владимир:

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

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

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

*