Настройка OWA
По инструкции можно настроить двухфакторную аутентификацию только для Outlook Web Access (OWA). При необходимости запрашивать аутентификацию для других ресурсов, выполните настройку для AD FS. Перед настройкой проверьте, что Exchange Server развернут на вашем Windows Server.
Поддержка Exchange Server с версии 2013 и выше.
Шаги, необходимые для настройки двухфакторной аутентификации в OWA:
Двухфакторная аутентификация для бизнеса Контур.ID
Установка адаптера
- Скачайте адаптер из кабинета администратора.
-
Перейдите в папку:
C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa\Bin
Промежуточная директория V15, может меняться в зависимости от версии Exchange Server.
-
Скопируйте файл OWA.Adapter.dll из папки OwaAdapter, которую вы скачали ранее, в директорию:
C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa\Bin
Регистрация адаптера
Регистрация модуля
Встройте KidAuthModule в конвейер запроса IIS, чтобы запрашивать двухфакторную аутентификацию у пользователей.
- Откройте файл web.config в папке: C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa.
- В блоке <modules> добавьте первой строчкой:
<add name="KidAuthModule" type="OWA.Adapter.KidAuthModule" />
Пример web.config<modules> <add name="KidAuthModule" type="OWA.Adapter.KidAuthModule" /> <!-- CasHealthModule must always be the first one in the list --> <add name="CasHealthModule" type="Microsoft.Exchange.Common.ExWebHealthModule,Microsoft.Exchange.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=1111111122222222" /> <add name="HttpRequestFilteringModule" type="Microsoft.Exchange.HttpRequestFiltering.HttpRequestFilteringModule, Microsoft.Exchange.HttpRequestFiltering, Version=15.0.0.0, Culture=neutral, PublicKeyToken=1111111122222222" /> <add name="RoutingUpdateModule" type="Microsoft.Exchange.HttpProxy.Routing.RoutingUpdateModule, Microsoft.Exchange.HttpProxy.Routing, Version=15.0.0.0, Culture=neutral, PublicKeyToken=1111111122222222" /> <add type="Microsoft.Exchange.Security.OAuth.OAuthHttpModule" name="OAuthAuthModule" /> <add type="Microsoft.Exchange.Security.Authentication.BackendRehydrationModule" name="BackendRehydrationModule" /> <add name="ClientsCommonModule" type="Microsoft.Exchange.Clients.Common.ClientsCommonModule" /> <add type="Microsoft.Exchange.Clients.Owa2.Server.Core.OwaModule, Microsoft.Exchange.Clients.Owa2.Server" name="Owa2Module" /> <add type="Microsoft.Exchange.Clients.Owa.Core.OwaModule, Microsoft.Exchange.Clients.Owa" name="OwaModule" /> <add name="exppw" /> </modules>
Кроме случаев, когда требуется соблюдать порядок других модулей, как в примере ниже:Пример web.config с другими модулями<modules> <!-- CasHealthModule must always be the first one in the list --> <add name="CasHealthModule" type="Microsoft.Exchange.Common.ExWebHealthModule,Microsoft.Exchange.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=1111111122222222" /> <add name="KidAuthModule" type="OWA.Adapter.KidAuthModule" /> <add name="HttpRequestFilteringModule" type="Microsoft.Exchange.HttpRequestFiltering.HttpRequestFilteringModule, Microsoft.Exchange.HttpRequestFiltering, Version=15.0.0.0, Culture=neutral, PublicKeyToken=1111111122222222" /> <add name="RoutingUpdateModule" type="Microsoft.Exchange.HttpProxy.Routing.RoutingUpdateModule, Microsoft.Exchange.HttpProxy.Routing, Version=15.0.0.0, Culture=neutral, PublicKeyToken=1111111122222222" /> <add type="Microsoft.Exchange.Security.OAuth.OAuthHttpModule" name="OAuthAuthModule" /> <add type="Microsoft.Exchange.Security.Authentication.BackendRehydrationModule" name="BackendRehydrationModule" /> <add name="ClientsCommonModule" type="Microsoft.Exchange.Clients.Common.ClientsCommonModule" /> <add type="Microsoft.Exchange.Clients.Owa2.Server.Core.OwaModule, Microsoft.Exchange.Clients.Owa2.Server" name="Owa2Module" /> <add type="Microsoft.Exchange.Clients.Owa.Core.OwaModule, Microsoft.Exchange.Clients.Owa" name="OwaModule" /> <add name="exppw" /> </modules>
Настройка модуля
- Откройте файл appsettings.config из скачанной папки OwaAdapter. В файле хранятся данные для настройки установленного файла OWA.Adapter.dll. Подробнее см. Описание файла OWA.
Пример appsettings.config
<configuration> <system.webServer> <modules> <add name="KidAuthModule" type="OWA.Adapter.KidAuthModule" /> </modules> </system.webServer> <appSettings> <add key="kid:api-key" value="ВашApiKey*" /> <add key="kid:url" value="https://kid.kontur.ru" /> <add key="kid:strategy" value="NoOneWithExceptions" /> <add key="kid:groupsExceptions" value="group1;group2" /> <add key="kid:domain" value="domain" /> <!-- Необязательное поле --><add key="kid:serverAddress" value="domain:389" /> <!-- Необязательное поле --> <add key="kid:2fa-marker-expiration" value="08:00:00" /> <!-- Необязательное поле --> <add key="kid:2fa-marker-never-expire" value="false" /> </appSettings> </configuration>
- Cкопируйте и вставьте настройки <appSettings> из appsettings.config в web.config:
<add key="kid:api-key" value="ВашApiKey*" /> <add key="kid:url" value="https://kid.kontur.ru" />
- Настройте политику, исключения по правилам политики и домен.
<add key="kid:strategy" value="NoOneWithExceptions" /> <add key="kid:groupsExceptions" value="group1;group2" /> <add key="kid:domain" value="domain" />
Пример appSettings в web.config<appSettings> <add key="OAuthHttpModule.RunningAtBackend" value="true" /> <!-- PSDirectInvoke settings --> <add key="PSDirectInvokeEnabledModules" value="Logging,LatencyTracker" /> <!-- Specifies the type of protocol that RUM should register itself as. --> <add key="RoutingUpdateModule.ProtocolType" value="OWA" /> <add key="owin:AutomaticAppStartup" value="true" /> <add key="kid:api-key" value="1111111122222222222" /> <add key="kid:url" value="https://kid.example.ru" /> <add key="kid:strategy" value="AllUsersWithExceptions" /> <add key="kid:groupsExceptions" value="Group1" /> <add key="kid:domain" value="example.ru" /> </appSettings>
- Сохраните файл web.config.
Настройка многодоменности
Шаги, необходимые для работы с несколькими доменами:
- Создайте в любом редакторе новый файл с названием
appsettings.json
. -
Настройте конфигурацию с вашими данными, как в примере:
{ "VerificationApiConfiguration": { "ApiKey": "ApiKey***", "VerificationApiUrl": "https://test.ru" }, "PolicyConfiguration": { "Policy": "AllUsersWithExceptions", "Exceptions": { "Domains": { "kid.com": { "Groups": [ "OWATest2" ] } } } }, "ActiveDirectoryConfiguration": { "DomainConfigurations": [ { "DomainSettings": { "Name": "test.com" } }, { "DomainSettings": { "Name": "test2.com" } } ] }, "MarkerConfiguration": { "MarkerExpiration": "08:00:00", "IsMarkerNeverExpire": false } }
- Сохраните файл
appsettings.json
в той же папке, где расположен файлweb.config
.
Настройка двухфакторной аутентификации в OWA завершена.
Обновление OWA
Для предотвращения проблем с реальными пользователями рекомендуется сначала провести обновление в тестовой среде.
Перед началом обновления сделайте резервную копию текущих настроек. Это обеспечит возможность быстро вернуться к исходным параметрам при необходимости.
Процедура обновления OWA включает следующие шаги:
-
В кабинете администратора скачайте актуальный модуль. Это может быть новая конфигурация или существующая, которую вы хотите обновить.
-
Проверьте технические требования. Перед обновлением модуля убедитесь, что установлены следующие компоненты:
- Версия Exchange Server 2013 и выше.
- Microsoft.NET Framework 4.8 и выше.
-
Распакуйте скачанный архив и замените файл OWAAdapter.dll на новый.
- Откройте файл
web.config
в папке C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa и сохраните его, чтобы применить изменения для нового модуля. - Если вы используете несколько доменов, проверьте, что файл
appsettings.json
не изменен.
Таким образом, вы обновите модуль OWA и при этом сохраните текущие настройки.