# Двухфакторная аутентификация для Outlook Web Access (OWA) ## Описание При входе в Outlook Web Access (OWA) пользователи проходят двухэтапную аутентификацию: вводят логин и пароль (первый фактор) и подтверждают вход вторым фактором. После успешной проверки логина и пароля OWA инициирует проверку второго фактора через IIS-адаптер Simple2FA. Схема работы: 1. Пользователь открывает сайт Outlook Web Access. 2. OWA запрашивает логин и пароль, проверяет корректность учётных данных и создаёт пользовательскую сессию. 3. IIS-адаптер Simple2FA проверяет наличие авторизованной сессии и перенаправляет пользователя на проверку второго фактора. 4. Пользователь подтверждает вход. 5. После успешной проверки пользователь возвращается в OWA и получает доступ к почте. ## Подготовка в Simple2FA Войдите в панель администратора локального инстанса, перейдите в раздел «Настройка ресурсов» и создайте новый ресурс: | Поле | Значение | | --- | --- | | Название | OWA (или любое удобное) | | Протокол | HTTPS | | Флаг проверки первого фактора | Отключен (первый фактор проверяет OWA) | | Использовать кеширование сессий | Включить, если необходимо, чтобы у пользователя после успешного входа не запрашивался второй фактор в течение указанного времени | | Длительность кеша | Рекомендуемое значение — 60 минут | В глобальных настройках убедитесь, что указан корректный API-ключ организации для связи локального инстанса с облаком. ## Требования - **ОС:** Windows Server 2016 или новее - **Exchange:** Exchange Server 2016/2019 с Outlook Web Access - Доступ серверов Exchange, на которые устанавливается адаптер, к бэкенду локального инстанса по HTTPS (TCP 443) - Доступ рабочих станций пользователей к `access.simple2fa.ru` по HTTPS (TCP 443) - Корректное системное время (NTP) на серверах Exchange и на бэкенде локального инстанса Без доступа к указанным хостам установка завершится успешно, однако двухфакторная аутентификация работать не будет. ## На какие серверы Exchange устанавливать адаптер Адаптер устанавливается на **все серверы Exchange с почтовыми базами данных** (mailbox-серверы). Это связано с архитектурой Exchange: вход пользователя в OWA обрабатывает тот сервер, на котором находится активная копия базы данных его почтового ящика. Серверы клиентского доступа (прокси-серверы за балансировщиком) запросы OWA не обрабатывают, а только пересылают на нужный mailbox-сервер — установка адаптера на них не даёт эффекта, хотя и завершается без ошибок. Если серверов с базами несколько, адаптер необходим на каждом из них: входы разных пользователей обслуживаются разными серверами, а при переключении активной копии базы (например, при обслуживании сервера в DAG) обработка входов переезжает на другой сервер. Определить серверы для установки можно командами в Exchange Management Shell: ```powershell Get-ExchangeServer | ft Name, ServerRole, AdminDisplayVersion Get-MailboxDatabaseCopyStatus * | ft Name, Status ``` Адаптер устанавливается на все серверы, где размещены копии почтовых баз. Типичный признак того, что адаптер установлен не на те серверы: установка прошла успешно, но вход в OWA происходит без запроса второго фактора (у всех или у части пользователей), а журнал адаптера на сервере установки пуст. ## Установка IIS-адаптера Шаги установки выполняются на каждом mailbox-сервере. **1) Распакуйте дистрибутив** - Распакуйте архив на сервер Exchange. **2) Настройте install.config.ps1** Откройте файл конфигурации: ```powershell notepad install.config.ps1 ``` Укажите параметры подключения: - `$ApiUrl` — адрес бэкенда локального инстанса (`local-backend`). Обратите внимание: это не адрес панели администратора — при [установке инстанса](../../start/local-instance.md) они задаются как `DOMAIN_API` и `DOMAIN_ADMIN`. Проверить корректность адреса можно запросом с сервера Exchange — в ответ должен вернуться статус 200: ```powershell Invoke-WebRequest -Uri "https://<адрес бэкенда локального инстанса>/health" -UseBasicParsing ``` - `$ResourceApiKey` — API-ключ ресурса OWA; - `$UsernameMapMode` — режим сопоставления пользователей (`localpart` или `upn`). **3) Установите адаптер** Откройте PowerShell от имени администратора и выполните: ```powershell cd C:\Orbsoft2FA-Owa Set-ExecutionPolicy -Scope Process Bypass .\install.ps1 ``` Повторите шаги на остальных mailbox-серверах. ## Проверка работы - Откройте страницу Outlook Web Access (OWA) в приватном окне браузера (чтобы исключить влияние ранее созданной сессии OWA) - Введите логин и пароль Active Directory - Дождитесь появления страницы подтверждения второго фактора Simple2FA - Подтвердите вход - После успешной проверки доступ к почте будет предоставлен Результат каждой попытки входа доступен в панели администратора, в разделе [«Попытки авторизации»](../../admin/auth-attempts.md). ## Диагностика Если после установки второй фактор не запрашивается: - Убедитесь, что адаптер установлен на всех серверах с почтовыми базами (см. раздел «На какие серверы Exchange устанавливать адаптер»). Вход конкретного пользователя обрабатывает сервер с активной копией базы его ящика — определить его можно командой `Get-Mailbox <пользователь> | ft Name, Database, ServerName`. - Повторите вход в приватном окне браузера: действующая сессия OWA или кеш сессий может пропускать вход без повторного запроса фактора. - Просмотрите журнал адаптера на сервере, обрабатывающем вход (журнал Application, источник событий `Orbsoft2FA-IIS`): ```powershell $since = (Get-Date).AddHours(-1) Get-WinEvent -FilterHashtable @{ LogName = 'Application' ProviderName = 'Orbsoft2FA-IIS' StartTime = $since } | Sort-Object TimeCreated | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap ``` При обращении в техническую поддержку приложите вывод журнала и значения параметров из `install.config.ps1` (без API-ключа). ## Удаление адаптера Для удаления адаптера выполните: ```powershell .\uninstall.ps1 ``` ## Смотрите также - [Рабочие столы и Windows](index.md) - [Начало работы](../../start/index.md) - [Сценарии использования](../../start/scenarios.md)