Сегодня столкнулся с необходимостью обновления сертификата для 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 и вы увидите аутентификацию уже с новым сертификатом. Безусловно, для корректной работы, в Корневые доверенные центры сертификации всех компьютеров необходимо занести сертификат корневого ЦС вашей организации. Об этом я попозже расскажу в следующих статьях.

Всем удачи :)

Случайная статья