Может ли один экземпляр ADCS "содержать" более одного пространства имен PKI?

Я хочу сэкономить на лицензии ОС, упростить обновления CRL и иметь более одного экземпляра сертификата на данном сервере.

Для меня это имеет смысл с точки зрения безопасности, потому что у меня есть:

  • Один ЦС, действующий в качестве корневого, который должен публиковать и обновлять CRL для серверов политики (следующий пункт)

  • Существует много, много серверов политик (2-й уровень), которые ограничены ограничениями имен или использованием EKU. Точно так же они должны публиковать много списков CRL и записей AIA.

  • В настоящее время мы оцениваем потребность от 10000 до 50000 серверов политики. Каждый сервер политики будет иметь CRL, хранящийся в хранилище BLOB-объектов Azure, с выделенным контейнером для каждого сервера для масштабируемости ввода-вывода.

Исходя из вывода certutil -ping (а именно параметра config) кажется, что у меня может быть более одной конфигурации на экземпляр ADCS.

Кроме того, некоторые другие параметры Certutil (и соответствующий API) позволяют мне указать, к какому "экземпляру" я хочу подключиться.

/// --- NOTE: The ability to specify an individual config seems to indicate multiple PKIs are possible per box:
PS C:\Windows\system32\CertSrv\en-US> certutil -ping -config "a.Issue01.bitclear.us\Secure Issuer 01a-001"
Connecting to a.Issue01.bitclear.us\Secure Issuer 01a-001 ...
Server "Secure Issuer 01a-001" ICertRequest2 interface is alive (0ms)
CertUtil: -ping command completed successfully.

 /// --- NOTE "Entry 0" implies that more entries are possible
PS C:\Windows\system32\CertSrv\en-US> certutil -v
Entry 0: (Local)
  Name:                         `Secure Issuer 01a-001'
  Organizational Unit:          `Email Privacy'
  Organization:                 `Bitclear LLC'
  Locality:                     `'
  State:                        `'
  Country/region:               `us'
  Config:                       `a.Issue01.bitclear.us\Secure Issuer 01a-001'
  Exchange Certificate:         `'
  Signature Certificate:        `a.Issue01.bitclear.us_Secure Issuer 01a-001.crt'
  Description:                  `'
  Server:                       `a.Issue01.bitclear.us'
  Authority:                    `Secure Issuer 01a-001'
  Sanitized Name:               `Secure Issuer 01a-001'
  Short Name:                   `Secure Issuer 01a-001'
  Sanitized Short Name:         `Secure Issuer 01a-001'
  Flags:                        `13'
  Web Enrollment Servers:
1
4
0
https://a.issue01.bitclear.us/Secure%20Issuer%2001a-001_CES_UsernamePassword/service.svc/CES
0
CertUtil: -dump command completed successfully.

Можно ли разместить более одного PKI на хост ADCS? Как это будет сделано?

За исключением: я помню, что в ходе обсуждения это могло быть возможно в прошлом, но я не уверен, было ли оно реализовано.

Сделать:

Я протестирую эту теорию с помощью пользовательского CertFile и нового имени, когда я выполню команду:

certutil -installcert [-f] [-gmt] [-seconds] [-v] [-config CAMachineName\CAName] [CACertFile]

Возможно, это также как-то связано с "PolicyServers" и "EnrollmentServers", которые могут быть связаны с этой командой. Возможность отделить их от основного экземпляра ADCS очень интересна, и заметка действительно задокументирована.

2 ответа

Насколько я понимаю, вы можете иметь только один экземпляр ADCS на хост и до 3 CA в лесу AD. "\CA Name" больше относится к имени вашего дерева PKI, и его не следует путать с экземплярами типа \INST1, которые можно увидеть в MSSQL Configuration, о чем, я думаю, вы можете подумать.

Хорошей практикой будет разделение ваших ЦС, потому что, если все они находятся на одном хосте, в случае компрометации хоста все ЦС на хосте будут скомпрометированы.

Если у вас в лесу несколько деревьев PKI, вы увидите несколько записей из certutil.

Существует возможность отсоединения сервера политик регистрации с помощью сервера регистрации веб-политик - полезно для сред DMZ, где необходимо выпускать сертификаты извне.

Технически невозможно иметь более одной иерархии PKI на одном сервере, и это плохая идея с точки зрения безопасности, как уже упоминалось (единая точка отказа). Роль ADCS связана с идентификацией сервера в AD, так что единственный способ изменить DN иерархии - удалить роль и начать заново.

Что касается лицензий, я не верю, что автономный корневой CA должен быть чем-то особенным. Технически вы можете сгенерировать ключевой материал на хосте Linux и опубликовать его в AD из своего предприятия, выпускающего CA, если совпадают конечные точки CRL и AIA.

Другие вопросы по тегам