Как я могу сгенерировать и использовать сторонний сертификат на сервере удаленного рабочего стола?

У меня недавно установлен сервер удаленного рабочего стола Windows Server 2016, и я пытаюсь сгенерировать для него сертификат. В частности, я считаю, что мне нужно настроить сертификат для службы роли «Посредник подключений к удаленному рабочему столу - публикация».

Похоже, что вся документация Microsoft и большая часть стороннего контента, который я могу найти, предполагает, что сертификат будет либо самоподписанным, либо сгенерированным собственными силами с использованием служба центра сертификации Microsoft. Мне нужен сертификат, подписанный подходящим сторонним общедоступным центром сертификации, чтобы он был доверенным по умолчанию на всех компьютерах с Windows.

Мастер свойств развертывания не может генерировать запросы сертификатов, поэтому вам необходимо использовать оснастку Certificates MMC (или IIS, но он у меня не установлен). К сожалению, оснастка «Сертификаты» не очень удобна для пользователя, и неясно, как действовать дальше.

Как можно использовать оснастку «Сертификаты» для создания запроса на сертификат, подходящего для роли «Посредник подключений к удаленному рабочему столу - публикация» service?

2
задан 16 September 2019 в 05:37
1 ответ

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

Откройте консоль MMC на сервере удаленного рабочего стола, для которого вы хотите создать сертификат, и добавьте оснастку «Сертификаты», выбрав Параметры «Учетная запись компьютера» и «Локальный компьютер». Перейдите в «Личные» / «Сертификаты», щелкните правой кнопкой мыши и выберите «Все задачи» -> «Дополнительные операции» -> «Создать собственный запрос».

Нажмите «Далее». Выберите «Продолжить без политики регистрации» и снова нажмите «Далее».

В качестве шаблона я выбрал «(Без шаблона) ключ CNG». Я нашел несколько сообщений, в которых говорилось, что вместо этого вам нужно выбрать вариант Legacy, но я не вижу причин, по которым это может быть необходимо, и действительно, вариант CNG работал должным образом.

Для формата запроса я выбрал PKCS # 10 .

В диалоговом окне «Информация о сертификате» нажмите «Подробности», а затем «Свойства».

На вкладке «Общие» добавьте понятное имя и описание.

На вкладке «Тема» добавьте полное DNS-имя для сервер (или ферма серверов) как «Общее имя». Обратите внимание, что запрос сертификата с неквалифицированным именем (будь то в качестве субъекта или альтернативного имени), скорее всего, будет отклонен органом, подписывающим сертификаты.

Я также добавил организацию, местонахождение, штат и страну. Если у сервера более одного DNS-имени, вы также можете добавить альтернативные имена на этом этапе.

На вкладке «Расширения» в разделе «Расширенное использование ключа» добавьте проверку подлинности сервера. Других изменений в этой вкладке я не делал. (В некоторых сообщениях говорится, что вы также должны включить подпись кода, предположительно для того, чтобы вы могли подписывать файлы RDP; это не кажется необходимым, так как я смог использовать rdpsign для подписи моего файла RDP, и сертификат был принято клиентом Microsoft.)

На вкладке «Закрытый ключ» в разделе «Параметры ключа» я изменил размер ключа на 2048 и установил флажок «Сделать закрытый ключ экспортируемым». Это необходимо, потому что диалоговое окно «Свойства развертывания» позволит вам импортировать сертификат только в виде файла, а затем сертификат и закрытый ключ будут переданы на сервер (ы) хоста сеанса. Я не делал никаких других изменений на этой вкладке.

Закрыв диалоговое окно «Свойства», нажмите «Далее». Сохраните запрос как файл в формате Base64. Щелкните Готово. Отправьте запрос в центр сертификации, и как только новый сертификат будет сгенерирован, загрузите его в файл .crt.

В консоли MMC щелкните правой кнопкой мыши «Личные / Сертификаты» и выберите «Все задачи» -> «Импорт». Выберите файл ответов и нажмите Далее. Убедитесь, что выбран Личный магазин, и нажмите Далее. Щелкните Готово. Нажмите OK, когда получите сообщение о том, что импорт был успешным.

Дважды щелкните новый сертификат, чтобы открыть его. Убедитесь, что сертификат указан как действительный; в противном случае вам может потребоваться импортировать промежуточный сертификат CA, предоставленный вашим центром сертификации. Также убедитесь, что в сертификате отображается сообщение «У вас есть закрытый ключ, соответствующий этому сертификату» на вкладке «Общие».

Щелкните новый сертификат правой кнопкой мыши и выберите «Экспорт». Нажмите "Далее. Выберите вариант экспорта закрытого ключа и нажмите Далее.

В диалоговом окне «Формат файла экспорта» PKCS # 12 был единственным доступным выбором; Я использовал настройки по умолчанию, т. Е. Оставил установленным флажок «включить все сертификаты в путь сертификации, если возможно», а все остальные параметры не отмечены. Нажмите Далее.

Выберите вариант защиты закрытого ключа с помощью вашей учетной записи и нажмите Далее. Введите имя файла и нажмите Далее. Нажмите ОК, когда получите сообщение о том, что экспорт был успешным. (Обратите внимание, что файл по умолчанию будет сохранен в том же месте, из которого вы импортировали файл сертификата.)

Вернувшись в диспетчер серверов и мастер свойств развертывания, выберите параметр «Посредник подключений к удаленному рабочему столу - Включить единый вход» и нажмите «Выбрать существующий сертификат». Выберите экспортированный файл .pfx и выберите обязательный параметр «Разрешить добавление сертификата в хранилище сертификатов доверенных корневых центров сертификации на конечных компьютерах». Щелкните ОК. Нажмите Применить.

Примечание: для использования сертификата при подключении клиентов необходимо установить его для параметра «Включить единый вход», а не, как я изначально предполагал, для параметра «Публикация». (Вам не обязательно использовать SSO, вы можете настроить, будет ли выполняться SSO через групповую политику на стороне клиента.)

Как описано здесь , вы можете легко проверьте, какой сертификат обслуживается клиентами, подключившись через IP-адрес сервера, а не имя.


Дополнительные ссылки:

Настройка сертификатов и единого входа , особенно раздел под названием «Создание распространенных ошибок. Сертификаты ».

Защита RDS с помощью сертификатов .

2
ответ дан 3 December 2019 в 11:22

Теги

Похожие вопросы