Недавно мы рассказывали, как настроить 2FA аутентификацию на основе PKI-инфраструктуры и x509 сертификатов в виртуальной среде Citrix, используя электронные ключи JaCarta PKI. Сегодня речь пойдет о ближайшем «друге» Citrix XenDesktop в области доставки виртуальных рабочих столов и приложений – VMware Horizon View.
Как это работает?
Говоря простым языком, можно представить вот такую схему.
Двухфакторная аутентификация в VDI-сессию с использованием JaCarta PKI состоит из следующих шагов:
- пользователь предъявляет токен (первый фактор — обладание устройством) и вводит PIN-код (второй фактор — знание PIN-кода);
- на сервере происходит проверка учётных данных пользователя;
- пользователь получает десктоп\приложение либо отказ в обслуживании.
Причины «подружить» VMware Horizon View с электронными ключами, впрочем, как и любое внедрение 2FA, имеют ряд плюсов по сравнению с классической аутентификацией по паролям. В первую очередь, это общее повышение уровня безопасности, которое происходит за счёт отказа от паролей и перехода к строгой аутентификации с использованием второго фактора аутентификации. Подробно на этом останавливаться не будем, есть достаточно статей, да и целых книг по теме. Во вторых, раз уж аутентификация по токенам или смарт-картам внедрена, ими можно и нужно пользоваться уже внутри VDI-сессии. Например, для электронной подписи в различных сценариях и программах, для доступа к различным web-приложениям, для систем электронного документооборота и систем дистанционного банковского обслуживания. Есть возможность использования как западных крипто алгоритмов, так и отечественный ГОСТ. Также к дополнительным преимуществам можно отнести то, что одна и та же карта может использоваться для аутентификации, подписи и доступа в помещение (при наличии RFID-метки). При этом предусмотрены варианты кастомизации — нанесение лого и фирменного стиля. А в рамках спец. проектов существует возможность реализации на этих же картах платежных приложений («Мир», MasterCard, Visa).
Вводные
Предполагается, что инфраструктура открытых ключей уже развернута в рамках Windows Server (версия не важна) с ролью Active Directory Certificate Services. VDI развернут в рамках VMware Horizon View 7 (работаем и с 6.x и c 5.x) и настроен на простую парольную аутентификацию. Еще одно условие — у пользователей имеются электронные ключи JaCarta с выпущенными на них цифровыми сертификатами от MSCA.
В качестве клиента используется любой ПК, тонкий клиент, ноутбук с установленным VMware Horizon Client.
Настройка
Вся настройка сводится к настройке сертификатов и включению опции аутентификации по сертификатам на сервере horizon view.
Экспорт корневого сертификата
Откройте оснастку Certification Authority на корневом ЦС, выполнив команду certsrv.msc
Откройте окно Certification Authority -> CA Name -> Properties
На вкладке General выберите корневой сертификат и нажмите кнопку View Certificate.
Перейдите на вкладку Details и нажмите кнопку Copy to File.
На странице выбора формата файла выберите Base-64 encoded X.509 (.CER)
Укажите путь экспорта файла, например, C:\temp\RootCA.cer
Создание файла-контейнера ключей JKS
На сервере VMware Horizon View откройте командную строку и перейдите в каталог с утилитой keytool.exe (C:\Program Files\VMware\VMware View\Server\jre\bin).
Импортируйте корневой сертификат в файл-хранилище с помощью команды keytool -import -alias alias -file root_certificate -keystore truststorefile.key, где alias – псевдоним (любое значение), root_certificate – полный путь к файлу сертификата, truststorefile.key – имя файла-хранилища.
В процессе импорта необходимо будет ввести парольную фразу для защиты хранилища и подтвердить доверие сертификату.
Файл-хранилище truststorefile.key необходимо скопировать в директорию SSL Gateway:
install_directory\VMware\VMware View\Server\sslgateway\conf\truststorefile.key
В директории SSL Gateway (install_directory\VMware\VMware View\Server\sslgateway\conf\locked.properties) необходимо создать файл c именем locked.properties и отредактировать его (например, в блокноте) до следующего содержимого:
trustKeyfile= truststorefile.key
trustStoretype=JKS
useCertAuth=true
Сохраните файл и перезагрузите службу View Connection Server.
Настройка входа по сертификату
Зайдите в веб-консоль VMware Horizon View.
Перейдите в свойства сервера: Inventory > View Configuration > Servers > Connections Servers > Edit.
Перейдите на вкладку Authentication и выберите предпочтительный режим аутентификации.
Аутентификация в административную консоль по смарт-карте настраивается из выпадающего списка Smart card authentication for administrators:
- Not Allowed – не использовать смарт-карту;
- Optional – смешанная аутентификация – или по паролю, или по смарт-карте;
- Required – обязательное использование смарт-карты.
Аутентификация пользователя в VDI по смарт-карте настраивается из выпадающего списка Smart card authentication for users:
- Not Allowed – не использовать смарт-карту;
- Optional – смешанная аутентификация – или по паролю или по смарт-карте;
- Required – обязательное использование смарт-карты.
Опция Disconnect user sessions on smart card removal определяет политику при отключении смарт-карты. Установите галочку, если необходимо производить отключение сессии при изъятии смарт-карты.
Нажмите кнопку ОК.
Настройка проброса смарт-карты пользователя
Проброс смарт-карты пользователя позволяет производить прозрачную аутентификацию в виртуальную машину с вводом PIN-кода один раз.
При использовании тонких клиентов Teradici настройка, как правило, не требуется.
При использовании программных клиентов Windows, MacOS, Linux необходимо выполнить установку VMware View Agent с активацией опции Smartcard Redirection.
Проверка
Для проверки выполним вход в консоль администрирования Horizon View и на виртуальный рабочий стол
Вход в консоль администрирования
Вставьте смарт-карту и перейдите в консоль администрирования.
В появившемся окне формы входа выберите сертификат администратора и нажмите кнопку OK.
Отобразится запрос на ввод PIN-кода. После успешной проверки PIN, будет произведена аутентификация в веб-интерфейс.
Вход на виртуальный рабочий стол
На клиентском устройстве запустите VMware Horizon Client и выберите необходимое подключение.
Отобразится запрос на ввод PIN-кода.
После успешной аутентификации отобразятся доступные ресурсы.
Ну и убедимся, что смарт-карта пробросилась на доставленный десктоп.
На этом всё.
timsoid
После провала джакарты с ЕГАИС, в жизни не свяжусь с джакартой. Весь мозг вынесла, постоянно накрывалась. Слава богу теперь можно пользоваться рутокеном, теперь как ломается джакарта сразу клиенту говорим бежать за рутокеном.