Ferma VDI

Установка белого сертификата на ферму VDI

Описание проблемы

При публикации фермы VDI в мир, внешние пользователи часто жалуются на появляющиеся предупреждения безопасности при установке удаленного подключения. В данном случае, предупреждение появляется дважды: первый раз не доверенным является Connection Broker сервер, а второй – виртуальная машина фермы VDI.

Remote Desktop Connection error

Такая ситуация связана с тем, что внутренние сертификаты домена не являются доверенными для внешних пользователей. И зачастую внутреннее доменное имя отличается от внешнего.

Многие системные администраторы выходят из данной ситуации либо предлагая пользователям игнорировать данное сообщение установив галку «Больше не спрашивать», либо устанавливают корневой сертификат в доверенные на удаленном компьютере пользователя и публикуют CRL корпоративного CA. Однако данные методы не работают если пользователь подключается каждый раз из разных мест, либо подключается к разным виртуальным машинам.

Для решения поставленной проблемы необходимо использовать «белый» сертификат, выписанный доверенным Certificate Authority для фермы VDI. Имя данного внешнего сертификата и имена компьютеров VDI должны совпадать.

Решение Проблемы

Для начала нам понадобится wildcard сертификат вида *.yourcompany.com, приобретенный у доверенного центра сертификации.

Добавление нового DNS Суффикса в домене:

В DNS на контроллере домена добавляем новую Active Directory Integrated зону yourcompany.com, которая будет обслуживать внутренние запросы для новых имен серверов и виртуальных машин фермы VDI.

Для поддержания в домене дополнительного доменного суффикса необходимо внести изменения в атрибут msDS-AllowedDNSSuffixesна уровне домена. Необходимо добавить внутреннее и внешнее имена домена как значения атрибута, например, yourcompany.local иyourcompany.com.

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

22

Следующую политику необходимо включить и добавить через запятую значения внутреннего доменного имени и внешнего доменного имени: Computer Configuration \ Policies \ Administrative Templates \ Network\ DNS Clien\ DNS suffix search list.

Установка сертификата на RD сервера

Перед созданием VDI фермы необходимо выполнить смену DNS суффикса планируемых RD серверов на имя внешнего домена. Для этого перейдем в свойства компьютера и выберем изменить имя компьютера. В окне изменения имени компьютера необходимо нажать на кнопку More… и задать новый первичный DNS суффикс компьютера — yourcompany.com.

Далее создаем новую ферму VDI, основываясь на выбранных серверах Microsoft Windows Server 2012 R2.

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

После того, как pfx файл сертификата будет на руках, можно приступить к установке его на новую VDI ферму.

На сервере RD Connection Broker переходим Server Manager -> Remote Desktop Services -> Overview. В поле Deployment Overview ввыпадающем списке TASKS выбираем Edit Deployment Properties.

Открываем вкладку Certificates и устанавливаем необходимый сертификат *.yourcompany.com для всех сервисов фермы. Добавление производится по одному за действие. Выбираем существующий сертификат, указываем его путь на файловой системе и пароль.

После чего данные сертификаты будут установлены на серверах VDI, но не на виртуальных машинах. В реестре на Connection Broker сервере появится SSLCertificateSHA 1Hash REG_BINARY параметр со значением thumbprint сертификата по следующему адресу:<

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp.

Данный параметр отвечает за выбор сертификата, который будет использоваться при установке RDP сессии. Это параметр необходимо будет установить и на клиентские машины.

Машины

Для использования белого сертификата на виртуальных машинах необходимо:

  • Установить сертификат на все машины в персональное хранилище сертификатов компьютера.
  • Установить права на чтение ключа сертификата для Network Service каждой машины.
  • Иметь SSLCertificateSHA1Hash REG_BINARY параметр со значением thumbprint сертификата.
  • Виртуальные имена машин должны совпадать с именем сертификата, т.е. иметь суффикс yourcompany.com

Создадим новую групповую политику на уровне Organizational Unit, выделенного для компьютерных аккаунтов виртуальных машин фермы VDI.

Данная политика должна выполнить Startup Script ExportVDICert.bat на виртуальных машинах.

В указанном скрипте используются утилиты certutilи FindPrivateKey от Microsoft. Certutil является встроенной утилитой, FindPrivateKey предоставляется в качестве Samle tool для разработчиков и может быль скомпилирован самостоятельно. Скрипт необходимо расположить внутри политики.

Сертификат и утилиту FindPrivateKey необходимо разместить в сетевой папке, откуда скрипт будет забирать файлы для установки.

Текст скрипта:

certutil -f -p "" -importpfx "" NoExport
c:
mkdir "c:\TempCertSecurity"
cd "c:\TempCertSecurity"
xcopy "" "c:\TempCertSecurity"
FindPrivateKey.exe My LocalMachine -t "" -a > tmp.txt
set /p myvar= < tmp.txt
del tmp.txt
del FindPrivateKey.exe
cd \
rd "c:\TempCertSecurity"
cacls.exe %myvar% /E /G "NETWORK SERVICE":R"

При помощи данного скрипта после перезагрузки виртуальной машины будет установлен новый сертификат и для него будут настроены права.

Следующая часть политики касается установки параметра SSLCertificateSHA1Hash. Необходимый ключ настраивается черезPreferences \ Windows Settings \ Registry

Для централизованного изменения Primary DNS суффикса виртуальных машин в политике необходимо включить Primary DNS suffix и установить его как внешнее доменное имя.com.

После перезагрузки, машина получит новый FQDN, соответствующий белому сертификату.

После проведения данных операций, пользователи больше не увидят надоедливые предупреждения безопасности.

Оставляйте комментарии и задавайте вопросы здесь.