Использование одноразового (OTP) пароля в момент входа пользователя в систему т.е. на экране входа появляется дополнительное поле в которое вводится шестизначный код из Google / Microsoft Authenticator, пример такого окна:
Список ниже:
На сегодня можно использовать одну из нескольких версий:
Далее:
Предварительная настройка производится в командной строке запущенной от имени администратора, первым делом можно указать провайдера (будет отображаться в аутентификаторе)
multiotp.exe -debug -config issuer="Sys-Adm.in"
Далее можно включить дебаг-лог пол умолчанию и отключить префикс для пин-кода (будет использоваться просто шесть цифр из GA):
multiotp.exe -debug -config default-request-prefix-pin=0 display-log=1
Обязательно нужно убедиться, что на машине корректно настроен и работает NTP, обычно в свежих релизах ОС Windows уже w32tm
настроен на синхронизацию, проверить можно в командной строке выполнив команду:
w32tm /query /status
Здесь нужно уяснить несколько важных моментов:
Далее на примере создания учетной записи рассмотрим сценарий настройки пользователя, например создадим учетную запись admin:
net user /add admin P@ssw0rd!
Если необходимо - добавим новую учетную запись в группу администраторов:
net localgroup Administrators admin /add
Далее необходимо сгенерировать hex ключ длиной в 20 символов, например здесь:
Если есть под рукой Linux система можно использовать готовый генератор, после чего создать пользователя уже в multiotp
:
multiotp.exe -debug -create admin TOTP hex-key 6
Сгенерировать QR код:
multiotp -qrcode admin > c:\MultiOTP\users\admin.png
Это изображение уже можно сканировать Google Authenticator'ом для дальнейшего использования. Для удобства его тут-же можно открыть встроенным mspaint
:
mspaint c:\MultiOTP\users\admin.png
Для тех, кто не хочет возиться с командной строкой, можно использовать web-сервер, который можно установить из MultiOTP каталогоа при помощи bat скрипта webservice\_install.bat
:
После его запуска запуститься браузер в котором можно управлять учетными записями:
По нажатию на кнопку "print" откроется страница в том числе с QR кодом
Далее устанавливается Credential провайдер (из пункта 1), на одном из этапов нужно будет указать каталог с нашим MultiOTP и включить параметр Default Provider:
Теперь можно тестировать корректную работоспособность OTP в командной строке:
multiotp.exe -display-log admin GAUTH-PIN
В итоге в выводе должно отобразиться сообщение об успешной операции:
Генератор создает все, что необходимо - ключи, команды для создания пользователей и тп, для генерации скрипту необходимо указать имя пользователя в результате будет весь набор необходимых команд:
Для корректной работы необходимо, что бы была установлены пакеты bc, vim-common, в CentOS например устанавливается штатным способом:
dnf install bc vim-common
Можно установить свежий релиз, который может работать с web-сервером, для этого нужно сначала указать multiotp секрет для подключения:
multiotp -config server-secret=secret
В момент установки указать требуемые параметры:
Не забудьте обязательно протестировать при помощи установщика работоспособность провайдера. Этот вариант тестировался и он работоспособен, к нему есть ряд комментариев: