Всё о о Microsoft Exchange Server и электронной почте.

Секреты Autodiscover при публикации Exchange 2007 SP1 на ISA 2006 SP1

На этой неделе я продолжаю тестировать работу Outlook Anywhere и все возникающие проблемки сразу же проверяю в тестовой виртуальной среде. Неожиданные проблемы возникли с механизмом Autodiscover. Все вебсервисы опубликованы через ISA 2006 SP1 и прекрасно работают. Внутри сети Autodiscover работает и тестирование веб сервисов проходит успешно.  Однако, если вручную создать профиль Outlook  и подключиться из Интернет, а затем запустить тестирование  автоконфигурации  (Ctrl+ нажать мышкой на значок Outlook в system tray),  то возникает ошибка. Outlook не может не может найти настройки для автоматического подключения.

image

На этом скриншоте видно, что Outlook получает ошибку 500 при открытии файла https://autodiscover.flowers.ru/autodiscover/autodiscover.xml, хотя имя в DNS существует и указано в SAN сертификате.

image

Если попытаться открыть эту ссылку в браузере, то возникает код ошибки 600 Invalid Request. Это сообщение не является ошибкой в полном понимании этого слова, так и должно быть, т.к. Outlook не просто пытается открыть этот файл. Это говорит о том, что и сертификат и DNS имена сконфигурированы правильно.

image
Дальше эксперименты привели к созданному web listener и опытным путем было выяснено, что если в web listener стоит тип аутентификации «HTML Form Authentication», то Autodiscover из Outlook не работает. Если же тип поменять на  «HTTP Authentication» — «Basic», то autodiscovery извне начинает работать. Создавать два web listener совсем не хотелось, а делать «HTTP Authentication» — «Basic» для входа в OWA тоже не правильно, т.к. пользователь при входе в OWA будет получать окно базовой авторизации, а не красивую форму для ввода имени пользователя и пароля. Я посоветовался с Артемом Проничкиным и он мне пролил свет на механизм  Fallback to Basic authentication в ISA сервере, т.е. ISA понимает User Agent и если клиент не является браузером, то переключается с FBA на Basic.

Выдержка из документации:
Fallback to Basic authentication
By default, when form-based authentication cannot be used with a specific client, ISA Server requires Basic authentication instead.

Но Autodiscover у меня по прежнему не работал. Артем Синицын подсказал, что для Autodiscover лучше сделать отдельное правило публикации. Сделал, не работает. Поиск по Интернету привел на статью, где буквально между строк написано:

“The final change to the Autodiscover rule that is needed is to modify authentication. Click on the Users tab and remove All Authenticated Users. Add the All Users group. There is currently a bug in Exchange 2007 that does not allow ISA 2006 to publish the Exchange 2007 Autodiscover when All Registered Users is selected. Look out for a fix in Exchange 2007 SP1″.

То есть удаляем «All Authenticated Users» и добавляем «All Users»

image

После этих изменений Autodiscover начинает работать извне без использования еще одного web listener. Я пока не понимаю точного механизма и вечером обязательно спрошу у Артема Синицына о том, насколько это критично в плане безопасности. Если у вас есть мысли по этому поводу — пожалуйста, напишите в комментах.

UPDATE:
Вчера поговорил с Артемом и он сказал, что предложенное мной решение самый настоящий костыль, т.е. оно работает, но совсем не безопасно, т.к. не авторизованный трафик идет до CAS сервера и против CAS могут быть применены разного типа атаки. Поэтому к вышеописанному нужно относиться не как к техническому решению, а как к эксперементу. Получается, что для нормальной работы Autodiscover нужен отдельный WEB listener. Если знаете другое решение, плиз, напишите в комментах.

Осталась еще одна дурацкая проблема, после ввода данных при первоначальной настройке профиля в Outlook появляется окно базовой авторизации.

image

Вопрос состоит в том, а зачем Outlook спрашивать еще раз мои учетные данные, если я их ввел выше? Какой смысл тогда вводить пароль? Пока этот вопрос открыт и я надеюсь, что найду на него ответ в ближайшее время.

image

p.s. Просьба жестко не стебаться над моим тестовым доменом flowers.ru, просто захотелось чего-то прекрасного в виртуалках 🙂

Похожие посты:

  • cognize@

    Не стоит забывать про SRV запись — http://support.microsoft.com/kb/940881

  • http://www.exchangerus.ru Pavel Nagaev

    c SRV записью не стал заморачиваться, т.к. пока это был апдейт к Outlook 2007. В SP он вошел?  А что будет делать Windows Mobile? Он понимает SRV записи?

  • cognize@

    Windows Mobile будет работать — http://technet.microsoft.com/ru-ru/library/aa997473.aspx

    «Однако если компания или ISP предпочитают размещать множество доменов электронной почты, Office Outlook 2007 может использовать незашифрованную пересылку HTTP или запись ресурса DNS SRV (эта функция поиска записи DNS SRV включена в Office Outlook 2007 с пакетом обновления 1)» — http://technet.microsoft.com/ru-ru/library/cc511507.aspx

    С установкой SP для офиса надо быть аккуратней — при первом запуске начнётся процесс переиндексации, который займёт большое кол-во времени (если писем много)

  • http://www.exchangerus.ru Pavel Nagaev

    Я спрашивал не о том, что Windows Mobile поддерживает autodiscover, а о том, что WM поддерживает поиск по SRV записям при autodiscover. По ссылке говориться об возможности, но не про SRV.

    «Функция поиска записи DNS SRV включена в Office Outlook 2007 с пакетом обновления 1» вот это хорошо, не знал.

    ящик — 900мб, при переходе замедления не заметил.

  • cognize@

    «_autodiscover._tcp SRV

    Служба: _autodiscover

    Протокол: _tcp

    Приоритет: 0

    Вес: 0

    Порт: 443

    Целевой узел: remote.contoso.com

    Позволяет клиентам электронной почты Office Outlook 2007 с пакетом обновлений 1 (SP 1) и Windows Mobile версии 6.1 автоматически обнаруживать и настраивать функцию Outlook Anywhere (RPC через HTTP).»

    http://technet.microsoft.com/ru-ru/library/cc546055.aspx

    Вот и ответ -)

  • http://www.exchangerus.ru Pavel Nagaev

    Вот, это то, что я хотел услышать. Спасибо.

  • Stanky

    Индексация почтового ящика будет выполняться только в случае автономной работы или наличия подключенного PST-файла и только после установки SP2 😉 ! Кстати говоря, очень его рекомендую — подробности здесь: http://support.microsoft.com/kb/968774/

    Точно могу сказать, что на Windows Mobile 6.0 не работает Autodiscover через SRV-запись. С 6.1 то ли не помню, то ли не проэкспериментировал.

  • cognize@

    Stanky:   у меня нет pst файла и выключен режим автономной работы, однако после установки SP2 индексация шла порядка 7-10 минут (кол-во входящих 5к с хвостиком)

    «Точно могу сказать, что на Windows Mobile 6.0 не работает Autodiscover через SRV-запись. С 6.1 то ли не помню, то ли не проэкспериментировал.» — вы по линкам сходите — там сказано — начиная с WM6.1 рабоатет — а корп наверняка тестировал, прежде чем инфу выкладывать.

  • http://www.exchangerus.ru Pavel Nagaev

    Мне кажется, что в след. версиях  Микрософт забьет на часть механизма autodiscover, а именно поиск сервера по именам  autodiscover. и т.д.,   т.к. SRV записи помогают обойти свистопляску с SAN сертификатами.

  • http://www.exchangerus.ru Pavel Nagaev

    написал апдейт, это не решение, это — костыль. Нормальное решение — создание еще одного web listener с базовой аутентификацией и настройкой на Autodiscover.

  • Oleg Krylov

    Индексация в случае отключенного Cache Mode происходит на стороне сервера, как и сортировка сообщений. Что приводит к лишним I\O, и, как следствие, снижению производительности и увеличению времени отклика.
    WM 6.1 с DNS SRV lookup работает. Проверено.

  • Stanky

    Личнео мне вариант с SRV-записью нравится больше всех! Но, по описанию Microsoft’а, остальные варианты остаются по одной простой причине — не все DNS-сервера поддерживают SRV-записи. Другое дело, что было бы замечательно увидеть в дальнейшем наивысший приоритет у варианта SRV. То есть, сперва проверить SRV,  затем autodiscover.domain.com,   затем domain.com/autodiscover и Redirect.

  • http://www.exchangerus.ru Pavel Nagaev

    Я добавлял в бинд, все арбайтен. Думаю с приоритетом так и будет.

  • Arman Obosyan

    про SRV на Windows Mobile, 
    SRV неработает в WM6.0 , 6.1 , 6.5
    едиственое если в WM7.0 добавят……

  • Maddy

    Павел, на подобные грабли я наступил при использовании OWA и ActiveSync, на одном WebListener. Потом, путем экспериментов пришел в этому же выводу, что и Вы. Но решил, что «все пользователи» это не есть хорошо, взял еще один IP  у провайдера и на нем опубликовал ActiveSync.

  • http://www.exchangerus.ru Pavel Nagaev

    Стоп.  OWA и ActiveSync прекрасно работают на одном weblistener. Не работают Autodiscover и OWA/ActiveSync

  • Maddy

    Значит, у меня был другой косяк. Он был год или полтора назад. Ошибка при открытии страницы была что-то типа «-58979873», в цифрах вру, ибо не помню.