Мультифакторная аутентификация с подтверждением через одноразовые временные пароли (TOTP)

Рассмотрим пример настройки двухфакторной аутентификации с подтверждением (второй фактор аутентификации) кодом TOTP.

1. Для примера авторизации мы будем использовать авторизацию пользователей домена AD.

Добавим сервер авторизации.

Перейдем в раздел Пользователи и устройства - Серверы авторизации, нажмем кнопку Добавить - Добавить LDAP коннектор.

В свойствах коннектора LDAP внесем следующие настройки:

Вкладка Настройки

Название - произвольное название сервера авторизации.

Доменное имя LDAP или IP-адрес - IP-адрес сервера контроллера домена.

Bind DN («логин») - внесем доменного пользователя в формате DOMAIN\username или username@domain для подключения к серверу LDAP. Данный пользователь уже должен быть заведен в домене.

Пароль - пароль пользователя для подключения к домену.

Вкладка Домены LDAP

Нажмем кнопку Добавить и внесем доменное имя LDAP:

После внесения настроек нажмем на кнопку Проверить соединение. Если настройки внесены верно, получим сообщение об успехе:

Сохраним настройки LDAP коннектора нажав на кнопку Сохранить.

2. Создадим профиль для мультифакторной аутентификации.

Перейдем в раздел Пользователи и устройства - Профили MFA нажмем на кнопку Добавить - MFA через TOTP и в свойствах профиля MFA внесем следующие настройки:

Название - произвольное название профиля MFA.

Инициализация TOTP - выберем для примера Показать ключ на странице captive-портала

Показывать QR-код - для возможности сканирования кода.

Сохраним настройки профиля MFA нажав на кнопку Сохранить.

3. Создадим профиль авторизации.

Перейдем в раздел Пользователи и устройства - Профили авторизации, нажмем на кнопку Добавить и в свойствах профиля авторизации внесем следующие настройки:

Название - внесем произвольное название профиля авторизации.

Профиль MFA - Выберем ранее созданный профиль MFA.

Добавим ранее созданный LDAP коннектор, нажмем на кнопку Добавить - Сервер LDAP/Active Directory: kraftech.ru

Сохраним настройки профиля авторизации нажав на кнопку Сохранить.

4. Создадим профиль для Captive-портала.

Мультифакторная авторизация возможна только с методами аутентификации, позволяющими ввести пользователю одноразовый пароль, то есть только те, где пользователь явно вводит свои учетные данные в веб-форму страницы авторизации. В связи с этим, мультифакторная авторизация невозможна для методов аутентификации kerberos и NTLM.

Перейдем в раздел Пользователи и устройства - Captive-профили, нажмем на кнопку Добавить и в свойствах captive-профиля внесем следующие настройки:

Название - внесем произвольное название captive-профиля.

Шаблон страницы авторизации - Выберем шаблон «Captive portal user auth (RU)».

Метод идентификации - Выберем запоминать IP-адрес.

Профиль авторизации - Выберем ранее созданный профиль авторизации.

Если для авторизации пользователей мы используем LDAP коннектор, можно активировать свойство «Предлагать выбор домена AD/LDAP на странице авторизации».

Сохраним настройки captive-профиля нажав на кнопку Сохранить.

5. Создадим правило Captive-портала.

Перейдем в раздел Пользователи и устройства - Captive-портал, нажмем на кнопку Добавить и в свойствах правила captive-портала внесем следующие настройки:

Название - внесем произвольное название captive-портала.

Captive-профиль - выберем ранее созданный Captive-профиль.

Вкладки Источник, Назначение, Категории, URL, Время, можно настраивать для задания дополнительных условий выполнения правила. Правила применяются сверху вниз в том порядке, в котором совпали условия, указанные в правиле. Для срабатывания правила необходимо, чтобы совпали все условия, указанные в параметрах правила.

Сохраним настройки правила captive-портал нажав на кнопку Сохранить.

6. Настоим DNS для доменов auth.captive и logout.captive.

Служебные доменные имена auth.captive и logout.captive используется UserGate для авторизации пользователей. Если клиенты используют в качестве DNS-сервера сервер UserGate, то ничего делать не надо. В противном случае необходимо прописать в качестве IP-адреса для этих доменов IP-адрес интерфейса сервера UserGate, который подключен в клиентскую сеть.

7. Проверим работу мультифакторной авторизации.

В браузере пользователя перейдем на сайт ya.ru. Появилась страница авторизации captive-портала:

После ввода логина и пароля появится окно для ввода дополнительного кода аутентификации:

Получить этот код можно установив специальное приложение либо расширение в браузер, которое умеет генерировать код на основе алгоритма TOTP. Для примера мы установим расширение «Авторизация» в браузер Google Chrome:

Добавим в расширение ключ инициализации TOTP:

Расширение браузера Chrome «Авторизация» нам выдаст временный код для авторизации на портале.

После ввода кода в окне авторизации, откроется запрошенный сайт ya.ru

Для повторной авторизации на Captive портале необходимо снова воспользоваться расширением «Авторизация» где будет уже сгенерированный новый код для нашего TOTP.