Публикация Exchange Server с помощью ADFS / Web Application Proxy

Публикация Exchange Server поможет в решении задачи удаленного доступа к почтовой инфраструктуре из сети Интернет. Разнообразие средств довольно велико. Среди них присутствуют как коммерческие решения, так и решения с открытым кодом. В рамках данной статьи, будет рассмотрен вариант использования служб федерации Active Directory (ADFS) и их компонента Web Application Proxy.

Публикация Exchange Server с помощью ADFS / Web Application Proxy

Ранее, в 2014 году, я уже затрагивал данную тему в одноименном цикле статей. Тогда преаутентификация достигалась с помощью Integrated Windows Authentication, публикация с помощью WAP. Основная проблема данного метода в том, что сервера WAP должны были присутствовать в домене Active Directory.  Это, в свою очередь, накладывало определенные ограничения и вопросы с точки зрения сетевой безопасности.

С того времени произошло уж очень много интересного в развитии продуктов. Во-первых, начиная с Exchange 2013 SP1 появилась возможность аутентификации в OWA и ECP с помощью ADFS. Во-вторых, сервисы федерации обзавелись новым функционалом безопасности. Это дает хорошее основание переписать материал используя новые возможности продуктов. В более ранних статьях я уже делал обзор и развертывание служб федерации. Они пригодятся, если ранее вы не сталкивались с конфигурированием данного сервиса:

Обзор служб федерации Active Directory (ADFS)

Установка служб федерации Active Directory (ADFS)

Итак, в контексте задачи публикации Exchange Server, компоненты служб федерации будут выполнять следующее:

  1. ADFS ответственен за аутентификацию пользователей в веб-приложениях OWA и ECP. На основе доменной аутентификации будут создаваться пользовательские токены безопасности, которым Exchange Server будет доверять.
  2. На плечи Web Application Proxy возложена задача проксирования запросов аутентификации на сервера ADFS фермы и проксирование https запросов от клиентов к Exchange инфраструктуре. Другими словами, WAP выступает в качестве реверс-прокси сервера.

К процессу публикации стоит относить не только OWA и ECP, но и другие веб сервисы Exchange. Например, веб-каталоги ActiveSync, EWS и другие.  Для их публикации будет использоваться Pass-through метод преаутентификации службами ADFS.

Подготовка служб ADFS к публикации Exchange

Первый шаг состоит в подготовке служб ADFS к публикации Exchange. Но, перед тем как начинать, в Exchange инфраструктуре должны быть корректно настроены URL адреса веб-каталогов OWA и ECP. Если это не сделано, статья “Конфигурирование пространства имен в Exchange Server” поможет вам в этом.

В самом ADFS потребуется создать два новых отношения доверия с проверяющей стороной (Relying Party Trust) для OWA и ECP. В этом поможет PowerShell скрипт, который необходимо выполнить на master ноде:

Не забудьте поменять переменные URL адресов OWA и ECP на собственные.

Результат его работы:

Создание Relying Party Trust для Exchange (OWA / ECP) в ADFS
Создание Relying Party Trust для Exchange (OWA / ECP) в ADFS

Интеграция Exchange инфраструктуры с ADFS

На каждом сервере Exchange c Client Access Services необходимо выполнить еще один PowerShell скрипт:

Обратите внимание, что указаны переменные ADFSSigningCertificateThumbprint и ADFSIssuerURL. Значение первой можно получить в оснастке ADFS:

SSL сертификаты в ADFS оснастке
SSL сертификаты в ADFS оснастке

Открыв свойства сертификата ADFS Signing. Более подробно о типах SSL сертификатов в ADFS можно ознакомится в этой статье.

Получение Thumbprint сертификата ADFS Signing
Получение Thumbprint сертификата ADFS Signing

Этот сертификат необходимо экспортировать и импортировать в доверенные ЦС каждого Exchange сервера.

Значение второй переменной можно получить подставить FQDN фермы ADFS. Выполняем его в Exchange Management Shell.

Результат выполнения скрипта на Exchange сервере
Результат выполнения скрипта на Exchange сервере

Перегружаем IIS командой IISReset.

После перезагрузки веб сервера и его инициализации можно выполнить проверку работоспособности. Перейдем на URL ECP.

Проверка аутентификации в Exchange ECP
Проверка аутентификации в Exchange ECP

Автоматически отработает перенаправление на страницу входа ADFS, где необходимо пройти аутентификацию.

В случае если ADFS Signing сертификат не был импортирован в доверенные ЦС Exchange сервера, будет получена ошибка WrongAudienceUriOrBadSigningCert:

Ошибка WrongAudienceUriOrBadSigningCert при аутентификации с помощью ADFS
Ошибка WrongAudienceUriOrBadSigningCert при аутентификации с помощью ADFS

После добавления сертификата ошибка пропала, и аутентификация в Exchange с помощью ADFS получилась.

Успешная аутентификация в Exchange с помощью ADFS
Успешная аутентификация в Exchange с помощью ADFS

Публикация Exchange с помощью Web Application Proxy

Завершающим шагом будет публикация веб-каталогов Exchange сервера в сеть Интернет. Перейдем на сервер Web Application Proxy и откроем оснастку управления. В ней необходимо запустить мастер добавления новой публикации и выбрать тип ADFS:

Публикация Exchange Server в Web Application Proxy
Публикация Exchange Server в Web Application Proxy

Далее, выбираем тип преаутентификации MSOFBA:

Выбор типа преаутентификации в Web Application Proxy
Выбор типа преаутентификации в Web Application Proxy

На следующей странице выбираем из списка Exchange Control Panel:

Выбор Relying Party в Web Application Proxy
Выбор Relying Party в Web Application Proxy

На завершающем этапе, добавляем конфигурацию публикации:

Конфигурация публикации веб-приложения Exchange в Web Application Proxy
Конфигурация публикации веб-приложения Exchange в Web Application Proxy

Аналогичным образом настраиваем OWA.

Оставшиеся каталоги (RPC, EWS, OAB, Autodiscover), будут опубликованы так же, но с отличием в методе преаутентификации. Они не могут использовать аутентификацию на основе утверждений, поэтому будет использоваться Passthrough. Единственное исключение составит каталог Autodiscover, так как в его случае публикация осуществляется отдельного поддомена autodiscover. Это требование работы механизма, заложенного в процесс автообнаружения конфигурации Exchange.

В перечисленных выше веб-каталогах отсутствует каталог, отвечающий за подключение мобильных клиентов по протоколу ActiveSync. Начиная с версии ADFS 4.0 (Windows Server 2016), в функционале служб федерации появилась поддержка метода аутентификации HTTP Basic. Этот факт позволит выполнять преаутентификацию клиентов службами федерации, а не перенаправлять не аутентифицированные запросы прямиком на Exchange инфраструктуру. О том как это настроить, в скором времени, выйдет отдельная статья.

На этом все. Если у вас возникли какие-либо вопросы, пожалуйста, пишите в комментарии.

5 3 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

8 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Alex
Alex
27.09.2019 11:21

Добрый день,

Спасибо большое за статью. Хотел бы у Вас уточнить:

“Публикация Exchange Server поможет в решении задачи удаленного доступа к почтовой инфраструктуре из сети Интернет. Разнообразие средств довольно велико. Среди них присутствуют как коммерческие решения, так и решения с открытым кодом.”

Какие бы Вы посоветовали решения с открытым кодом, которые могли бы заменить ADFS ?

Alex
Alex
28.09.2019 09:23

Но NGINX Plus платное решения ?

Александр Ткаченко
Александр Ткаченко
30.09.2019 23:23
Ответить на  Alex

да, прошу прощения чуть не то сбросил. Можно использовать бесплатную версию. Вот пример https://gist.github.com/Brainiarc7/439e2cdf1dfc5482a4e9 Но лучшим решением будет все же WAP

Павел
Павел
04.11.2020 15:40

Не сталкивались с такой ошибкой: при доступе в owa через браузер chrome после авторизации на сервере adfs выдает ошибку HTTP ERROR 401.
В остальных браузерах (ie, firefox, opera) все в порядке. ОС win server 2012, exchange 2013.

Ivan R.
Ivan R.
30.12.2020 20:47

при подключении из интернета к OWA нужно публиковать наружу ADFS? Как происходит переадресация?

AAA
AAA
04.05.2021 13:48

Добрый день. В тексте указана статья про адфс и активсинк. Можно на неё ссылочку?