Налаштування двофакторної аутентифікації (2FA) у Windows за допомогою MultiOTP

Встановлення та налаштування MultiOTP у домені Active Directory

Спочатку створимо в Active Directory окрему групу та додаймо до неї користувачів, для яких ми вимагатимемо перевірку другого фактору при вході до Windows. Створимо групу за допомогою PowerShell:

New-ADGroup 2FAUsers -path 'OU=Users,DC=domain,DC=ua' -GroupScope Global -PassThru –Verbose
New-ADGroup without2fa -path 'OU=Users,DC=domain,DC=ua' -GroupScope Global -PassThru –Verbose

група “2FAUsers” – для користувачів з 2FA
група “without2fa” — для користувачів без 2FA

Додаємо користувачів до групи:

Add-AdGroupMember -Identity 2FAUsers -Members user1, user2, user3

Створіть в AD нового користувача multiotp_srv, який використовуватиметься multiotp для доступу до AD (з мінімальними привілеями).

$passwd = ConvertTo-SecureString -String "Qwerty1" -AsPlainText -Force
New-ADUser -Name "multiotp_srv" -SamAccountName "multiotp_srv" -UserPrincipalName "multiotp_srv@domain.ua" -Path "OU=ServiceAccounts,OU=Users,DC=domain,DC=ua" –AccountPassword $passwd -Enabled $true

Завантажте архів із файлами MultiOTP із сайту розробників https://download.multiotp.net/.

Відкрийте архів multiotp_5.9.7.1.zip і витягніть з нього каталог windows до папки на локальному диску (C:\MultiOTP).
Відкрийте командний рядок та перейдіть до каталогу з утилітою multiotp.exe:

CD C:\MultiOTP\windows

Наступними командами ми налаштуємо MultiOTP для отримання користувачів з каталогу Active Directory LDAP.

multiotp -config default-request-prefix-pin=0
multiotp -config default-request-ldap-pwd=0
multiotp -config ldap-server-type=1
multiotp -config ldap-cn-identifier="sAMAccountName"
multiotp -config ldap-group-cn-identifier="sAMAccountName"
multiotp -config ldap-group-attribute="memberOf"
multiotp -config ldap-ssl=0
multiotp -config ldap-port=389

REM Адрес контролера домену.

multiotp -config ldap_domain_controllers=ldap://dc-1.domain.ua:389
multiotp -config ldap_base_dn=DC=domain,DC=ua

REM Обліковий запис для аутентифікації multiotp в AD:

multiotp -config ldap_bind_dn=CN=multiotp_srv,CN=Users,DC=domain,DC=ua
multiotp -config ldap-server-password="1Qwerty1"

REM – група користувачів, для яких потрібно включити OTP

multiotp -config ldap-in-group="2FAUsers" 
multiotp -config ldap-without2fa-in-group=”without2fa”
multiotp -config ldap-network-timeout=10
multiotp -config ldap-time-limit=30
multiotp -config ldap-activated=1

REM ключ для доступу до сервера MultiOTP.

multiotp -config server-secret=Qwertyu12!

Виконайте синхронізацію користувачів AD у MultiOTP.

multiotp -debug -display-log -ldap-users-sync

Запустіть із правами адміністратора файл webservice_install.cmd. Це встановить веб-інтерфейс керування MultiOTP.
Зайдіть на веб-інтерфейс http://127.0.0.1:8112/ під обліковий запис admin із паролем 1234 (бажано змінити при вході).

Налаштування двофакторної аутентифікації MultiOTP для користувача домену

У розділі List of users буде доступний список користувачів домену, які були синхронізовані раніше (джерело AD/LDAP).

Виберіть користувача та натисніть Print. Перед вами з’явиться QR код користувача, який потрібно додати до програми-автентифікатора.

Встановіть на смартфон користувача програму Google Authenticator із Google Play або App Store. Запустіть його та відскануйте QR код користувача.
В результаті в програмі з’явиться обліковий запис користувача, в якому кожні 30 секунд генерується новий шестизначний цифровий пароль (тобто другий фактор).

Можна перевірити коректність роботи OTP із веб-інтерфейсу. Перейдіть до розділу Check a user, введіть ім’я користувача та одноразовий пароль.

Встановлення multiOTP CredentialProvider у Windows

Наступний етап – встановлення multiOTP-CredentialProvider на комп’ютери Windows, на яких ви хочете впровадити двофакторну автентифікацію користувачів за допомогою MultiOTP. CredentialProvider можна встановити на всі версії Windows 7/8/8.1/10/11 та Windows Server 2012(R2)/2016/2019/2022.

Завантажте та встановіть multiOTP CredentialProvider з https://download.multiotp.net/credential-provider/ завантажте multiOTPCredentialProvider-5.9.7.1.zip

Запустіть інсталяцію:

  1. Вкажіть IP-сервер, на якому було встановлено multiOTP
  2. Відкрити порт у фаєрволі на сервері та клієнті multiOTP. Відкрити порт у Windows Firewall на сервері можна за допомогою PowerShell: New-NetFirewallRule -DisplayName "AllowMultiOTP" -Direction Inbound -Protocol TCP -LocalPort 8112 -Action Allow
  3. У нижньому полі вкажіть секретне слово з конфігурації multiOTP (multiotp -config server-secret=Qwertyu12!)
  1. Далі виберіть обов’язково “disable 2FA prompt for multiTOP without2FA users”
  1. На наступному кроці я вибрав лише Logon > Only Remote

Перезавантажте Windows Server і спробуйте через RDP підключитися до нього. Тепер після відправлення імені та пароля користувача з’являється додаткове вікно one-time password. Тут користувач повинен ввести одноразовий пароль із програми Authenticator на своєму смартфоні.

Наступного разу я розповім як за допомогою PowerShell генерувати QR код для користувача і відправляти йому на пошту, введенням лише його логіну.

4 thoughts on “Налаштування двофакторної аутентифікації (2FA) у Windows за допомогою MultiOTP

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *