Может ли один экземпляр 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.