Настройка 2FA TOTP и Google Authenticator

В данном разделе будет показано, как настроить двухфакторную аутентификацию с одноразовым паролем, используя TING и приложение Google Authentificator. Все службы TING могут использоваться с этим решением 2FA.

../../_images/2fa1.png

Примечание

Для использования данной функции с любым токеном одноразового пароля на основе времени, просто введите новую затравку (в формате base32) в соответствующее поле в шаге 3, вместо создания новой.

Шаг 1 - Создание сервера аутентификации

Для создания TOTP-сервера, пройдите в раздел Система ‣ Доступ ‣ Серверы и нажмите в правом верхнем углу формы кнопку Добавить. Заполните её следующим образом:

Описательное имя

TOTP server

Имя сервера

Тип

Локальный + Синхронизированный

по времени одноразовый пароль

Выберите тип TOTP-сервера

Длина токена

6

6 для Google Authentificator

Интервал времени

Оставить пустым

Разрешённый период

регистрации

Оставить пустым

Обратный порядок

токена

Флаг не установлен

Шаг 2. Выбор сервера аутентификации

Пройдите в раздел Система ‣ Настройки ‣ Администрирование. В форме Aутентификация, в поле Сервер выберите в выпадающем меню способ аутентификации Сервер -> TOTP server и сохраните изменения.

../../_images/auth_server.png

Дождитесь перезагрузки интерфейса: вверху страницы отообразится информационное собщение «Изменения успешно применены».

Шаг 3 - Добавление или настройка пользователя

Пройдите в раздел Система ‣ Доступ ‣ Пользователи и кликните на знак «плюс» в правом нижнем углу.

Введите имя пользователя, пароль и заполните остальные поля, как обычно. В поле Выдача одноразовых паролей, установите флаг Сгенерировать новый ключ (160 бит).

Нажмите Сохранить.

Шаг 4 - Активация аутентификатора для данной затравки OTP

Для активации нового OTP-кода в Google Authentificator, в настройках только что созданного пользователя, в поле OTP QR код, нажмите кнопку Нажмите, чтобы показать:

../../_images/otp_seed.png

Ниже приведён пример того, как выглядит QR-код:

../../_images/otp_qr-code.png

QR код должен быть передан пользователю, который будет пользоваться услугами двухфакторной аутентификации по безопасному коммуникационному каналу.

Примечание

Таким образом, мы создали нового пользователя, сгенерировали для него индивидуальную 160-битная затравку, передали ее пользователю в виде QR-кода. На базе затравки Google Authenticator будет генерировать одноразовые пароли на мобильном устройстве данного пользователя.

Предупреждение

Будьте очень осторожны с затравкой или QR-кодом, так как это единственное, что нужно для расчёта токена. Храните затравку/QR-код в безопасности.

Шаг 5 - Тестирование токена

Аутентификацию пользователя можно протестировать в системе, перейдя в Система ‣ Доступ ‣ Средство проверки, выбрав сконфигурированный сервер аутентификации, введя имя пользователя и пароль+токен (согласно настройкам порядка следования).

После нажатия на кнопку Тестировать, вы должны увидеть сообщение об успешной аутентификации:

../../_images/tester_auth-success.png

Шаг 6 - Активация сервера аутентификации

По умолчанию, система проверяет учётные данные пользователя при помощи локальной базы данных. Надо изменить такое поведение, указав только что добавленный сервер для аутентификации, чтобы убедиться, что ни один локальный пользователь не сможет получить доступ без 2FA. Для этого надо пройти в раздел Система ‣ Настройки ‣ Администрирование и в секции Аутентификация (внизу страницы) сменить значение в поле Сервер на новый добавленный сервер и сохранить:

Предупреждение

Убедитесь, что токен был проверен перед использованием.

../../_images/2fa_totp-server.png

Шаг 7 - Использование токена

Для использования токена в любом, настроенном вами, приложении (или службе), откройте Google Authentificator и добавьте созданный ключ/токен после обычного пароля.

Предупреждение

Нужно объединить постоянный пароль и одноразовый пароль в единый пароль и именно его вводить в поле пароль. Например:

  • одноразовый пароль, сгенерированный в Google Authenticator: 123456

  • постоянный пароль пользователя: totp_test

  • в поле ввода пароля необходимо ввести: totp_test123456

Порядок ввода постоянный пароль + одноразовый пароль (используется по умолчанию) или одноразовый пароль + постоянный пароль можно изменить в настройках сервера аутентификации.

Пример кода в приложении:

../../_images/google_token-sample.png

Код будет меняться каждые 30 секунд (это значение по умолчанию, подходящее для Google Authentificator). Данный интервал можно изменить в настройках сервера аутентификации.