Сегодня столкнулся с необходимостью обновления сертификата для Exchange и понял, что забыл, как правильно это сделать 🙂 Так что данная статья скорее является личной заметкой на будущее, хотя, безусловно, описываемый в ней метод, на мой взгляд, является оптимальным, тем более, что рекомендуется компанией Microsoft.Итак, нам необходимо обновить сертификаты для аутентификации сервера и шифрования трафика, в особенности через OWA и ActiveSync. Конечно вполне можно воспользоваться самозаверенным сертификатом Exchange, однако в нашей организацией развернута структура PKI, и выдача сертификатов с её помощью является более правильным и безопасным решением. В настоящее время я как раз пишу статьи по развертыванию PKI на предприятии, так что заглядывайте почаще, надеюсь на этой неделе хотя бы о планировании и развертывании напишу.
Вернемся к нашим баранам, вернее к сертификатам. В целом, задача сводится к четырем этапам:
- Формирование запроса на выдачу сертификата для внутреннего ЦС;
- Непосредственно получение сертификта;
- Импорт его в организацию Exchange;
- Включение и назначение сертификата службам Exchange, таким как POP, IMAP и т.д.
Наиболее правильным будет получение сертификата типа Subject Alternative Names (SAN), который позволяет, среди прочего, использовать в сертификате как DNS, так и NetBIOS имена почтового сервера. В первую очередь это удобно для самих пользователей, так как у меня, например, пользователи внутри организации могут зайти на OWA как по FQDN, так и по NetBIOS-Name сервера, причем FQDN внутренний и внешний отличаются.
Не все центры сертификации позволяют использовать такие сертификаты, хотя настройка ЦС для этого очень проста – в командной строке сервера, являющегося выдающим центром сертификации, выполните команды:
certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
iis reset /noforce
После этого ЦС сможет принимать запросы и выдавать сертификаты SAN.
Оформляем запрос
На сервере в Exchange Management Shell выполните:
New-Exchangecertificate -domainname mail.domain.corp, domain.corp, domain.com, autodiscover.domain.com, mailserver1.domain.corp, mailserver1 -Friendlyname “Company Mail” -generaterequest:$true -keysize 1024 -path c:\mailservercertrequest.req -privatekeyexportable:$true –subjectname “c=RU, O=Company Corp, CN=mail.domain.com”
Как видно, я включил в запрос все мыслимые имена почтого сервера, который используются, использовал ключ 1024 бита, разрешил его экспорт и указал дополнительный параметр –subjectname, который и является ключевым в запроса SAM сертификата. Значение указываются те, которые вы использовали при настройке рутового ЦС, в крайнем случае их можно посмотреть в самом рутовом сертификате.
Получение сертификата
Открываем WEB-интерфейс нашего ЦС, “Request a certificate” >> “Advanced certificate request” >> “Submit a certificate request or renewal request” В окно вставляете содержимое вашего файла запроса, созданного на предыдущем шаге, выбираете шаблон “WEB-Server” и нажимаете “Submit”. Сохраняете полученный сертификат на диске.
Импорт сертификата на сервер Exchange
Все просто – в EMS набираете:
Import-ExchangeCertificate –path <путь к файлу сертификата>
Сразу скопируйте значение параметра thumbprint, выданного сервером на команду, это пригодится на следующем шаге.
Включение и назначение сертификата
В EMS набираем:
Enable-exchangecertificate -services IMAP, POP, UM, IIS, SMTP -thumbprint A68435BEF8131350KLJH03BA6FF4372D05ACE71L4
Сервисы указываете те, которые будут обслуживаться данным сертификатом, так как можно (и нужно!) создать несколько сертификатов с разными параметрами, например временем отзыва, доменными именами и т.д. Параметр thumbprint указываем тот, что записали на предыдущем шаге.
Все сертификат готов, попробуйте зайти на OWA и вы увидите аутентификацию уже с новым сертификатом. Безусловно, для корректной работы, в Корневые доверенные центры сертификации всех компьютеров необходимо занести сертификат корневого ЦС вашей организации. Об этом я попозже расскажу в следующих статьях.
Всем удачи 🙂
Огромное вам пасибо! а еще посты на эту тему будут в будущем? Очень жду!
Блог очень качественный. Надо бы Вам награду вручить за него или почетный орден. 😉
Спасибо большое за такие слова, для меня они как раз самая большая награда и есть 🙂 Продолжение темы обязательно будет, однако из-за большой нагрузки на работе времени на написание статей немного. Тем не менее я обязательно напишу обо всем, о чем упоминал.
Вопрос вот такой при создании запроса на сертификат для Exchange в строке запроса есть CN=mail.domain.com оно же являеться определяющим для коррекной работы сертификата, что туда нужно именно вписывать если внутренний домен которому принадлежит Exchange domain.local а внешнее зарегестрированное доменное имя для почты corp.ru?
если я правильно понял то этот сертификат для Exchange нужен для правельной работы OWA в нутри локальной сети т.е. домена (domain.local) а например для исы где будет публикация OWA на Exchange там бует сертификат веб сервера на CN=corp.ru я правильно понял или нет?
Объясните пожалуйста.
Спасибо
Один сертификат содержит и внутренние и внешние имена, однако в записи CN=mail.domain.com должен быть указан внешний адрес, так как этот же сертификат вы в дальнейшем будете импортировать на ISA сервере, а при посмотре OWA из внутренне сети ISA не будет задействована.
Спасибо за хороший сайт, побольше бы таких ресурсов!
Спасибо… все получилось.
Кто будет делать по этому мануалу, обратите внимание на то, что кавычки в запросе при копировании вставляются знаком < а нужно "
Для обеспечения доверия к сертификату на различных платформах (например на мобильных устройствах) для данной задачи большинство доверенных центров сертификации разработали сециальные виды сертификатов. Например в линейке COMODO это UCC (Unified Communications Certificate). Получить данные сертификаты можно, например, в foxlaboratory.ru.
Ты лучший – респект тебе и уважуха !!!