Если вы начали глубже изучать Exchange 2007 и SSL, вы уже
могли обнаружить, что не все так просто, как это казалось
ранее. Вы больше не можете просто взять стандартный сертификат
SSL и поставить его на сервер Exchange – если так сделать, все
может работать неправильно, особенно если в сети стоит Outlook
2007.
В сети есть различные статьи, описывающие разнообразные
способы создания сертификатов SSL для Exchange 2007, однако
они часто не учитывают ISA Server. Загвоздка с Exchange 2007 в
том, что SSL используется для большого количества разных
функций, набор которых зависит от версии Outlook и от того,
какая роль сервера установлена на компьютер.
В этой статье мы обсудим распространенный сценарий, где ISA
Server используется перед единственным сервером Exchange 2007
в конфигурации с раздельным DNS. Для сервера Exchange мы
используем сертификат SSL, созданный внутри сети, а для ISA
Server публичный сертификат SSL. Разделение на публичный и
частный сертификаты будет более гибким, что поможет в том
случае, если внутренние требования Exchange поменяются, а
также снизит затраты, так как требования к сертификату для
Exchange 2007 означают, что вы можете просто взять любой
старый сертификат от вашего любимого провайдера.
Чтобы все это заработало, вам не будет нужна огромная
инфраструктура PKI, необходимо лишь, чтобы ISA Server и
серверы Exchange доверяли вашему корневому серверу
сертификатов! Ваши компьютеры-клиенты не обязательно должны
доверять корневому серверу, так как Outlook 2007 НЕ ПРОВЕРЯЕТ
«цепочку доверия» сертификата SSL для запросов адресной
книги.
Начало
Если у вас уже стоит ISA Server перед Exchange 2003, у вас,
возможно, уже есть публичный сертификат SSL, содержащий Common
Name наподобие mail.yourcompany.com что очень неплохо
для начала. Если у вас нет публичного сертификата SSL для
сервера ISA, самое время получить его.
Совет: Основной сертификат SSL подойдет.
Однако старайтесь быть осторожнее с выбором продавца
сертификата, так как Windows Mobile не доверяет некоторым
дешевым провайдерам. Так что, если вы хотите использовать
ActiveSync, вам стоит получить сертификат от поддерживаемого
провайдера, иначе вам придется устанавливать в ваши переносные
устройства новый корень сертификатов, пользующийся доверием,
что может быть весьма утомительно и долго, к тому же, это
невозможно сделать в некоторых заблокированных
устройствах.
В этом сценарии мы будем использовать основной сертификат
SSL от Entrust c Common Name mail.vircom.co.uk. Этот
сертификат должен быть установлен в хранилище сертификатов
компьютера, где стоит ISA Server. Запись EXTERNAL DNS для
хоста MAIL должна разрешать внешние IP на ISA Server.
Хоть в этой статье мы и не вдаемся в хитросплетения
создания правил, требуемых ISA Server, и передачи
аутентификации, знайте, что для ISA Server 2006 вышло
обновление, касающееся публикации Exchange 2007. Убедитесь,
что оно установлено на вашем ISA Server, прежде чем
публиковать любые ресурсы Exchange 2007. Скачать его можно
здесь -Update
for Publishing Microsoft Exchange Server 2007 for Microsoft
Internet Security and Acceleration (ISA) Server 2006. Если
у вас есть существующие правила публикации Exchange 2003,
отключите их и запустите мастер Mail Server Publishing Rule
Wizards для создания новых правил публикации для Exchange
2007. Рекомендуется создать новые правила с помощью мастера,
так как Exchange 2007 использует дополнительные веб-папки,
которые не использовались в Exchange 2003. Веб-прослушиватель
должен использовать авторизацию на базе форм (Forms Based
Authentication) и публичный сертификат SSL.
Требования к SSL сертификату
На данном этапе удаленные клиенты (Веб, Outlook, Windows
Mobileи т.п.) способны разрешать имя и подключаться к внешнему
интерфейсу ISA Server с помощью сертификата SSL, пользующегося
доверием. Следующим шаг – убедиться, что ISA Server может
сделать то же самое с сервером Exchange 2007 – то есть, речь
идет о второй половине «моста SSL». Чтобы сделать это, для
сервера Exchange 2007 нам нужен SSL сертификат, отвечающий
следующим требованиям:
-
Главное имя сертификата должно быть полностью
уточненным именем домена, начинающимся с MAIL, чтобы
обслуживать все службы Exchange 2007. Это имя будет Common
Name, которым в этом сценарии является
MAIL.VIRCOM.CO.UK.
-
Exchange 2007 также самонастраивается для шифрования
TLS с помощью SMTP. Если вы поменяете имя SMTP службы, вам
будет нужен сертификат SSL, соответствующий этому имени,
иначе ваш журнал событий будет переполнен сообщениями об
ошибках. В этом сценарии служба SMTP использует
SMTP.VIRCOM.CO.UK.
-
Для Exchange 2007 в сертификате также должно быть
указано полностью уточненное доменное имя, начинающееся с
имени хоста AUTODISCOVER, если вы хотите использовать новую
службу автообнаружения. В этом сценарии им является
AUTODISCOVER.VIRCOM.CO.UK.
-
Лучше, чтобы доменное имя DNS было также включено в
SAN. В этом сценарии это VIRCOM.CO.UK.
-
Чтобы убедиться, что все другие службы Exchange 2007
продолжают функционировать, рекомендуется добавить полностью
уточненное доменное имя серверов, созданное на базе имени
компьютера. В этом сценарии им будет
VIRCOM07.VIRCOM.CO.UK.
-
Outlook 2007 будет использовать HTTPS для соединения с
адресной книгой на сервере Exchange 2007 – даже в локальной
сети! Это часть грандиозного плана Microsoft по постепенному
выводу публичных папок из использования. Клиент Outlook 2007
будет использовать имя ХОСТА (а не полностью уточненное
доменное) для Exchange 2007, чтобы соединяться со службой
адресной книги через SSL (изменение части хоста URL адресной
книги в Exchange UIэффекта, кажется, НЕ дает). В этом
сценарии имя хоста сервера Exchange будет VIRCOM07.
Примечание: Если Outlook 2007 не сможет найти имя
хоста сервера в сертификате, он выдаст на экран
предупреждение для пользователя – вам это совсем не нужно!
Обратите внимание, Outlook 2007 проверяет лишь имена хостов
и дату подтверждения, он НЕ проверяет цепочку опроса
сертификатов, поэтому корень, пользующийся доверием, НЕ
требуется. Это нужно для того, чтобы позволить работать
самоподписывающемуся сертификату, который создается Exchange
2007 во время установки. Если вы используете предыдущую
версию Outlook, то это не будет проблемой, но учтите это на
будущее!
-
В качестве завершения – у ISA 2006 есть баг, связанный
с именами Common Names и Subject Alternative Names. Когда
ISA Server устанавливает соединение SSL к веб-серверу, в
сертификате которого содержатся имена SAN, он игнорирует имя
CN и согласовывает имя только с ПЕРВОЙ записью SAN! Чтoбы
избежать этого, убедитесь, что ПЕРВОЕ ИМЯ SAN в списке такое
же, как и имя CN, которым в этом сценарии является
MAIL.VIRCOM.CO.UK.
Примечание: В сценарии, где все роли Exchange 2007
расположены не на единственном сервере, все эти требования
могут не применяться к единственному сертификату.
Создание сертификата SSL
Приятной вещью (хоть их и немного) в новом Power Shell,
поставляемом с Exchange 2007, будет то, что вы можете создать
сертификат SSL, не общаясь непосредственно с IIS. Чтобы
создать файл запроса сертификата, запустите Power Shell и
введите следующую команду (соответственно подставив ваши имена
хоста и домена):
New-ExchangeCertificate -GenerateRequest -SubjectName
"DC=vircom, DC=co, DC=uk, O=Vircom, CN=mail.vircom.co.uk"
-DomainName mail.vircom.co.uk, smtp.vircom.co.uk,
autodiscover.vircom.co.uk, vircom.co.uk,
vircom07.vircom.co.uk, vircom07 -FriendlyName "Microsoft
Exchange 2007" -Path c:\mail.vircom.co.uk.req
Это создаст файл запроса сертификата в корне диска C:.
Обратите внимание, что имена SAN в сертификате будут
перечислены в том самом порядке, в котором они были указаны в
этой команде, поэтому позаботьтесь о том, чтобы ПЕРВОЕ ИМЯ SAN
совпадало с именем CN (mail.vircom.co.uk), чтобы гарантировать
то, что ISA Server может доверять сертификату.
Затем направляйтесь на веб-сервер сертификатов Microsoft
(Обратите внимание на проблемы, связанные с использованием
пользовательского интерфейса сайта у пользователей Windows
Vista How to
use Certificate Services Web enrollment pages together with
Windows Vista) и запросите сертификат. Используйте
инструмент администратора CA, чтобы одобрить запрос
сертификата. Затем вернитесь на пользовательский интерфейс в
веб, чтобы загрузить одобренный сертификат в формате BASE 64
на диск C: сервера Exchange 2007, например
c:\mail.vircom.co.uk.cer В консоли Power Shell введите
следующую команду (используя нужно имя файла .cer):
Import-ExchangeCertificate -path
c:\mail.vircom.co.uk.cer
Это завершит создание сертификата SSL. Теперь вы можете
посмотреть на новый сертификат, используя встроенный модуль
Certificates MMC. Хоть сертификат и был создан, нам еще нужно
настроить Exchange, чтобы он смог использовать его.
Настройка Exchange 2007 под новый сертификат SSL
Чтобы настроить Exchange 2007 для использования
сертификата, вам нужен идентификатор (thumbprint) сертификата,
так что сперва нам надо бы узнать, что такое идентификатор
нашего нового сертификата. В консоли Power Shell введите
следующую команду (используя соответствующее имя CN):
Get-ExchangeCertificate -DomainName
"mail.vircom.co.uk"
Примечание: Убедитесь, что вы используете
идентификатор того сертификата веб-сайта, что вы создали, а не
идентификатор самоподписывающегося сертификата, что создается
автоматически в процессе установки MS Exchange.
Для тех сертификатов, что содержат ваше имя CN, будет
выведен список с подробной информацией. Запишите идентификатор
свежесозданного сертификата. В консоли Power Shell введите
следующую команду (используя нужный идентификатор):
Enable-ExchangeCertificate -thumbprint
ED7E626A0A74449F990350349F62EBE6019B04A4 -services
"IIS,SMTP"
Это настроит службы IIS (то есть HTTP) и SMTP в Exchange
2007 для использования нового сертификата. Вы также можете
настроить IMAP, POP и UM (унифицированные сообщения) для
использования особого сертификата, если это необходимо,
вставив “IMAP, POP, UM” в список служб в команде, приведенной
выше. Службам не нужно использовать один и тот же сертификат,
но вы можете так сделать, если хотите. Просто убедитесь, что в
первоначальном запросе сертификата имя хоста правильно
используется, если вы используете разные имена хостов для
разных служб. Например, может потребоваться
imap.vircom.co.uk.
Внимание: Во время тестирования было обнаружено, что
был запущен IISRESET или же Exchange Server, перезагрузивший
этот IIS, иногда случайно возвращается к использованию
первоначального сертификата SSL. Стоит дважды проверить IIS
после перезапуска, чтобы убедиться, что веб-страница
использует новый сертификат.
В рамках конфигурации с раздельным DNS, запись хоста для
MAIL.VIRCOM.CO.UK во ВНЕШНЕЙ зоне разрешается как сервер
Exchange 2007, а НЕ как ISA Server. Это сделано для того,
чтобы ISA Server имел возможность подключиться к серверу
Exchange 2007, используя то же самое имя, что используют
внешние клиенты, что позволяет избежать любых проблем с
переводом имен. Это также означает, что когда клиенты
находятся во внутренней сети, у них есть доступ к одним и тем
же URL с обеих сторон сервера ISA, что куда меньше запутывает
конечного пользователя.
Служба автообнаружения
Если вы хотите использовать новую службу автообнаружения в
Exchange 2007 при работе в Интернет, у вас есть следующие
варианты:
-
Настройте отдельный веб-прослушиватель на ISA Server с
отдельным публичным сертификатом SSL для
AUTODISCOVER.ВАШАКОМПАНИЯ.COM. Настройте ВНЕШНИЙ DNS для
разрешения AUTODISCOVER в IP адрес нового прослушивателя и
используйте новый веб-прослушиватель в правиле ISA,
публикующем функцию автообнаружения. Этот вариант легко
выполним, но он потребует отдельного IP адреса для нового
веб-прослушивателя.
-
Замените ваш существующий публичный сертификат SSL
новым публичным сертификатом wildcard. Тогда вы сможете
использовать тот же веб-прослушиватель на ISA Server. Это
дорогостоящий вариант, и у вас будут проблемы с
использованием устройств Windows Mobile. Однако Windows
Mobile 6 поддерживает сертификаты
wildcard.