Недавно мы рассказывали, как настроить 2FA аутентификацию на основе PKI-инфраструктуры и x509 сертификатов в виртуальной среде Citrix, используя электронные ключи JaCarta PKI. Сегодня речь пойдет о ближайшем «друге» Citrix XenDesktop в области доставки виртуальных рабочих столов и приложений – VMware Horizon View.



Как это работает?


Говоря простым языком, можно представить вот такую схему.


Двухфакторная аутентификация в VDI-сессию с использованием JaCarta PKI состоит из следующих шагов:

  1. пользователь предъявляет токен (первый фактор — обладание устройством) и вводит PIN-код (второй фактор — знание PIN-кода);
  2. на сервере происходит проверка учётных данных пользователя;
  3. пользователь получает десктоп\приложение либо отказ в обслуживании.

Причины «подружить» 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-кода.


После успешной аутентификации отобразятся доступные ресурсы.


Ну и убедимся, что смарт-карта пробросилась на доставленный десктоп.


На этом всё.

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


  1. timsoid
    12.10.2017 15:54

    После провала джакарты с ЕГАИС, в жизни не свяжусь с джакартой. Весь мозг вынесла, постоянно накрывалась. Слава богу теперь можно пользоваться рутокеном, теперь как ломается джакарта сразу клиенту говорим бежать за рутокеном.