Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Настройка MFA с использованием TOTP

Проверьте вход в систему StarVault с помощью метода LDAP авторизации:

starvault login -method=ldap username=w.kluge password='Foo_b_ar123!'
Пример вывода:
Успешно! Вы прошли аутентификацию. Информация о токене, отображаемая ниже, уже сохранена в помощнике токена. Вам НЕ нужно снова выполнять команду "starvault login". Будущие запросы StarVault будут автоматически использовать этот токен.
Key Value

token

hvs.CAESIEipBa8DtnBePdnrElWEc0WOh2ONelkG-i0wDLAeuHYiGh4KHGh2cy5LMFB6NFJzR0RxcTdncnh6ejdDdXNhTk4

token_accessor

s7FUF7n3f8BbWzzWRAW0zvXV

token_duration

768h

token_renewable

true

token_policies

["default"]

identity_policies

[]

policies

["default"]

token_meta_username

w.kluge

Для настройки метода MFA при входе в систему необходимо получить идентификационный токен пользователя w.kluge. После чего, необходимо экспортировать его значение в переменную среды ENTITY_ID для дальнейшего использования:

export ENTITY_ID=$(starvault login -method=ldap username=w.kluge \
    password='Foo_b_ar123!' -format=json \
    | jq -r '.auth.entity_id')

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

echo $ENTITY_ID
fcf3f7bc-5042-11dd-53f5-917aaede9300

1. Включение метода многофакторной аутентификации при входе в систему

Необходимо разрешить метод многофакторной аутентификации входа, чтобы применить TOTP к методу аутентификации LDAP.

Приложения-аутентификаторы не всегда поддерживают одни и те же алгоритмы шифрования. Вам следует узнать, какие алгоритмы поддерживает ваше предпочтительное приложение-аутентификатор. В документации «Настройка метода TOTP MFA» перечислены алгоритмы, поддерживаемые методом Login MFA TOTP. Приложение Google Authenticator, используемое в этом руководстве, поддерживает SHA256.

Настройте метод MFA TOTP для входа в систему и присвойте его идентификатор метода переменной среды TOTP_METHOD_ID.

TOTP_METHOD_ID=$(STARVAULT_TOKEN=root starvault write identity/mfa/method/totp \
    -format=json \
    generate=true \
    issuer=StarVault \
    period=30 \
    key_size=30 \
    algorithm=SHA256 \
    digits=6 | jq -r '.data.method_id')

Проверьте значение, с помощью команды:

echo $TOTP_METHOD_ID
29a3e898-50e6-5763-7fbe-834df79eea77

2. Генерация QR-кода в приложении-аутентификаторе

Введите следующий код для генерации QR-кода в формате PNG:

STARVAULT_TOKEN=root starvault write -field=barcode \
    /identity/mfa/method/totp/admin-generate \
    method_id=$TOTP_METHOD_ID entity_id=$ENTITY_ID \
    | base64 -d > /tmp/qr-code.png

Вы можете открыть изображение QR-кода из хост-системы разными способами в зависимости от вашей операционной системы. Вы можете использовать пример для Linux, macOS или Windows.

Linux

Если вы используете графическую среду в Linux, откройте изображение QR-кода следующим образом:

xdg-open /tmp/qr-code.png
macOS

Откройте изображение QR-кода:

open /tmp/qr-code.png
Windows

Откройте изображение QR-кода:

start /tmp/qr-code.png

Вы можете отсканировать это изображение с помощью приложения-аутентификатора, чтобы добавить StarVault TOTP. Для этого необходимо использовать приложение Google Authenticator.

3. Создание принудительного использования MFA при входе в систему

Зафиксируйте метод аутентификации LDAP для использования при создании принудительного применения MFA при входе в систему.

LDAP_ACCESSOR=$(STARVAULT_TOKEN=root starvault auth list -format=json \
    --detailed | jq -r '."ldap/".accessor')

Проверьте значение с помощью:

$ echo $LDAP_ACCESSOR
auth_ldap_cf1840a4

Создайте принудительный порядок:

STARVAULT_TOKEN=root starvault write /identity/mfa/login-enforcement/adtotp \
    mfa_method_ids="$TOTP_METHOD_ID" \
    auth_method_accessors=$LDAP_ACCESSOR
Пример вывода:
Успешно! Данные записаны в: identity/mfa/login-enforcement/adtotp

4. Вход в систему с помощью метода авторизации LDAP

Для этого необходимо использовать CLI, чтобы войти в систему с помощью метода LDAP авторизации во второй раз.

$ starvault login -method=ldap username=w.kluge password='Foo_b_ar123!'
Enter the passphrase for methodID "01194a79-e2d9-c038-029d-79b0091cafd0" of type "totp":

Введите код TOTP из приложения аутентификатора, когда появится запрос.

Пример успешного вывода:
Key Value

token

hvs.CAESIE6K0E7BjHv2m1Gj2IAriFhBfUsB6xjtechsRIhL6-wbGh4KHGh2cy5VNDFTZE9XMm96UUN0UDZ1WWtKQm94SkI

token_accessor

SXxDMVRc35h9OBIdbTAf52RO

token_duration

768h

token_renewable

true

token_policies

["default"]

identity_policies

[]

policies

["default"]

token_meta_username

w.kluge

Вы прошли аутентификацию в StarVault с помощью Active Directory. Нажмите exit, чтобы выйти из контейнера.

Логин по коду TOTP также поддерживается при аутентификации в пользовательском интерфейсе StarVault.

Введите адрес: http://127.0.0.1:8200.

В выпадающем меню Method выберите LDAP.

Введите w.kluge в текстовом поле Имя пользователя и Foo_b_ar123! в текстовом поле Пароль, затем нажмите Войти.

Авторизация

5. Вывод

Как администратор, вы узнали, как включить и настроить функцию авторизации входа в систему с помощью метода LDAP авторизации и метода TOTP MFA.

В качестве пользователя вы узнали, как использовать метод входа в систему MFA при аутентификации в StarVault.