Защита RDP подключений с помощью RDGateway и КриптоПро CSP
Опубликовано Елена Серебренникова on 2020-03-20 12:42

 

Удаленный рабочий стол (RD) зачастую используется как инструмент удаленного администрирования не только внутри корпоративных сетей, но и для доступа извне, через интернет. Незащищенное использование RDP может сделать успешными брутфорс-атаки и атаки «человек посередине», поэтому нужно с большим вниманием относиться к защите соединения RDP при внешнем подключении к сети. Одним из вариантов реализации такой защиты под управлением Microsoft Windows Server являются службы удалённых рабочих столов RDS (Remote Desktop Services), которые разворачиваются в доменной среде ActiveDirectory. В этом разделе рассматривается настройка роли шлюза подключений RDGateway, входящей в состав RDS, на примере WindowsServer 2016 с использованием алгоритмов ГОСТ, реализованных в КриптоПро CSP 4.0 и КриптоПро CSP 5.0.

Упрощённая схема подключения по протоколу RDP, защищённому TLS, с устройств, находящихся вне корпоративной сети, показана на рисунке. Аутентификация пользователя производится по электронному ключу на носителе.

упрощенная схема сети

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

Для реализации этой схемы нужно произвести настройку служб WindowsServer и клиентских машин (в этой инструкции не упоминается настройка AD, DNS, Firewall, эти службы должны быть настроены согласно схеме сети организации):

  • Установить СКЗИ КриптоПро CSP на серверные и клиентские машины.
  • Настроить службу сертификации Active Directory (ЦС) и шаблоны сертификата TLS и клиентского сертификата для аутентификации по RDP с помощью смарт-карты
  • Выпустить сертификаты для серверов и клиентов.
  • Настроить TS Gateway.
  • Дать права на сертификат TLSслужбам, которые их будут использовать (например, NetworkServices).
  • Выбрать сертификаты TLS в свойствах служб сервера терминалов.
  • Выдать пользователям права на доступ по RDP.
  • Настроить политики авторизации соединений (TSCAP).
  • Разрешить удаленные подключения на клиентских машинах.

Установка СКЗИ КриптоПро CSP

Для реализации шифрования по алгоритмам ГОСТ требуется установить СКЗИ КриптоПро CSP на сервер, на котором разворачивается контроллер домена, на сервер Центра сертификации (в случае, если служба ЦС располагается на отдельном сервере), на сервер или сервера, где разворачиваются службы удалённых рабочих столов и на компьютеры пользователей которые будут осуществлять доступ по RDP в соответствии с документацией по установке СКЗИ КриптоПро CSP. При этом на серверных машинах должна применяться серверная лицензия на КриптоПро CSP, на клиентских – клиентская.

Установка и настройка службы сертификации ActiveDirectory (Центра сертификации)

Описание настройки службы сертификации (CAEnterprise) и выпуска сертификатов можно прочесть в документации ЖТЯИ.00103-01 92 01. Инструкция по использованию. Windows (раздел 5). Для выпуска сертификатов по алгоритмам ГОСТ также можно использовать КриптоПро УЦ версий 1.5 или 2.0, установив и настроив их в соответствии с документацией к этим продуктам. Собственный Центр сертификации требуется в том случае, если сертификаты для серверных и клиентских машин организация выпускает самостоятельно.

При использовании сторонних выпускающих центров сертификации необходимо добавлять сертификаты, обеспечивающие доверие, в хранилище NTAuth службы Active Directory https://support.microsoft.com/ru-ru/kb/295663.      

Выпуск серверных и клиентских сертификатов

Выпуск сертификатов производится согласно документации ЖТЯИ.00103-01 92 01. Инструкция по использованию. Windows (раздел 5).

При этом в свойствах сертификата TLS рекомендуется указывать все необходимые для идентифицирования имена в поле Дополнительное имя субъекта (SubjectAlternativeName, SAN)

Выпускаем сертификат TLS в соответствии с алгоритмом ГОСТ, для этого подходит шаблон «Проверка подлинности рабочей станции», выгружаем в .pfx

Выпускаем сертификаты пользователей домена на основе шаблона для входа по смарт-карте с использованием алгоритмов ГОСТ.

У сертификатов смарт-карт есть дополнительные требования к формату:

  • Точка распространения CRL (где CRL - список отзыва сертификата) должна быть заполнена, доступна и находиться в оперативном режиме.

Например:

[1]Точка распространения CRL 
Имя точки распространения:
Полное имя:
URL=http://server1.name.com/CertEnroll/caname.crl

  • Использование ключа = Цифровая подпись
  • Основные ограничения [Тип темы=Конечный субъект, Ограничения длины пути=нет] (Необязательно)
  • Использование улучшенного ключа =
  • Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)
    (Проверка подлинности клиента (OID) требуется только в случаях, когда сертификат используется для проверки подлинности по протоколу SSL.)
  • Вход в систему с помощью смарт-карты (1.3.6.1.4.1.311.20.2.2)
  • Дополнительное имя субъекта = другое имя: Основное имя пользователя= (UPN). Например:

основное имя пользователя = user1@name.com
UPN Другое имя OID: "1.3.6.1.4.1.311.20.2.3"
UPN Другое имя значение: Это должна быть ASN1-кодированная строка UTF8

  • Тема = Различающееся имя пользователя. Это поле является обязательным дополнением, но заполнять его необязательно.

 

Подробнее о создании шаблона сертификата TLS в УЦ 2.0 для защиты RDP-подключений

Для выпуска правильного сертификата TLS нужно создать шаблон сертификата в консоли Диспетчера УЦ. Для этого создаётся копия шаблона Веб-сервера (Диспетчер УЦ - Роли УЦ - Сервер ЦС - Шаблоны - Добавить). В мастере создания шаблона сертификата выбирается шаблон Веб-сервер, указывается наименование нового шаблона, например, RDG-сервер и далее по подсказкам мастера.

После этого редактируются свойства шаблона (важно разрешить в параметрах создания ключа экспорт ключа)

 свойства шаблона серверного сертификата

 

Назначение прав доступа к закрытому ключу сертификата TLS

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

Для этого в хранилище Личное Локального компьютера нужно выбрать сертификат TLS, правой кнопкой мыши вызвать контекстное меню: Все задачи - Управление закрытыми ключами – в открывшемся окне необходимо добавить учётную запись NETWORKSERVICE (или пула приложений, что предпочтительнее) и установить для неё права на чтение закрытого ключа.

права доступа к серверному ключу

 

Проверка сертификата TLS в свойствах служб сервера терминалов

Рекомендуется проверять, что сертификат указан в свойствах служб сервера терминалов. Для этого запустите оснастку диспетчера шлюза удалённых рабочих столов через командную строку, выполнив команду tsgateway.msc

В открывшемся окне выберите сервер терминалов и через контекстное меню откройте Свойства. На вкладке Сертификат SSL должен быть указан сертификат TLS, выпущенный для служб сервера терминалов. Если он не указан, отметьте пункт «Выбрать существующий сертификат…» и нажмите кнопку Импорт сертификата… После этого в открывшемся окне выбора сертификатов из личного хранилища локального компьютера выберите сертификат TLS.

проверка сертификата шлюза

 

Настройка политики авторизации соединений

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

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

настройка политик авторизации

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

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

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

 

Настройка политики авторизации ресурсов

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

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

 

 

 

Назначение пользователям прав на доступ по RDP в домен

Для выполнения этой процедуры администратор, по меньшей мере, должен быть членом локальной группы Администраторы или аналогичной группы на сервере шлюза удаленных рабочих столов. Подробные сведения об использовании соответствующих учетных записей и членства в группах см. на странице http://go.microsoft.com/fwlink/?LinkId=83477.

назначение прав доступа для пользователей

Разрешение удаленных подключений на клиентских машинах внутри защищенной сети

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

разрешение RDP на машинах сети

 

Настройки удаленных подключений на машинах внешней сети

На компьютере, находящемся во внешней незащищенной сети, с предварительно установленным КриптоПро CSP нужно открыть интерфейс подключения к удалённому рабочему столу, для этого вызовите окно для запуска программ комбинацией клавиш Win+R: укажите в нём mstsc и нажмите кнопку ОК. В открывшемся окне  введите  в свойствах RDP-соединения на вкладке Дополнительно внешний адрес сервера, выберите метод входа Смарт-карты, снимите флажки Не использовать сервер шлюза удаленных рабочих столов… На вкладке Общие укажите имя удаленного компьютера и имя учётной записи пользователя, с помощью которой будет осуществлено соединение

настройка внешних машин

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

(21 плюсик(ов))
Класс!
Не очень :(

Коментарии (0)