Служба AutoDiscover появилась в релизе сервера Microsoft Exchange 2007 и на неё была возложена задача автоматического конфигурирования клиентских приложений. Вместе с тем, перед администраторами встала задача предоставления клиентам доступа к данной службе. Именно об этом далее и пойдет речь.
Как известно, служба AutoDiscover на серверах Microsoft Exchange 2007/2010 работает по протоколу HTTPS, следовательно, требует наличия на сервере сертификата, более того, для поиска данной службы, клиенты используют четко определенные имена хостов, а это значит, что эти имена должны быть включены в сертификат. Также, ни для кого не секрет, что для того, чтобы включить в сертификат дополнительные имена хостов следует воспользоваться полем SAN (Subject Alternative Name), а оно, в свою очередь, вносит очень весомый вклад в общую стоимость сертификата, в случае, если мы его приобретаем у сторонних компаний. В связи с этим, я предлагаю обсудить в данной статье базовые принципы работы службы Autodiscover и посмотреть на то, как можно опубликовать данную службу имя в сертификате лишь одно имя хоста.
Внимание! Рассматривать вариант с сертификатом, выданным локально, т.е. доменной службой сертификации мы не будем!
1. Клиент находится внутри сети и включен в домен;
2. Клиент не доменный.
1. Клиенты MS Outlook 2007 и старше отправляют LDAP запрос к базе данных Active Directory в поиске всех доступных объектов SCP (Service Connection Point). Фактически, клиентам нужно прочитать два атрибута:
Рис.1: Атрибуты SCP, считываемые доменными клиентами при запросе.
2. На запрос клиент получает список «ближайших» к нему точек Autodiscover в виде соответствующих URL`ов;
3. Клиент пытается скачать XML-файл с настройками, по очереди открывая все URL`ы, полученные из SCP;
4. В случае неудачи, клиент активирует другой алгоритм поиска службы Autodiscover.
1. Клиент пытается разрешить в DNS стандартные URL`ы службы AutoDiscover:
3. В случае очередной неудачи, клиент пытается получить из DNS SRV-запись службы Autodiscover. SRV запись вида_autodiscover._tcp. <smtp-domain> может указывать на любой другой URL, например, тот, который используется для OWA, ActiveSync и т.п. (https://mail. <smtp-domain>/autodiscover/autodiscover.xml)
Вот таким вот не хитрым образом клиенты Outlook 2007/2010 пытаются автосконфигурироваться для работы с сервером Exchange. Уяснив эти моменты можно подумать на тему того, как обойтись без лишнего имени в сертификате для службы AutoDiscover.
1. Используя один сертификат с несколькими именами хостов (с полем SAN):
Публикуем службы OWA, ActiveSync и Outlook Anywhere на адресе, к примеру, https://mail.alexxhost.ru/... а службу AutoDiscover – на адресеhttps://autodiscover.alexxhost.ru/autodiscover/autodiscover.xml
Это рекомендуемый вариант с точки зрения Microsoft Best Practice, но он требует поддержки поля SAN со стороны клиентского приложения.
2. Используя один сертификат без поля SAN:
Здесь мы воспользуемся возможностью поиска службы AutoDiscover через SRV-запись.
Очень удачный и недорогой вариант, в том случае, когда есть возможность использовать SRV-записи. Требует обновления MS Outlook 2007 и внесения изменений в SCP.
3. Используя два разных сертификата без поля SAN:
Публикуем два сайта – один сайт с основными службами на адресе https://mail.alexxhost.ru/... с одним сертификатом, а другой – со службой AutoDiscover на адресеhttps://autodiscover. Alexxhost.ru/autodiscover/autodiscover.xmlс другим сертификатом.
Применяется, если какие-то из клиентов не могут читать поле SAN. По цене получается почти аналогично первому. Требует наличия дополнительного внешнего IP адреса.
4. Используя поиск службу AutoDiscover через HTTP редирект.
По протоколу HTTP публикуем XML-файлhttp://autodiscover.alexxhost.ru/autodiscover/autodiscover.xml и настраиваем на нем редирект наhttps://mail.alexxhost.ru/autodiscover/autodiscover.xml.
Аналогично 3-му пункту требуется дополнительный внешний IP адрес.
Источник: здесь
Внимание! Рассматривать вариант с сертификатом, выданным локально, т.е. доменной службой сертификации мы не будем!
Autodiscover – принцип работы
Если не вдаваться в подробности, то принцип работы службы Autodiscover достаточно прост. Клиент, любым доступным способом, получает XML-файл с настройками и автоконфигурируется согласно им.Поиск настроек клиентским приложением Outlook 2007/2010 происходит по двум основным алгоритмам. Выбор алгоритма зависит от «местоположения» клиента:1. Клиент находится внутри сети и включен в домен;
2. Клиент не доменный.
Примечание: XML-файл публикуется на виртуальном каталоге IIS на сервере клиентского доступа (CAS). Физически данный XML-файл находится в каталоге установки, обычно C:\Program Files\Microsoft\Exchange Server\V14'\Client Access\Autodiscover\
Autodiscover для внутренних доменных клиентов
Клиенты, которые подключены к домену, и которые могут успешно выполнять запросы к базе данных Active Directory, получают информацию об автоматической настройке следующим образом:1. Клиенты MS Outlook 2007 и старше отправляют LDAP запрос к базе данных Active Directory в поиске всех доступных объектов SCP (Service Connection Point). Фактически, клиентам нужно прочитать два атрибута:
- serviceBindingInformation – FQDN CAS сервера в форматеhttps://<YourCAS> /autodiscover/autodiscover.xml
- keywords – указывает сайт, с которым эта SCP ассоциирована. По умолчанию равняется имени сайта, к которому принадлежит CAS.
Примечание: Объекты SCP создаются автоматически в базе ADдля всех серверов Exchange с установленной ролью Client Access (CAS) (см.рис.1).
Рис.1: Атрибуты SCP, считываемые доменными клиентами при запросе.
2. На запрос клиент получает список «ближайших» к нему точек Autodiscover в виде соответствующих URL`ов;
3. Клиент пытается скачать XML-файл с настройками, по очереди открывая все URL`ы, полученные из SCP;
4. В случае неудачи, клиент активирует другой алгоритм поиска службы Autodiscover.
Autodiscover для внешних клиентов
Если обратиться к службе Active Directory не удалось, то поиск службы AutoDiscover продолжается, пока не будет получен первый ответ. Алгоритм следующий:1. Клиент пытается разрешить в DNS стандартные URL`ы службы AutoDiscover:
- https://<smtp-domain>/autodiscover/autodiscover.xml
- https://autodiscover.<smtp-domain>/autodiscover/autodiscover.xml
где <smtp-domain> - это все то, что после @2. Если по протоколу HTTPS стандартные URL`ы не отвечают, то осуществляется попытка выполнить метод GET на указанные выше URL`ы по протоколу HTTP. Этот метод применяется только для редиректа на HTTPS-сайт;
3. В случае очередной неудачи, клиент пытается получить из DNS SRV-запись службы Autodiscover. SRV запись вида_autodiscover._tcp. <smtp-domain> может указывать на любой другой URL, например, тот, который используется для OWA, ActiveSync и т.п. (https://mail. <smtp-domain>/autodiscover/autodiscover.xml)
Примечание: Возможность обнаружения Autodiscover`a черезSRV-запись доступна клиентам с MS Outlook 2007 только после установки обновления - http://support.microsoft.com/kb/939184. Подробнее про данный метод можно почитать здесь -http://support.microsoft.com/?kbid=940881. В MS Outlook 2010 эта функция включена по умолчанию.4. Если все предыдущие попытки не увенчались успехом, то клиент пытается найти локальный XML-файл с настройками. Подробнее про этот метод можно прочитать в библиотеке TechNet`a (http://technet.microsoft.com/en-us/library/cc511507.aspx)
Вот таким вот не хитрым образом клиенты Outlook 2007/2010 пытаются автосконфигурироваться для работы с сервером Exchange. Уяснив эти моменты можно подумать на тему того, как обойтись без лишнего имени в сертификате для службы AutoDiscover.
Варианты публикации Autodiscover`a
Резюмируем варианты публикации службы Autodiscover с точки зрения использования сертификатов. Итак, сервер можно опубликовать:1. Используя один сертификат с несколькими именами хостов (с полем SAN):
Публикуем службы OWA, ActiveSync и Outlook Anywhere на адресе, к примеру, https://mail.alexxhost.ru/... а службу AutoDiscover – на адресеhttps://autodiscover.alexxhost.ru/autodiscover/autodiscover.xml
Это рекомендуемый вариант с точки зрения Microsoft Best Practice, но он требует поддержки поля SAN со стороны клиентского приложения.
2. Используя один сертификат без поля SAN:
Здесь мы воспользуемся возможностью поиска службы AutoDiscover через SRV-запись.
Очень удачный и недорогой вариант, в том случае, когда есть возможность использовать SRV-записи. Требует обновления MS Outlook 2007 и внесения изменений в SCP.
3. Используя два разных сертификата без поля SAN:
Публикуем два сайта – один сайт с основными службами на адресе https://mail.alexxhost.ru/... с одним сертификатом, а другой – со службой AutoDiscover на адресеhttps://autodiscover. Alexxhost.ru/autodiscover/autodiscover.xmlс другим сертификатом.
Применяется, если какие-то из клиентов не могут читать поле SAN. По цене получается почти аналогично первому. Требует наличия дополнительного внешнего IP адреса.
4. Используя поиск службу AutoDiscover через HTTP редирект.
По протоколу HTTP публикуем XML-файлhttp://autodiscover.alexxhost.ru/autodiscover/autodiscover.xml и настраиваем на нем редирект наhttps://mail.alexxhost.ru/autodiscover/autodiscover.xml.
Аналогично 3-му пункту требуется дополнительный внешний IP адрес.
Заключение
На этом моменте немного прервемся и в следующей части продолжим разговор уже непосредственно о том, как озвученные выше варианты воплотить в жизнь.Источник: здесь
Комментариев нет:
Отправить комментарий