Active Directory Certificate Services — ИТ для бизнеса

Active Directory Certificate Services — ИТ для бизнеса Сертификаты

Автоматический запрос сертификатов

От центра сертификации нет толку, если клиентские компьютеры в вашей сети не имеют к нему доверия и/или не получают сертификаты. При установке ЦС в домене Active Directory по умолчанию должны создаваться групповые политики, которые прописывают доверие клиентов к корневому ЦС и автоматический запрос сертификатов компьютера у него.

Веб-службы регистрации сертификатов

Они же Certificate Enrollment Web Services, если по-английски. Весьма полезная роль, которая позволяет:

  • запрашивать сертификаты пользователями без участия администратора
  • предоставлять по требованию сертификат корневого ЦС
  • выполнять особые уже подготовленные запросы (Custom Request), например для веб-серверов под управлением Linux или других сетевых устройств
  • делать это все через интернет
  • сам Web Enrollment может работать на отличном от ЦС компьютере, что повышает безопасность корневого ЦС

Установка и настройка Web Enrollment проста и тривиальна за исключением следующих моментов

  • в случае установки Web Enrollment на отличный от ЦС компьютер, необходимо обязательно выполнить шаги, описанные в статье TechNet Configuring Delegation Settings for the Certificate Enrollment Web Service Account, иначе служба не будет работать, выдавая следующую ошибку:

Произошла непредвиденная ошибка: Служба центра сертификации (ЦС) не запущена.
An unexpected error has occurred: The Certification Authority Service has not been started.

  • та же ошибка будет выдаваться, если Web Enrollment работает на одном сервере с ISA Server / Forefront TMG, в их системных правилах нужно отключить Enforce strict RPC compliance и разрешить протокол RPC во внутреннюю сеть.
  • при публикации Web Enrollment в интернете необходимо включить требование работы через SSL для веб-приложения CertSrv в консоли IIS

Выбор нового сертификата взаимодействия между сервисами (service communication certificate)

После импорта нужного нам сертификата в консоли администрирования AD FS необходимо указать, что для взаимодействия между сервисами необходимо использовать именно этот сертификат:

1. Запустим оснастку управления AD FS (AD FS Management) и перейдем в узел управления сертификатами:

Про сертификаты:  Защитные и декоративные покрытия и материалы - Престиж Холдинг

2. Справа в меню действий выбираем пункт “Set Service Communication Certificare…”.

3. В появившемся диалоговом окне необходимо выбрать актуальный сертификат и нажать “OK”.

Выпуск сертификата

Мы не будем рассматривать непосредственно процесс выпуска сертификата. Однако, отмечу, что в нашем случае был выпущен бесплатный сертификат от Let’s Encrypt, как рассказано в этой статье.

Запрос сертификата с альтернативным именем

Насущный вопрос при публикации внутренних служб предприятия в интернете — создание сертификатов со списком альтернативных имен DNS (Subject Alternative Name, SAN).

По умолчанию ЦС на Windows Server не настроен на выдачу сертификатов, содержащих SAN. Чтобы включить эту функцию на компьютере с ЦС нужно выполнить:

certutil -setreg policyEditFlags EDITF_ATTRIBUTESUBJECTALTNAME2net stop certsvcnet start certsvc

Запрос через консоль mmc

Начиная с Windows Server 2008 появилась возможность запросить сертификат с SAN через MMC-консоль Сертификаты, для этого…

  • В консоли управления ЦС для шаблона сертификата Веб-сервер назначить права на запрос и чтение для учетки компьютера, запрашивающего сертификат.
  • Компьютер, с которого создается запрос, должен входить в домен, в котором опубликован ЦС
  • Создать запрос по шаблону веб-сервера → в свойствах запроса указать список альтернативных DNS-имен на вкладке Субъект → Дополнительное имя → DNS.

Запрос через утилиту certreq

Более гибким и универсальным способом запроса сертификатов с SAN является следующий, использующий утилиту certreq. Чтобы создать сертификат нужно действовать по следующему алгоритму:

Изменение ssl сертификата в конфигурации

Далее нам необходимо изменить сертификат в конфигурации AD FS.

Для этого нам необходимо знать отпечаток нашего нового сертификата:

Изменим SSL сертификат в конфигурации AD FS:

Set-AdfsSslCertificate –Thumbprint 62ae53ebc1efc7e9db916fced37d1e5840b7acf9

Обобщенные лучшие практики

Приведу пример рациональной реализации PKI на предприятии для поддержки передовых служб Windows Server 2008 R2

  • На контроллере домена развернут корневой центр сертификации
  • Если организации велика, то создано несколько подчиненных ЦС, выделенных для определенных целей (по назначению сертификата, по филиалу организации, для распределения нагрузки…)
  • В групповых политиках настроено доверие к корневому ЦС и автоматический запрос сертификатов доменный компьютеров
  • На пограничном компьютере-члене домена развернуты и опубликованы с помощью Forefront TMG в интернете службы:
    • Web Enrollment для установки сертификата ЦС и запроса личных сертификатов с недоменных компьютеров
    • Online Responder для проверки отзыва сертификатов по протоколу OCSP
  • Опубликованы в интернете с использованием сертификатов с SAN следующие сетевые службы, опирающиеся на использование сертификатов и проверку их отзыва:
    • Remote Desktop Gateway
    • Outlook Web Access
    • DirectAccess
    • SharePoint
Про сертификаты:  Сертификаты | Danfoss | Данфосс

Общие представления о pki

Чем более интегрированной, сложной и защищенной становится инфраструктура на Windows Server, тем больше она полагается в добавок к традиционной Active Directory на PKI (Private Key Infrastructure, переводят как инфраструктура открытого ключа, однако если переводить дословно, то закрытого) для обеспечения доверительных отношений и проверки подлинности между компьютерами, пользователями и службами. Active Directory Certificate Services — это реализация PKI от Microsoft, которая состоит из следующих элементов:

  • Центр сертификации (ЦС, Certification Authority), корневой и подчиненные
  • отношения всеобщего доверия к ЦС
  • выдаваемые ЦС сертификаты для компьютеров, пользователей и служб
  • различные службы поддержки PKI
    • списки отзывов сертификатов (CRL)
    • сетевой ответчик (Online Responder, более прогрессивная альтернатива CRL)
    • Web Enrollment (средство запроса сертификатов через Web)

Проверка корректности установки новых сертификатов

Проверить корректно ли установились все необходимые сертификаты или нет можно указанным ниже способом.

  1. Сначала проверим – корректно ли установился SSL сертификат:
Get-AdfsSslCertificate

Мы видим, что отпечаток сертификата соответствует тому сертификату, который мы установили ранее, т.е. SSL сертификат установился корректно.

2. Далее проверим сертификат (Service Communication):

 Get-AdfsCertificate -CertificateType Service-Communications

Как видно из скриншота выше – установлен именно тот сертификат, который нам нужен.

3. Последним шагом можем выполнить тестовый вход. Для этого в любом браузере перейдите по следующему пути:

Ручная установка сертификата корневого цс

Если в среде Active Directory и локальной сети доверие к корневому центру сертификации настраивается автоматически, то для доверия к ЦС со стороны недоменных удаленных компьютеров необходимо установить сертификат ЦС в их хранилище Доверенные корневые центры сертификации.

Иначе либо будут выдаваться предупреждения о потенциальной опасности подписанного неизвестно кем сертификата, либо вообще соединения с таким сервером будут отклонятся, как, например, в случае с Remote Desktop Services Gateway будет выдаваться такая ошибка:

Установка сертификата в хранилище сертификатов компьютера

После того, как сертификат был выпущен его необходимо установить в локальное хранилище сертификатов компьютера. Для этого выполним импорт сертификата:

1. Запустим мастер импорта и выберем локальное хранилище компьюетра:

2. Укажем путь до файла с сертификатом:

3. Укажем пароль к PFX файлу и скажем, что мы сделаем закрытый ключ экспортируемым:

4. Выберем опцию автоматического определения контейнера в хранилище сертификатов компьютера. В таком случае сертификат импортируется в контейнер “Personal“. Это именно то, что нам нужно:

Про сертификаты:  Сертификат фасадные работы в Люберцах | ОС "Сертификация"

5. Завершим процедуру импорта:

6. В случае успешного импорта мастер импорта сертификата сообщит нам об этом:

Так же мы увидим наш сертификат в контейнере “Личное” локального хранилища сертификатов компьютера:

Через mmc

Открыть MMC с правами администратора » добавить оснастку Сертификаты » выбрать в качестве области Локальный компьютер » импортировать нужный сертификат в хранилище Доверенные корневые центры сертификации. Более подробно в статье TechNet Manage Trusted Root Certificates.

Через командную строку

Потребуется утилита CertMgr, с помощью нее нужно выполнить следующую команду:

certmgr.exe -add -c “с:pathtocert.crt” -s -r localMachine root

Через свойства сертификата

Запустить командную строку с правами админа » вызвать в нейс:pathtocert.crt» откроется окно свойств сертификата » нажать кнопку Установить » отметить галку Показывать физические хранилища » выбрать хранилище для установки сертификата Доверенные корневые центры сертификации » Локальный компьютер.

Заключение

В данной публикации мы выполнили замену SSL сертификата на сервер с AD FS, а также замену сертификата для Service Communication.

Затем мы выполнили шаги для проверки – корректно ли установились все необходимые нам сертификаты или нет.

Проверка отзыва сертификатов

Некоторые сетевые службы (удаленные рабочие столы, DirectAccess, L2TP и SSTP VPN), которые используют сертификаты для проверки подлинности сервера, требуют проверки этих сертификатов на легитимность (но отозваны ли они центром сертификации). В окружении локальной сети с такими проверками проблем не возникает, так как списки отзыва сертификатов опубликованы в Active Directory и по локальным адресам центра сертификации.

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

Не удалось проверить, не был ли отозван этот сертификат.
A revocation check could not be perfomed for the certificate.

Для решения проблемы доступности проверки отзыва сертификатов из интернета необходимо опубликовать любую из следующих служб:

Для работы обоих вариантов необходимо, чтобы в центре сертификации были заблаговременно настроены доступные из интернета адреса этих служб, так как эти адреса жестко прописываются в каждом выдаваемом сертификате.

Оцените статью
Мой сертификат
Добавить комментарий