Токены и удаленный рабочий стол (RDP подключение) – Записки IT специалиста

Дополнительные ресурсы

Single Sign-On for Terminal Services

How to enable Single Sign-On for my Terminal Server connections

Introducing Web Single Sign-On for RemoteApp and Desktop Connections

Description of the Credential Security Support Provider (CredSSP) in Windows XP Service Pack 3

Как подключить сертификат подписанный ad cs к rpd

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

Тут можно пойти двумя путями:

  1. Если у вас есть AD CS и нет особых требований к именам, указываемым в сертификате. В этом случае можно сделать полностью автоматическую выдачу сертификатов и их подключение. Это простой способ.
  2. Если у вас в домене нет центра сертификации Active Directory, или если у вас есть особые требования к Subject Name или Subject Alternative Name. В этом случае придется получать и подключать сертификат вручную. Понадобится подобный сценарий вам может, если, например вы выдаете сертификат для компьютера, находящегося в отказоустойчивом кластере, и соответственно вам нужно будет указать в качестве SAN или SN как имя кластера так и имя хоста.

Начнем с более простого сценария.  

У вас уже должен быть установлен и настроен AD CS. Идем на компьютер где он установлен и создаем шаблон для сертификата, который будет использоваться при подключении по RDP. Для этого заходим в консоль Certification Authority и щелкаем правой кнопкой мыши на Ceritificate Templates, выбираем Manage.

Консоль Certification Authority

В открывшемся окне щелкаем правой кнопкой мыши по шаблону компьютера и выбираем Duplicate Template.

В Compatibility, выбираем уровень CA и получателей, в зависимости от ваших нужд, я поставлю уровень CA и Certificate Recipient на уровень 2008R2.

Вкладка Compatibility

Во вкладке General задаёмR понятное имя сертификату, например RDPTmpl, так же если хотите можете изменить время жизни и обновления сертификата, а также разрешить публикацию в AD. Я эти опции оставил как есть.

Задаем имя шаблону

Во вкладке Subject Name по желанию можно выбрать Subject name format, например Common Name, так же обязательно оставьте, что бы публиковалось DNS имя в alternate subject name.

Задаем Subject Name

Идем во вкладку Sucurity – тут разрешаем Enroll и Autoenroll для группы компьютеров, для которых должен будет получаться сертификат.

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

Далее переходим во вкладку Extensions, выбираем Application Policy и жмем Edit.

Вкладка Extensions

Здесь нужно удалить Client Authorization, а так же по желанию можно заменить Server Authorization на политику для проверки подлинности RDP. Для этого жмем Add, далее New, в Object identifier вводим 1.3.6.1.4.1.311.54.1.2 и даем понятное имя политике, например Remote Desktop Authentication.

Создаем новую политику для проврки подлинности remote desktop

Выбираем созданную политику и удаляем из шаблона Client и Server Authorization.

Оставляем только созданную политику

Жмем ОК и закрываем консоль с шаблонами. Возвращаемся в консоль Certification Authority и снова жмем правой кнопкой по Certificate Templates и выбираем New -> Certificate Template to issue.

Выдаем шаблон

Выбираем созданный нами шаблон и жмем ОК.

Выбираем созданный шаблон

Теперь идем в редактор групповой политики, создаем или правим существующий объект групповой политики, который прилинкован к OU в которой находятся компьютеры, которым необходимо получить сертификат. Идем в Computer configuration -> Administrative Templates -> Windows components -> Remote Desktop Services -> Security. Тут нам нужен параметр Server authentication certificate template.

Задаем параметр в групповой политике

Включаем его и указываем имя нашего шаблона (RDPTmpl).

Указываем имя созданного шаблона

Что бы сертификаты продлялись автоматически, идем в Computer configuration -> Windows settings -> Security Settings -> Public Key Policies. Тут включаем параметр Certificate Services Client – Auto-Enrollment Properties.

Задаем параметр для Autoenroll

Всё дожидаемся, пока обновится групповая политика или обновляем ее сами (gpupdate /force),  сервер должен будет получить сертификат, и при подключении по RDP будет использоваться именно этот сертификат. Проверить это можно подключившись к серверу не по доменному имени, а по IP адресу, например.

Действительный сертификат при подключении

Если что, хранится этот сертификат в сертификатах компьютера, в личных сертификатах.

Оснастка сертификаты

Теперь расскажу про то, что делать во втором случае. В общем и целом, сперва нам так, как и с первым случаем необходимо создать шаблон для сертификата. Тут всё точно так же, как и с первым случаем, за исключением вкладки Subject Name. В этот раз нужно выбрать Supply in the request. Так же, думаю лучше поставить галку, что бы при продлении бралась информация из существующего сертификата.

Указываем, что subject name должен задаваться вручную при получении

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

Идем в оснастку сертификаты

Щелкаем правой кнопкой по Личное и выбираем – запросить новый сертификат. На приветственном окне жмем далее. В окне выбора политики регистрации сертификатов оставляем Политику регистрации Active Direcotory.

Выбираем политику Active Directory

В следующем окне выбираем созданный ранее шаблон. Он будет отмечен желтым треугольником. Жмем по ссылке правее этого треугольника.

Выбираем наш шаблон

Во вкладке объект указываем полное имя DN в качестве Subject Name (например CN = CL01.test.loc) и разные dns имена в качестве Alternate Subject Name.

Заполняем Subject Name и Alternate Subject Name

Жмем далее, точнее кнопку Заявка, и дожидаемся окончания процесса.

Завершаем получение

Теперь нам необходимо каким-то образом подключить полученный сертификат к RDP. Тут опять же есть несколько способов.

Первый способ, на мой взгляд менее удобный, но он должен работать на всех системах:

Смотрим отпечаток в свойствах только что полученного сертификата.

Смотрим значение отпечатка в сертификате

Для упрощения его копирования можно воспользоваться командой powershell:

ls Cert:LocalMachineMy

Копируем нужный отпечаток, далее выполняем команду:

wmic /namespace:\rootCIMV2TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash=”thumbprint”

Где thumbprint – ваш скопированный отпечаток.

Посмотреть отпечаток подключенного сертификата можно командой:

wmic /namespace:\rootCIMV2TerminalServices PATH Win32_TSGeneralSetting Get SSLCertificateSHA1Hash

Результат подключения сертификата в PowerShell

В случае, если у вас используется старая версия ОС, например Windows 2008R то можно воспользоваться более наглядным способом подключения. Это же касается и случаев, если у вас версия системы выше, чем 2022, и при этом установлены роли RDS.

Устанавливаем фичу Remote Desktop Services Tools. Если что она находится в Remote Server Administration Kit, Role Administration Tools.

Устанавливаем компоненту средства удаленных рабочих столов

Устанавливаем эти компоненты, после установки нужно будет перезагрузить сервер.  После перезагрузки идем в Пуск – Администрирование – Службы удаленных рабочих столов – Конфигурация узла сеансов удаленных рабочих столов.

Идем в конфигурацию узла сеансов удаленных рабочих столов

Заходим в свойства единственного подключения. Во вкладке общие можно выбрать необходимый нам сертификат. Выбираем ранее полученный сертификат.

Свойства подключения

Выбираем сертфикат

Всё. Теперь при подключении по RDP будет использоваться правильный сертификат. 

Готово, нужный сертификат подключен

Как работает rohos logon key с remote desktop.

Rohos Logon Key
интегрируется в процедуру авторизации Windows Terminal Services и добавляет уровень двухфакторной авторизации в существующую инфраструктуру контроля доступа в систему. После настройки Rohos Logon Key пользователи смогут входить на Удаленный Рабочий Стол либо только при помощи USB-Ключа, либо при помощи USB-Ключа и пароля.

Настройка

Поставщик услуг безопасности CredSSP является частью операционной системы и входит в состав Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2. Кроме того, он может быть установлен в качестве отдельного обновления на Windows XP SP3.

1. Запустить редактор реестра regedit и перейти в ветку: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa.

2. Добавить значение tspkg к ключу Security Packages (остальные значения этого ключа следует оставить неизменными).

3. Перейти в ветку реестра: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProviders.

4. Добавить значение credssp.dll к ключу SecurityProviders (остальные значения этого ключа следует оставить неизменными).

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

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

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

Следует выбрать имя пользователя и ввести пароль учетной записи на TS.

Если проверка подлинности пароля прошла успешно, то происходит подключение к Удаленному Рабочему Столу. На этом этапе Rohos Logon Key проверяет наличие USB-Ключа пользователя.

Rohos Logon Key может остановить доступ, если USB-Ключ не подключен:

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

Портативный rohos logon key

Программа поможет вам, если вы используете USB flash drivе,
но не можете или не желаете устанавливать на локальный компьютер ни Rohos Logon Key,
ни Rohos Management tools
. Этот компонент автоматически копируется на флешку во время создания ключа на терминальном сервере.

Кроме того его можно получить, запустив программу USB key manager
Pro лицензия
— для доступа через Remote desktop к сетевому компьютеру(не терминальный сервер), а также для использования в условиях домена.
Серверная лицензия
— специально предназначена для Терминального Сервера(Windows 2003, 2008,2022 с доступом через Remote Desktop)

Попробовать Rohos Logon Key бесплатно
в течении 15-дней. Rohos Logon Key.

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

Alexander Antipov

В статье приведен обзор алгоритма работы технологии прозрачной авторизации Single Sign-On и поставщика услуг безопасности Credential Security Service Provider (CredSSP). Рассмотрен способ настройки клиентской и серверной частей.

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

Преимущества защиты терминального сервера.

  • Метод позволяет ограничить удаленный доступ для некоторых пользователей или списка пользователей.
  • Такие пользователи обязаны каждый раз вставлять USB ключ или вводить код OTP.
  • Каждый ключ уникален и не может быть подделан
  • Нет необходимости подключать USB ключ непосредственно к серверу при его настройке.
  • Не нужно устанавливать программу на каждый компьютер, с которого осуществляется доступ*.
  • Администратору всего лишь необходимо предварительно настроить и выдать пользователю USB-Ключ для доступа.

Повышенная
безопасность посредством электронного
USB-Ключа либо Одноразовых паролей:

Перед тем как приступить к настройке Rohos Logon key необходимо определиться:

  • какой тип USB-Ключа будет использован для авторизации;
  • какой тип аутентификации вы хотите использовать:
    1) двухфакторный = USB-Ключ Windows Пароль,
    2) однофакторный = USB-Ключ (сюда также входит вариант USB-Ключ PIN-код ключа если таковой имеется),
    3) использовать USB-Ключ только на локальном ПК. При этом Терминальный сервер не будет проверять наличие USB-Ключ у клиента.

* В случае использования USB flash drive
в качестве ключа доступа, на компьютер клиента необходимо установить одну из двух программ: либо программу , либо . В процессе создания ключа на сервере, на USB — накопитель будет скопирован , обеспечивающий использование USB диска в качестве ключа для подключения к Remote Desktop.

После того как вы определились с типом USB-Ключа и способом двухфакторной авторизации вы можете приступить к установке Rohos Logon Key .

Типы usb ключей и технологии, подходящие для аутентификации через remote desktop с программой rohos logon key:

  1. Smart-карты, Java Cards (Mifare 1K)
  2. Токены на основе PKCS11. Например SafeNet eToken, Securetoken ST3/4, senseLock trueToken, RuToken, uaToken, iKey.
  3. Yubikey и OTP токены, например Google Authenticator
  4. USB Flash накопители. В этом случае после создания ключа на USB диск будет скопирован портативный компонент
    программы.

Этапы подготовки соединения с использованием программы rohos logon key:

1. Установите программу Rohos Logon Key
на терминальном сервере
. В настройках программы укажите тип USB ключа.

2. Установите пакет Rohos Management Tools
на компьютер, с которого будет осуществляться доступ на удаленный рабочий стол для создания ключей.

3. Создание ключей
для доступа через RDC:

Подключите к локальному компьютеру ваш будущий USB ключ. Подключитесь к терминальному серверу через RDC. В настройках программы Remote Desktop
укажите, какие локальные ресурсы (USB диски или смарт-карты) следует предоставить удаленному компьютеру.

Запустите программу Rohos Logon Key
на терминальном сервере. Воспользуйтесь командой Setup a key
, укажите пользователя, для которого вы создаете ключ и, если необходимо, впишите его пароль.

Замечание
: Некоторые типы USB ключей можно создать в программе USB key manager
из пакета Rohos Managment tools
. Этот пакет устанавливается на компьютере администратора. После создания всех ключей в этой программе необходимо экспортировать их список на терминальный сервер. . В этой же программе есть кнопка, копирующая на USB накопитель программы.

4. Настройка Rohos Logon Key на Терминальном Сервере:

После создания всех ключей вы можете усилить безопасность сервера, запретив определенным пользователям доступ к нему без USB ключа. Откройте настройки программы Rohos Logon Key, список Разрешить доступ только с помощью USB-Ключа.

Варианты выбора:

Похожее:  «Осторожно, печеньки!»: советы начинающим тестировщикам в сфере безопасности / Хабр

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

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