Web Application Proxy — товар скоропортящийся

У Web Application Proxy(WAP) в Widnows Server 2012 R2 есть нехорошая особенность: стоит серверу WAP постоять без дела (в выключенном состоянии или без связи с сервером AD Federation Services) пару недель — и он уже сам по себе не заработает. Симпотматика при этом наблюдается следующая: служба WAP не запускается, фиксируя в журнале событий System событие Event ID 7023 от источника Service Control Manager с ошибкой 401 (Unauthorized):
В журнале событий AD FS (Apllications and Services Logs\AD FS\Admin) находим в момент попытки запуска более подробные детали, описывающие ошибку. Прежде всего, это — событие с Event ID 422 от источника AD FS (оно в дальнейшем  фиксируется раз в минуту), из которого мы видим, что ошибка, возвращаемая при неудачном запуске службы, возникает при попытке чтения конфигурации Web Applicaion Proxy, хранящейся в AD FS:

Вслед за этой ошибкой фиксируется (однократно) ошибка с Event ID 394 от того же источника AD FS, сообщающая о невозможности обновления отношения доверия между WAP и AD FS из-за истечения срока действия сертификата, используемого для аутентификации при обращении к AD FS:

Если заглянуть в одноимённый журнал событий на самом сервере AD FS, то, наконец, можно увидеть первопричину всех этих ошибок:


Причина проблемы — устаревание крайне короткоживущего (срок действия — всего две недели) самоподписанного сертификата, используемого для аутентификации WAP на сервере AD FS.  В результате служба WAP не может установить связь с AD FS, а так как конфигурация всех публикаций хранится именно в AD FS, то служба WAP не может стартовать по причине её недоступности. Кончено, при ежедневном использовании WAP такая проблема не возникает — при своевременном взаимодействии WAP с AD FS сертификат вовремя обновляется. Но вот если перерыв всё же возникает  — например, из-за необходимости перевозки настроенного сервера WAP куда-нибудь в филиал или на лабораторном стенде, используемом лишь время от времени — то вышеозначенная проблема имеет все возможности проявиться

К сожалению, нет никакого документированного способа самостоятельно назначить заранее свой сертификат с достаточно длинным сроком действия, чтобы избежать проблемы. Единственный способ бороться с ней — это повторить при её возникновении конфигурирование WAP заново. Так как настройки публикаций WAP хранится в базе данных AD FS, то эти настройки не теряются. Это смягчает остроту проблемы.

Повторное конфигурирование выполнить командой Powershell Install-WebApplicationProxy, которая упомянута в тексте последнего события, на сервере WAP (при выполнении она запросит логин и пароль учётной записи, входящей в группу локальных администраторов на сервере AD FS):

Install-WebApplicationProxy -CertificateThumbprint <thumbprint> -FederationServiceName <String> -FederationServiceTrustCredential (Get-Credential)

Здесь <thumbprint> — это строка, содержащая отпечаток того сертификата, который используется для публикации точки доступа к AD FS (для AD FS proxy). Он не совпадает с отпечатком, содержащимся в вышеприведенных событиях. При типовой установке Web Application Proxy это — отпечаток сертификата самой AD FS, скопированного на сервер WAP вместе с закрытым ключом.

Выполнить повторное конфигурирование WAP можно и с помощью мастера в графическом режиме (как при начальной настройке WAP), однако здесь потребуется небольшая хитрость. Если просто запустить приложение Remote Access Management, то при переходе в узел Configuration\Web Application Proxy мы видим малоинформативное сообщение об ошибке с кодом 0x8007520c (это — код ошибки WinAPI 21004 в форме HRESULT, документацию по которому я не нашёл),

при этом возможность запустить мастер конфигурирования Web Application Proxy отсутствует. Чобы можно было запстиь мастер, нужно предварительно убрать в реестре отметку о том, что конфигурирование было уже выполнено —  установить в значение  параметр реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS\ProxyConfigurationStatus После этого приложение Remote Access Management при заходе в узел WAP предложит запустить мастер конфигурирования.

Собственно, это всё, что я хотел написать по данному вопросу.

Реклама
    • Аноним
    • 29.03.2017
  1. @Аноним
    Прежде, чем заявлять про бред, вам стоили бы разобраться, о чём идёт речь у меня в статье, и о чем — в статьях по вашим ссылкам. Они — не про тот сертификат.
    В статьях по ссылкам описана замена Server Communication Certificate для ADFS, который используется, в частности, в качестве сертификата аутентификации web-сервера ADFS в протоколе HTTPS. Этот сертификат обычно (но не всегда), используется и в WAP (его роль — сертификат аутентификации прокси-сервера для сервера ADFS), кстати, в таком случае именно его отпечаток нужно указать в команде Install-WebApplicationProxy.
    А я писал про другой сертификат — короткоживущий, используемый для аутентификации Web Application Proxy как клиента на сервере ADFS.
    Поняли разницу?

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s