Блокировать альтернативные имена субъектов в ADCS
Я управляю центром сертификации Windows 2008 ADCS и знаю о рисках безопасности при выдаче сертификатов с помощью сетей SAN. Поэтому я протестировал выдачу файла PKCS10 с SAN в запросе, и он выдал сертификат с SAN, когда он должен быть заблокирован.
Чтобы быть уверенным, я использовал команду certutil -setreg policy\EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2 (обратите внимание на минус), чтобы удалить флаг SAN, если он присутствовал и его не было. Образ
Это, однако, блокирует добавление SAN из дополнительных атрибутов запроса при использовании чего-то вроде этого: san:dns=webmail.domainc.com&dns=mail.domainc.com&dns=autodiscover.domainc.com
Так есть ли способ полностью заблокировать SAN от выданных сертификатов независимо от того, где они указаны?
1 ответ
Ну, на самом деле вы уже сделали то, что должны сделать, чтобы предотвратить несанкционированное введение имени субъекта в сертификат через автоматическое утверждение запроса. Пока расширение SAN аутентифицировано (встроено в CSR), можно иметь расширение SAN. Марк Хендерсон был прав в своем комментарии, вы неправильно понимаете проблему. Реальная проблема не в SAN, а в том, как его добавить в CSR. И плохо разрешать SAN из неаутентифицированных атрибутов, потому что они обрабатываются и включаются в сертификат без проверки.
Что еще вы можете сделать: требовать одобрения менеджера CA для всех шаблонов сертификатов, которые используют значение субъекта из входящего запроса (не из Active Directory). Проверка значения SAN для ненадежных источников все еще необходима. Нет необходимости делать это для шаблонов, которые автоматически создают тему из AD, потому что эти шаблоны будут полностью игнорировать информацию о субъекте, содержащуюся в запросе, поэтому они не будут затронуты.