Статьи и публикации

Настройка двухфакторной аутентификации в VMware Horizon View 7 c использованием OTP и сервера JAS

Интернет-портал Habrahabr.ru, ноябрь, 2017
Статья Дмитрия Шуралёва, технического специалиста по работе с технологическими партнёрами компании "Аладдин Р.Д."

В нашей прошлой статье мы рассказывали о настройке двухфакторной аутентификации в VMware Horizon View на основе PKI-инфраструктуры и x509-сертификатов. Сегодня рассмотрим другой вариант 2FA-аутентификации — одноразовые пароли (OTP). Использование PKI-технологии, возможно, более надёжное, но в наш век всеобщей мобильности и тенденции BYOD, когда пользователям нужно получать доступ к информационным ресурсам с любых устройств, включая мобильные, использование технологии PKI не всегда удобно, а иногда совсем невозможно. Поэтому аутентификация по одноразовым паролям (OTP) набирает всё большую популярность.

Реализация OTP в нашем примере основана на продукте нашей компании. Это сервер аутентификации — JaCarta Authentication Server (JAS). В качестве аутентификатора (средства генерации OTP) могут выступать:

  • программный токен (google authenticator для смартфонов под управлением iOS, Android, Windows);
  • физический токен с USB-портом (JaCarta WebPass, Yubikey и другие);
  • физический токен без USB-порта (eToken Pass и другие).

Поддерживаются следующие алгоритмы генерации OTP:

  • RFC 4226 + HMAC-SHA-1 (6 символов);
  • RFC 4226 + HMAC-SHA-256 (6 символов);
  • RFC 4226 + HMAC-SHA-256 (7 символов);
  • RFC 4226 + HMAC-SHA-256 (8 символов).

Также существует возможность подключить СМС-шлюз и получать одноразовые пароли в виде СМС-сообщений.

Как и в прошлый раз предполагается, что VDI в рамках VMware Horizon View уже развернут и настроен на простую парольную аутентификацию. Также уже установлен и настроен сервер JAS и NTP-плагин для него. А для пользователей заведены программные или аппаратные токены. Об установке и настройке JAS у нас есть большой скучный документ, входящий в комплект поставки.

Далее мы покажем как легко и просто связать имеющийся сервер JAS с сервером VMware Horizon View и реализовать OTP-аутентификацию.

Ход настройки

На сервере, где установлен JAS и NPS-плагин, перейдите в оснастку Network Policy Server и добавьте новый RADIUS Client.

Задайте Friendly name, IP-адрес Horizon View Connection Server и общий Shared secret.

Перейдите на сервер VMware View, откройте консоль администрирования View Connection Server.

Перейдите в View Configuration -> Servers ->Connection Servers.

Выберите необходимый сервер аутентификации и нажмите кнопку Edit.

В открывшемся окне перейдите во вкладку Authentication. В разделе Advanced Authentication 2-factor authentication выберите из выпадающего меню RADIUS.

Снимите чек-боксы со значений Enforce 2-factor and Windows user name matching и Use the same user name and password for RADIUS and Windows authentication.

Нажмите кнопку Manage Authenticators. В новом окне кликните по кнопке Add…

Заполните поля Label — Название сервера, отображаемое клиенту, Hostname/address — адрес NPS-сервера с OTP-плагином, Shared Secret. Authentication type – PAP.

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

Проверка работоспособности с ноутбука

Запустите VmWare Horizon Client (это может быть на ОС Windows, Linux и MacOS) и подключитесь к серверу.

После подключения к серверу будет отображено диалоговое окно входа с требованием ввода имени пользователя и OTP (поле Passcode).

Откройте google authenticator для получения OTP-значения.

После успешной аутентификации по OTP будет произведён запрос на вход по имени пользователя и паролю.

Запрос OTP->Password происходит именно в такой последовательности, а не наоборот. Это сделано для защиты пароля от подбора.

Проверка работоспособности с мобильного устройства

С мобильного телефона все будет выглядеть похожим образом. Ниже пример на iOS (Android также поддерживается).

В начале запустите приложение Horizon и подключитесь к серверу.

Сервер запросит OTP.

Переключитесь на Google authenticator, запомните OTP-значение.

Переключитесь на Horizon введите OTP.

Далее введите пароль.

Выберете нужный десктоп или приложение.

На этом всё.