Настройка двухфакторной аутентификации Winlogon

Описание

Simple2FA Credential Provider добавляет второй фактор (Push-уведомление, TOTP или Telegram-бот) к штатному входу в Windows по паролю. Провайдер работает как обёртка над системным парольным провайдером: пользователь вводит пароль как обычно, после чего подтверждает вход вторым фактором.

Второй фактор запрашивается при входе в систему, разблокировке экрана и подключении по RDP (каждый сценарий включается отдельно в настройках). Если у пользователя второй фактор ещё не настроен, на экране входа выводится QR-код со ссылкой на мастер настройки.

Пароль Windows проверяется локально на рабочей станции и на сервер Simple2FA не передаётся.

Схема работы:

  1. Пользователь выбирает свою учётную запись на экране входа и вводит пароль Windows.
  2. Провайдер проверяет пароль локально. При неверном пароле вход отклоняется сразу — запрос второго фактора не отправляется.
  3. Провайдер запрашивает у сервера Simple2FA метод второго фактора пользователя.
  4. Пользователь подтверждает вход: нажимает подтверждение в Push-уведомлении или Telegram-боте либо вводит код TOTP в поле на экране входа.
  5. После успешной проверки обоих факторов Windows завершает вход.

Требования

  • Windows 10 версии 1809 и новее либо Windows 11 (x64 или ARM64);
  • права администратора на рабочей станции;
  • сетевой доступ рабочих станций к серверу Simple2FA по HTTPS.

Дополнительные среды выполнения (VC++ Redistributable и т.п.) на целевых машинах не требуются.

Подготовка в Simple2FA

Войдите в административную панель локального модуля Simple2FA. Перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:

  • Название: Вход в Windows (или любое удобное).
  • Протокол: HTTP.
  • API Key: ключ ресурса, который будет указан в настройках провайдера на рабочих станциях. Создается автоматически.
  • Проверять первый фактор: выключить — пароль Windows проверяется локально на рабочей станции и в Simple2FA не передаётся.

Также убедитесь, что:

  • в глобальных настройках указан корректный API key для связи локального модуля с облаком;

Настройка пакета установки

Пакет установки содержит папку installer со скриптами, файлом настроек, библиотекой провайдера и шаблонами для групповых политик. Перед установкой заполните файл настроек installer\install.settings.psd1:

@{
    BackendBaseUrl      = 'https://2fa.corp.example'   # URL сервера Simple2FA, без / в конце
    ApiKey              = 'REPLACE_WITH_RESOURCE_API_KEY'

    OfflineMode         = 'open'    # open: вход по паролю при недоступном сервере; closed: запрет
    EnrollPolicy        = 'block'   # block: QR и запрет входа; grace: QR и разрешение входа
    UiLanguage          = 'ru'      # ru | en

    HideOtherProviders  = $true     # скрыть пароль/PIN/Hello/биометрию; требует перезагрузки
    VerifyPasswordFirst = $true     # проверять пароль Windows до второго фактора
    RequireOnUnlock     = $true     # второй фактор при разблокировке
    RequireOnRdp        = $true     # второй фактор при входе по RDP
    UacMode             = $false    # второй фактор при повышении прав (UAC)
}

Основные параметры:

  • BackendBaseUrl — адрес сервера Simple2FA;
  • ApiKey — API Key из карточки ресурса Simple2FA;
  • OfflineMode — поведение при недоступном сервере: open разрешает вход по одному паролю, closed запрещает вход;
  • EnrollPolicy — поведение для пользователей без настроенного второго фактора: block показывает QR-код и блокирует вход, grace показывает QR-код и разрешает вход;
  • HideOtherProviders — скрывает остальные способы входа (PIN, Windows Hello, отдельную плитку пароля), закрывая обход второго фактора через «Параметры входа»; вступает в силу после перезагрузки.

Установка на одну машину

Запустите установку с автоматическим повышением прав (запрос UAC появится сам):

powershell -ExecutionPolicy Bypass -File .\installer\run_install.ps1

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

powershell -ExecutionPolicy Bypass -File .\installer\run_install.ps1 `
  -BackendBaseUrl https://2fa.corp.local -ApiKey "<Resource.api_key>"

Журнал последней установки сохраняется в installer\install-last.log.

Установщик идемпотентен: если та же версия и те же настройки уже применены, он завершается без изменений. После установки с HideOtherProviders требуется перезагрузка.

Важно: перед развёртыванием на парк машин проверьте установку на снимке виртуальной машины — некорректно настроенный провайдер входа может заблокировать доступ к системе.

Развёртывание через групповые политики

Провайдер устанавливается на парк машин startup-скриптом групповой политики:

  1. Скопируйте папку installer из пакета установки в каталог политики в SysVol.
  2. Заполните install.settings.psd1.
  3. В редакторе GPO откройте Computer Configuration → Policies → Windows Settings → Scripts (Startup/Shutdown) → Startup → PowerShell Scripts → Add и укажите install.ps1. Параметры не требуются — они берутся из файла настроек.
  4. Примените политику и перезагрузите машины.

Благодаря идемпотентности установщика скрипт можно оставить выполняться при каждой загрузке. В составе пакета также поставляются шаблоны ADMX/ADML для управления параметрами через редактор групповых политик.

Проверка работы

  • Заблокируйте экран или выйдите из системы,
  • Выберите свою учётную запись и введите пароль Windows (первый фактор),
  • Получите запрос второго фактора (Push, TOTP или Telegram-бот),
  • Подтвердите второй фактор,
  • После подтверждения вход в Windows будет выполнен.

Результат каждой попытки входа доступен в веб-консоли Simple2FA в разделе «Попытки авторизации».

Для диагностики на рабочей станции используйте скрипт из состава пакета:

powershell -ExecutionPolicy Bypass -File .\installer\diagnose.ps1

Скрипт выводит версию провайдера, состояние регистрации, текущую конфигурацию и последние события журнала приложений.

Безопасность

  • Пароль Windows проверяется локально и на сервер Simple2FA не передаётся.
  • Неверный пароль отклоняется до отправки второго фактора — Push и Telegram-подтверждения не приходят на чужие попытки входа.
  • Секреты в журналы не записываются.
  • Режим OfflineMode=closed запрещает вход при недоступном сервере — для сценариев, где доступность второго фактора критична.

Ограничения

  • Вход через плитку «Другой пользователь» (без выбора учётной записи) не поддерживается.
  • При использовании TOTP вход выполняется в два нажатия: сначала пароль, затем код. Push и Telegram подтверждаются одним нажатием после ввода пароля.

Удаление

powershell -ExecutionPolicy Bypass -File .\installer\uninstall.ps1

Скрипт снимает регистрацию провайдера, удаляет каталог установки и возвращает стандартные способы входа. После удаления рекомендуется перезагрузка.

Смотрите также:

Связаться с нами

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

Телефон: +7 (495) 120-01-18

Отдел продаж: sales@simple2fa.ru

Поддержка: support@simple2fa.ru

Заполняя форму, вы соглашаетесь на обработку персональных данных.

Телефон: +7 (495) 150-80-59

Отдел продаж: sales@simple2fa.ru

Поддержка: support@simple2fa.ru