<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Vadims Podans's blog - Security | PKI | OCSP</title>
    <link>http://www.sysadmins.lv/</link>
    <description>PowerShell powered</description>
    <image>
      <url>http://www.sysadmins.lv/images/imgusr/bilde.jpg</url>
      <title>Vadims Podans's blog - Security | PKI | OCSP</title>
      <link>http://www.sysadmins.lv/</link>
    </image>
    <language>en-us</language>
    <copyright>Vadims Podāns</copyright>
    <lastBuildDate>Sat, 03 Apr 2010 13:09:04 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>vpodans@sysadmins.lv</managingEditor>
    <webMaster>vpodans@sysadmins.lv</webMaster>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=40f691e6-6649-45ed-a39d-9df5a3b65a3d</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,40f691e6-6649-45ed-a39d-9df5a3b65a3d.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,40f691e6-6649-45ed-a39d-9df5a3b65a3d.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=40f691e6-6649-45ed-a39d-9df5a3b65a3d</wfw:commentRss>
      <slash:comments>19</slash:comments>
      <title>Устанавливаем Certification Authority (часть 4) — Конфигурирование Subordinate Issuing CA</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,40f691e6-6649-45ed-a39d-9df5a3b65a3d.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,40f691e6-6649-45ed-a39d-9df5a3b65a3d.aspx</link>
      <pubDate>Sat, 03 Apr 2010 13:09:04 GMT</pubDate>
      <description>&lt;div&gt;&lt;P&gt;Ссылки на другие материалы из этой серии:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class=TitleLinkStyle href="http://www.sysadmins.lv/PermaLink,guid,bb8a9447-9b14-4540-add9-6df308129edd.aspx" rel=bookmark&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt;Устанавливаем Certification Authority — Подведение итогов&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;В предыдущей части (&lt;A href="http://www.sysadmins.lv/PermaLink,guid,eadef99d-831f-4ea1-8ecd-8be19a40e0fe.aspx"&gt;Устанавливаем Certification Authority (часть 3) — Установка Subordinate Issuing CA&lt;/A&gt;) мы рассмотрели процесс установки Online Issuing Enterprise Subordinate CA, который так же выполняет роль Policy CA. Теперь нам осталось осталось сконфигурировать этот центр сертификации и параметры в Active Directory. По аналогии с конфигурированием Offline Root CA мы будем использовать post-installation script.&lt;/P&gt;
&lt;H1 align=center&gt;Step 1 — developing post-installation script&lt;/H1&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: Создаём папку в корне диска C, где будут храниться CRT и CRL файлы &lt;BR&gt;&lt;STRONG&gt;md C:\CertData&lt;/STRONG&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: &lt;BR&gt;::&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; конфигурирование параметров CA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :: &lt;BR&gt;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000&gt;&lt;FONT size=2 face=Consolas&gt;:: Задаём точки публикации CRL файлов и ссылки, публикуемые в издаваемых сертификатах. То же самое и для CRT файлов. &lt;BR&gt;&lt;STRONG&gt;certutil -setreg CA\CRLPublicationURLs "65:%windir%\system32\CertSrv\CertEnroll\%%3%%8%%9.crl\n65:C:\CertData\{Adatum}_PICA%%8%%9.crl\n6:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT size=2 face=Consolas&gt;http://www.{adatum.com}/pki/{Adatum}_PICA%%8%%9.crl"&lt;/FONT&gt; &lt;BR&gt;&lt;FONT size=2 face=Consolas&gt;certutil -setreg CA\CACertPublicationURLs "1:%windir%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n2:&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;http://www.{adatum.com}/pki/{Adatum}_PICA%%4.crt\n32:http://www.{adatum.com}/ocsp"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: Поскольку мы не можем управлять публикацией CRT файлов, мы его &lt;BR&gt;:: переименовываем в нужное имя и копируем в папку CertData &lt;BR&gt;&lt;STRONG&gt;ren %windir%\system32\CertSrv\CertEnroll\*.crt {Adatum}_PICA.crt &lt;BR&gt;copy %windir%\system32\CertSrv\CertEnroll\{Adatum}_PICA.crt C:\CertData&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: задаём максимальный срок действия издаваемых сертификатов равным&amp;nbsp;5 лет&lt;BR&gt;&lt;STRONG&gt;certutil -setreg CA\ValidityPeriodUnits 5&lt;BR&gt;certutil -setreg CA\ValidityPeriod "Years"&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: Задаём параметры публикации CRL (повторяем, что было указано в CAPolicy.inf) &lt;BR&gt;&lt;STRONG&gt;certutil -setreg CA\CRLPeriodUnits 5 &lt;BR&gt;certutil -setreg CA\CRLPeriod "Days" &lt;BR&gt;certutil -setreg CA\CRLDeltaPeriodUnits 12 &lt;BR&gt;certutil -setreg CA\CRLDeltaPeriod "Hours" &lt;BR&gt;certutil -setreg CA\CRLOverlapPeriod "Days" &lt;BR&gt;certutil -setreg CA\CRLOverlapUnits 1&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: Включаем наследование Issuer Statement в издаваемых сертификатах &lt;BR&gt;&lt;STRONG&gt;certutil -setreg Policy\EnableRequestExtensionList +"2.5.29.32"&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: Включаем DiscreteSignatureAlgorithm &lt;BR&gt;&lt;STRONG&gt;Certutil -setreg CA\csp\DiscreteSignatureAlgorithm 1&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: включаем полный аудит для сервера CA &lt;BR&gt;&lt;STRONG&gt;certutil -setreg CA\AuditFilter 127&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: &lt;BR&gt;::&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; конфигурирование параметров AD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :: &lt;BR&gt;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: задаём контекст конфигурации для сервера CA. Контекст конфигурации &lt;BR&gt;:: должен указывать на &lt;STRONG&gt;*корневой домен*&lt;/STRONG&gt; текущего леса. &lt;BR&gt;&lt;STRONG&gt;certutil -setreg CA\DSConfig "CN=Configuration,DC={adatum},DC={com}"&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: публикуем сертификат CA в AD &lt;BR&gt;&lt;STRONG&gt;certutil -dspublish -f C:\CertData\{Adatum}_PICA.crt Subca &lt;BR&gt;certutil -dspublish -f C:\CertData\{Adatum}_PICA.crt NTAuthCA&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;&lt;STRONG&gt;net stop certsvc &amp;amp;&amp;amp; net start certsvc&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#804000 size=2 face=Consolas&gt;:: Публикуем новый CRL в новую локацию. &lt;BR&gt;&lt;STRONG&gt;certutil –CRL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; как и раньше, вы должны заменить на свои значения всё, что помещено в фигурные скбоки &lt;STRONG&gt;{}&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H1 align=center&gt;Step 2 — Configuring Web Server&lt;/H1&gt;
&lt;P&gt;Как вы знаете, у нас будут использоваться HTTP ссылки для скачивания файлов CRT/CRL. Для этого нужно настроить соответствующим образом ваш корпоративный веб-сервер. А именно, создать виртуальную директорию (внутри сайта с заголовком www.adatum.com) и в качестве физического пути указать на папку C:\CertData.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; если ваш веб-сервер работает под управлением IIS 7 и выше, убедитесь, что сервер настроен на двойной эскейпинг для корректного восприятия знака плюс (+) в ссылках. DoubleEscaping можно включить руководствуясь этой ссылкой: &lt;A href="http://technet.microsoft.com/en-us/library/cc754791(WS.10).aspx" target=_blank&gt;Configure Request Filters in IIS 7&lt;/A&gt;.&lt;/P&gt;
&lt;H1 align=center&gt;Step 3 — Setup OCSP Responder&lt;/H1&gt;
&lt;P&gt;В нашем сценарии предполагается, что мы будем использовать OCSP Responder для Issuing CA и, опционально, для Root CA. OCSP Responder для Issuing CA настраивается следующим образом:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx"&gt;OCSP (часть 1)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx"&gt;OCSP (часть 2)&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; пост-установочный скрипт уже сконфигурировал расширение AIA включив ссылку на OCSP. Следовательно, настройку этого расширения на сервере CA можно опустить.&lt;/P&gt;
&lt;P&gt;Когда OCSP для Issuing CA будет сконфигурирован, можно дополнительно сконфигурировать его и для Root CA (при условии, что корневой CA настроен на публикацию ссылок OCSP в издаваемых сертификатах. Об этом см. секцию Step 3 статьи &lt;A href="http://www.sysadmins.lv/PermaLink,guid,7cddb78e-fece-4d8a-8c85-813055311492.aspx"&gt;Устанавливаем Certification Authority (часть 2) — Установка Offline Root CA&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;Если в post-installation скрипте вы указали ссылку на OCSP, сертификат Issuing CA её должен содержать в расширении &lt;STRONG&gt;Authority Information Access&lt;/STRONG&gt;. Для обеспечения работоспособности этой ссылки необходимо создать ещё одну конфигурацию в OCSP. Для этого выполните следующее:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Откройте оснастку &lt;STRONG&gt;Online Responder&lt;/STRONG&gt; из папки &lt;STRONG&gt;Administrative Tools&lt;/STRONG&gt;. 
&lt;LI&gt;Выделите &lt;STRONG&gt;Revocation configuration&lt;/STRONG&gt; и в меню &lt;STRONG&gt;Action&lt;/STRONG&gt; выберите &lt;STRONG&gt;Add Revocation Configuration&lt;/STRONG&gt;. 
&lt;LI&gt;Откроется мастер создания конфигурации отзыва. Ознакомьтесь с предстоящими шагами и нажмите &lt;STRONG&gt;Next&lt;/STRONG&gt;. 
&lt;LI&gt;Укажите имя новой конфигурации. Например: &lt;STRONG&gt;RootCA 1&lt;/STRONG&gt;. Единичка будет означать номер ключа CA для которого настроена конфигурация. Дело в том, что при каждом обновлении сертификата CA с новой ключевой парой вам необходимо будет создавать новую конфигурацию в OCSP. Нажмите &lt;STRONG&gt;Next&lt;/STRONG&gt;. 
&lt;LI&gt;На странице &lt;STRONG&gt;Select CA Certificate Location&lt;/STRONG&gt; выберите &lt;STRONG&gt;Import certificate from a file&lt;/STRONG&gt; и нажмите &lt;STRONG&gt;Next&lt;/STRONG&gt;. 
&lt;LI&gt;На следующей странице укажите путь к файлу сертификата корневого CA и нажмите &lt;STRONG&gt;Next&lt;/STRONG&gt;. 
&lt;LI&gt;На странице &lt;STRONG&gt;Select Signing Certificate&lt;/STRONG&gt; укажите &lt;STRONG&gt;Manually select signing certificate&lt;/STRONG&gt; и нажмите &lt;STRONG&gt;Next&lt;/STRONG&gt;. 
&lt;LI&gt;На странице &lt;STRONG&gt;Revocation Provider&lt;/STRONG&gt; вы можете получить сообщение об ошибке, которая сообщает о том, что мастер не смог получить сведения о конфигурации CA. Это связано с тем, что наш Offline Root CA не подключен к сети и вообще находится в сейфе. Поэтому нажмите кнопку &lt;STRONG&gt;Provider&lt;/STRONG&gt; и укажите ссылку на CRL корневого центра сертификации. По условиям нашего сценария, ссылка будет иметь следующий вид: &lt;BR&gt;&lt;FONT color=#804000&gt;http://www.adatum.com/pki/Adatum_RCA.crl&lt;/FONT&gt; &lt;BR&gt;&lt;BR&gt;Поскольку корневой CA не использует Delta CRL, оставьте это поле пустым. Так же вы можете настроить периодичность, с которой OCSP будет освежать свой внутренний кеш. Например, можно указать каждые 10 минут. Нажмите &lt;STRONG&gt;Ok&lt;/STRONG&gt; и вернитесь в мастер создания конфигурации OCSP. 
&lt;LI&gt;Нажмите &lt;STRONG&gt;Finish&lt;/STRONG&gt; для завершения работы мастера. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Вы вернётесь обратно в оснастку OCSP Responder и увидите, что наша созданная конфигурация выдаёт ошибку, поскольку нет сертификата подписи, который будет использоваться для подписи ответов OCSP. Для устранения этого недостатка, разверните секцию &lt;STRONG&gt;Array Configuration&lt;/STRONG&gt; и выделите нужный респондер (предполагается, что это тот же самый сервер, на котором вы настраиваете OCSP). В центральной панели выберите конфигурацию &lt;STRONG&gt;RootCA 1&lt;/STRONG&gt; и в панели &lt;STRONG&gt;Actions&lt;/STRONG&gt; нажмите на &lt;STRONG&gt;Assign Signing Certificate&lt;/STRONG&gt;. Откроется список пригодных сертификатов. Скорее всего он там будет один. Поэтому выберите его и нажмите &lt;STRONG&gt;Ok&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Теперь выделите &lt;STRONG&gt;Array Configuration&lt;/STRONG&gt; и в меню &lt;STRONG&gt;Action&lt;/STRONG&gt; нажмите &lt;STRONG&gt;Refresh Revocation Data&lt;/STRONG&gt;. И вот что вы должны увидеть в конечном итоге:&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="OCSP Responder configurations" border=0 alt="OCSP Responder configurations" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/CertificationAuthority3SubordinateIssuin_AE63/ocsp_7dc517fc-648c-4661-8966-1b560f7e9479.png" width=771 height=344&gt; &lt;/P&gt;
&lt;H1 align=center&gt;Results&lt;/H1&gt;
&lt;P&gt;Для окончательной проверки мы можем запустить оснастку PKIView.msc. Если мы настроили всё правильно, то должны увидеть примерно такой вид:&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="Reviewing CA installation results" border=0 alt="Reviewing CA installation results" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/CertificationAuthority3SubordinateIssuin_AE63/pkiview1_076a2d13-dfe9-4335-8272-d643b6e6ac97.png" width=830 height=235&gt; &lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="Reviewing CA installation results" border=0 alt="Reviewing CA installation results" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/CertificationAuthority3SubordinateIssuin_AE63/pkiview2_830b6071-8304-4550-b8ce-0931352ad739.png" width=830 height=235&gt; &lt;/P&gt;
&lt;P&gt;И подведём итоги того, что мы сделали:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Мы спланировали типовую 2-х уровневую иерархию и конфигурацию PKI, которая включает в себя Offline Root CA и Online Issuing CA; 
&lt;LI&gt;Установили и сконфигурировали соответствующим образом наш корневой Root CA, который может быть нормально выключен и который будет издавать сертификаты только для других центров сертификации; 
&lt;LI&gt;Установили и сконфигурировали подчинённый Issuing CA, который будет издавать сертификаты уже конечным потребителям. 
&lt;LI&gt;Настроили OCSP Responder для работы с Offline Root CA. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Вроде бы выглядит немного, но исходя из материала мы проделали достаточно большой объём работы, в результате мы получили достаточно гибку и, главное, работающую PKI.&lt;/P&gt;
&lt;DIV&gt;
&lt;P style="BORDER-BOTTOM: silver 1px solid; POSITION: relative; BORDER-LEFT: silver 1px solid; WIDTH: 240px; HEIGHT: 66px; BORDER-TOP: silver 1px solid; BORDER-RIGHT: silver 1px solid"&gt;&lt;SPAN style="FONT-FAMILY: verdana,arial,sans-serif; CURSOR: pointer"&gt;&lt;A style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 240px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 66px; BORDER-LEFT-WIDTH: 0px" href="http://www.sysadmins.lv/content/pki/scripts/PICA_postscript.cmd.txt" target=_self&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 240px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 66px; BORDER-LEFT-WIDTH: 0px" alt="Download File" src="http://www.sysadmins.lv/images/buttons/transparent.gif"&gt; &lt;/A&gt;&lt;A style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" href="http://www.sysadmins.lv/content/pki/scripts/PICA_postscript.cmd.txt" target=_self&gt;&lt;IMG style="POSITION: absolute; TOP: 6px; LEFT: 5px" alt="Download File" src="http://www.sysadmins.lv/images/buttons/txt.png" width=48 height=45&gt; &lt;/A&gt;&lt;A style="TEXT-DECORATION: none" href="http://www.sysadmins.lv/content/pki/scripts/PICA_postscript.cmd.txt" target=_self&gt;&lt;SPAN style="POSITION: absolute; WIDTH: 167px; WHITE-SPACE: nowrap; COLOR: #555555; OVERFLOW: hidden; TOP: 7px; MARGIN-RIGHT: 5px; LEFT: 67px"&gt;&lt;SPAN style="DISPLAY: block; VISIBILITY: hidden"&gt;1&lt;/SPAN&gt; &lt;SPAN style="LINE-HEIGHT: 1.25em; DISPLAY: block; CURSOR: pointer; TEXT-DECORATION: none; PADDING-TOP: 1px" title="Download file"&gt;TXT file &lt;BR&gt;4,89 KB &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;A style="POSITION: absolute; WIDTH: 167px; WHITE-SPACE: nowrap; COLOR: #0066a7; OVERFLOW: hidden; TOP: 7px; MARGIN-RIGHT: 5px; TEXT-DECORATION: none; LEFT: 67px" href="http://www.sysadmins.lv/content/pki/scripts/PICA_postscript.cmd.txt" target=_self alt="Download File"&gt;PICA_postscript.cmd.txt&lt;/A&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;(для скачивания файла нажмите на кнопку правой кнопкой и выберите Save target as…)&lt;/P&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=40f691e6-6649-45ed-a39d-9df5a3b65a3d"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,40f691e6-6649-45ed-a39d-9df5a3b65a3d.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / OCSP</category>
      <category>Security / PKI / Setup</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=1d4b05e1-833f-4479-b110-c3ed63be1706</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,1d4b05e1-833f-4479-b110-c3ed63be1706.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,1d4b05e1-833f-4479-b110-c3ed63be1706.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=1d4b05e1-833f-4479-b110-c3ed63be1706</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <title>Certificate chaining engine и certificate revocation checking — FAQ</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,1d4b05e1-833f-4479-b110-c3ed63be1706.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,1d4b05e1-833f-4479-b110-c3ed63be1706.aspx</link>
      <pubDate>Thu, 21 Jan 2010 20:20:06 GMT</pubDate>
      <description>&lt;div&gt;&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 15px 0px 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=КДПВ border=0 alt=КДПВ align=left src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/Certificatechainingenginecertificaterevo_10A0B/kdpv_c1c4d0e5-0bf9-43dc-9d9e-3832618e4667.jpg" width=127 height=96&gt; Предлагаю немного отвлечься от autoenrollment и поговорить о часто задаваемым вопросам, которые относятся к проблемам certificate chaining engine. Данный FAQ основывается на вопросах, которые часто задаются на форумах TechNet. &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; За что отвечают расширения &lt;STRONG&gt;CRL Distribution Points&lt;/STRONG&gt; (&lt;EM&gt;CDP&lt;/EM&gt;) и &lt;STRONG&gt;Authority Information Access&lt;/STRONG&gt; (&lt;EM&gt;AIA&lt;/EM&gt;) в цифровых сертификатах?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; Расширение &lt;STRONG&gt;Authority Information Access&lt;/STRONG&gt; всегда содержит ссылки на сертификат &lt;STRONG&gt;Certification Authority&lt;/STRONG&gt; (&lt;EM&gt;CA&lt;/EM&gt;), который издал рассматриваемый сертификат. Например, у вас есть сервер CA, который издаёт пользователям сертификаты. Каждый такой сертификат будет содержать ссылку на скачивание сертификата этого самого CA. Это необходимо для построения цепочки сертификатов. Как известно, любая иерархия PKI включает себя как минимум один корневой CA (&lt;STRONG&gt;Root CA&lt;/STRONG&gt;) и может содержать несколько уровней промежуточных CA. Используя расширение AIA конечного сертификата, клиент скачивает сертификат издающего CA, который в расширении AIA так же содержит ссылки на скачивание сертификата вышестоящего CA. Этот процесс происходит до тех пор, пока цепочка не закончится самоподписанным сертификатом и который уже не содержит расширения AIA. Поскольку корневой сертификат самоподписанный, он является конечной точкой цепочки. По корневому сертификату определяется доверие цепочке. Чтобы доверять такой цепочке, корневой сертификат, на котором эта цепочка заканчивается, должен быть установлен в контейнере Trusted Root CAs в оснастке &lt;STRONG&gt;Certificates&lt;/STRONG&gt; консоли &lt;STRONG&gt;MMC&lt;/STRONG&gt;. &lt;BR&gt;Расширение &lt;STRONG&gt;CRL Distribution Point&lt;/STRONG&gt; содержит ссылки на файлы CRL, которые периодически публикует сервер CA, который издал рассматриваемый сертификат. Этот файл содержит серийные номера и прочую информацию о сертификатах, которые были отозваны. Сертификаты могут быть отозваны, когда есть подозрения или уже констатирован факт получения несанкционированного доступа к закрытому ключу третьим лицом. Закрытый ключ должен быть доступен только тому пользователю или компьютеру, которому выдан данный сертификат. Если третье лицо получило доступ к закрытому ключу, это лицо может воспользоваться им для получения конфиденциальной информации или выдавать себя за легитимного пользователя. В таких случаях администратор CA может отозвать такой сертификат. В таком случае если сертификат содержится в файле CRL, предъявителю данного сертификата никакого доверия не будет. Следует понимать, что CDP/AIA рассматриваемого сертификата содержат ссылки на файлы вышестоящего CA. Даже если владельцем рассматриваемого сертификата является сервер CA (&lt;STRONG&gt;Intermediate CA&lt;/STRONG&gt;), ссылки будут указывать на файлы вышестоящего CA. &lt;BR&gt;Более подробно вопрос рассмотрен по ссылке: &lt;A href="http://www.sysadmins.lv/PermaLink,guid,63f4fa92-f82b-4b01-a710-6324bae859bb.aspx"&gt;Certificate Chaining Engine — как это работает&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; Нужны ли расширения CDP и AIA в сертификатах корневых CA?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; Нет. Как уже было сказано, CDP и AIA содержат ссылки на файлы вышестоящего CA, а корневой сертификат является высшей точкой в иерархии и выше корневого CA ничего быть не может. Поэтому данные расширения бесполезны для сертификатов корневых CA и обычно просто отсутствуют. &lt;BR&gt;Более подробно вопрос рассмотрен здесь: &lt;A href="http://www.sysadmins.lv/PermaLink,guid,b3521905-4696-4e23-a2d8-1f6fafbfa030.aspx"&gt;Certificate chaining engine (CCE) и отзыв корневых сертификатов&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; На каком сервере CA я могу отозвать определённый сертификат?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; каждый сервер CA поддерживает свой список CRL в который может включать только те сертификаты, которые были выданы именно этим CA. Это означает, что сертификат отозвать может только CA, который указан в поле Issuer рассматриваемого сертификата.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; Стоит ли использовать &lt;STRONG&gt;Certificate Hold&lt;/STRONG&gt; в качестве причины отзыва сертификата? Если да, то в каких случаях?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; Причина отзыва как &lt;STRONG&gt;Certificate Hold&lt;/STRONG&gt; обладает одной особенностью — его можно извлечь обратно из CRL файла, после чего он перестанет считаться отозванным. Данная причина задумана для случаев когда сотрудник уходит в отпуск и такой отзыв позволит избежать использование отозванного сертификата на этот период. Однако, данную причину не следует никогда использовать. Это связано с тем, что после извлечения сертификата из CRL вы не можете узнать был ли он отозван в какой-то период времени. Например, вы отозвали сертификат с причиной Certificate Hold и через некоторое время передумали и извлекли сертификат из CRL. В последствии вы получаете документ, подписанный этим сертификатом именно в период фактического нахождения сертификата в CRL. Фактически получается, что документ был подписан в тот момент, когда сертификат был отозван. Поскольку он был потом извлечён из CRL, вы больше не можете доказать, что сертификат был отозван на момент подписания документа. По этой причине вы не должны использовать данную причину отзыва.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; При установке сертификата на сервер иногда получаю ошибку: &lt;STRONG&gt;The revocation function was unable to check revocation because the revocation server was offline. 0x80092013 (-2146885613)&lt;/STRONG&gt;. Что это может означать и как эту ошибку исправить?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; Данная ошибка указывает на то, что системе не удалось проверить сертификат на отзыв. Иными словами, система извлекла ссылку из CDP расширения сертификата и по этой ссылке не удалось скачать CRL файл. В данном случае вы должны обратиться к администратору сервера CA, чтобы тот обеспечил доступность файла по ссылкам в CDP расширении. Если же вы сами исполняете эти обязанности, то вы должны самостоятельно решить этот вопрос — настроить точки публикации CRL файлов. В качестве временного решения (например, вы опубликовали CRL только в Active Directory и у вас несколько доменов в лесу, причиной этого может быть репликация AD. В таком случае вы можете скачать CRL файл локально на компьютер (любым удобным способом) и выполнить команду: &lt;FONT color=#0000ff&gt;certutil –addstore –f Root &amp;lt;path\file.crl&amp;gt;&lt;/FONT&gt; &lt;BR&gt;где &lt;FONT color=#0000ff&gt;&amp;lt;path\file.crl&amp;gt;&lt;/FONT&gt; — путь к файлу CRL.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; При открытии файла сертификата я вижу следующее сообщение: &lt;STRONG&gt;Windows does not have enough information to verify this certificate&lt;/STRONG&gt;. Что это означает и как с этим бороться?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; Данное сообщение говорит о том, что системе не удалось найти сертификат вышестоящего CA. Как уже было отмечено, этот сертификат можно скачать по ссылке (ссылкам) в расширении AIA, но по всей видимости они нерабочие. Вы можете попробовать вручную скачать файл по этим ссылкам и вероятней всего вам это не удастся. Для решения этой проблемы вы должны опубликовать физический файл в соответствующие места: папка веб-сервера (для протокола HTTP) или контейнер AIA в Active Directory (для протокола LDAP). Если файл сертификата CA публикуется только в AD и у вас лес с несколькими доменами, данная ошибка может быть кратковременно вызвана задержками репликации. В таком случае для временного решения вы можете скачать файл на локальную машину (любым удобным для вас способом) и выполнить одну из двух команд: &lt;BR&gt;&lt;FONT color=#0000ff&gt;certutil –addstore –f SubCA &amp;lt;path\file.crt&amp;gt;&lt;/FONT&gt; — если вышестоящий CA не является корневым &lt;BR&gt;&lt;FONT color=#0000ff&gt;certutil –addstore –f Root &amp;lt;path\file.crt&amp;gt;&lt;/FONT&gt; — если вышестоящий CA является корневым. &lt;BR&gt;где &lt;FONT color=#0000ff&gt;&amp;lt;path\file.crt&amp;gt;&lt;/FONT&gt; — путь к файлу CER/CRT.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; Я отозвал сертификат, опубликовал новый CRL, однако при запуске файла сертификата я не вижу ошибок, что сертификат отозван. Почему?&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=4&gt;&lt;STRONG&gt;A:&lt;/STRONG&gt;&lt;/FONT&gt; Когда вы запускаете файл сертификата (просматриваете его содержимое), проверка на отзыв не происходит. Система только строит цепочку, но ни один сертификат на отзыв не проверяется. Это by design. Для проверки статуса сертификата вы можете воспользоваться следующими командами: &lt;BR&gt;&lt;FONT color=#0000ff&gt;certutil –url &amp;lt;path\file.cer&amp;gt;&lt;/FONT&gt; — этой командой вызывается удобный графический интерфейс, в котором вы можете выяснить статус отзыва сертификата. &lt;BR&gt;&lt;FONT color=#0000ff&gt;certutil –verify –urlfetch &amp;lt;path\file.cer&amp;gt;&lt;/FONT&gt; — данная команда выведет очень подробный текстовый лог проверки. Рекомендуется для использования профессионалами, которые в состоянии проанализировать этот лог. &lt;BR&gt;где &lt;FONT color=#0000ff&gt;&amp;lt;path\file.cer&amp;gt;&lt;/FONT&gt; — путь к файлу проверяемого сертификата.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000 size=4&gt;&lt;STRONG&gt;Q:&lt;/STRONG&gt;&lt;/FONT&gt; Я отозвал сертификат, опубликовал новые CRL, однако certutil показывает, что сертификат не отозван. Как так?&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=4&gt;&lt;STRONG&gt;A:&lt;/STRONG&gt;&lt;/FONT&gt; Это вызвано тем, что CRL'ы, как и ответы от OCSP Responder кешируются в оперативной памяти и жёстком диске. Для обновления кеша в памяти, следует перезапустить приложение, которое проверяет статус сертификата. А на самом диске CRL кешируется на срок действия конкретного CRL. Это значит, что клиент будет использовать данный кешированный CRL до срока указанного в поле Next update конкретного CRL файла. Кеширование используется для экономии ресурсов и пропускной способности сети. Но вы можете очистить кеш CRL (при этом удалятся все кешированные CRL), вы можете воспользоваться следующей командой: &lt;BR&gt;&lt;FONT color=#0000ff&gt;certutil -setreg chain\ChainCacheResyncFiletime @now &lt;BR&gt;&lt;/FONT&gt;после этого обязательно следует выполнить следующую команду: &lt;BR&gt;&lt;FONT color=#0000ff&gt;certutil –delreg chain\ChainCacheResyncFiletime&lt;/FONT&gt; &lt;BR&gt;Данные команды поддерживаются системами начиная с Windows XP SP3. Предыдущие системы не поддерживают очистку кеша CRL.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000 size=4&gt;&lt;STRONG&gt;Q:&lt;/STRONG&gt;&lt;/FONT&gt; Какие протоколы разрешены для расширений CDP/AIA?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; Для Windows систем доступны только следующие протоколы: &lt;BR&gt;&lt;STRONG&gt;HTTP://&lt;/STRONG&gt; — только для публикации в расширение сертификата. &lt;BR&gt;&lt;STRONG&gt;LDAP://&lt;/STRONG&gt; — для публикации физических файлов и для публикации ссылки в расширение сертификата. &lt;BR&gt;&lt;STRONG&gt;FILE://&lt;/STRONG&gt; — только для публикации физических файлов в сетевой папке (например, на веб-сервере). Хотя Windows Server 2003 и предыдущие системы позволяли такие ссылки в расширениях CDP/AIA, начиная с Windows Vista/Windows Server 2008 они больше не допускаются и не используются. &lt;BR&gt;&lt;STRONG&gt;C:\path&lt;/STRONG&gt; — только для публикации физических файлов в файловой системе локального компьютера. &lt;BR&gt;Более подробно можно прочитать по ссылке: &lt;A href="http://www.sysadmins.lv/PermaLink,guid,9beb4f0a-38a8-42b2-9a49-141c04fbdcd8.aspx"&gt;CRL Distribution Points и Authority Information Access&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; есть ли какие-то best practices по планированию расширений CDP/AIA?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; да, существют определённые best practices по настройке расширений CDP/AIA на сервере CA. И вот как они выглядят в общем виде: &lt;BR&gt;1) не следует использовать ссылки вида LDAP:// если ваши сертификаты могут использоваться вне пределах вашего леса AD. Это вызвано тем, что скачивать файлы по таким ссылкам могут только клиенты текущего леса, остальные клиенты будут получать ошибки по этим ссылкам. Целесообразно использовать более универсальные протоколы как HTTP. Данный протокол поддерживается множеством систем, в том числе и мобильными системами (смартфоны) и пользователями других операционных систем. При использовании HTTP рассмотрите возможность высокой доступности этих веб-серверов, как NLB-кластер или использования двух различных веб-серверов. В таком случае вы должны будете указать ссылки на скачивание файла для каждого веб-сервера. &lt;BR&gt;2) используйте веб-сервера, которые доступны как изнутри сети, так и из интернета (если сертификаты могут использоваться пользователями интернета, например SSL-сертификаты) по одному и тому же URL. &lt;BR&gt;3) при планировании ссылок, которые будут публиковаться в расширениях CDP/AIA сертификатов следует учитывать их очерёдность. Если вы решили использовать 2 независимых веб-сервера, первым указывайте тот, который будет являться основным. Это обусловлено тем, что клиент скачивает файлы по ссылкам в порядке их следования. Первая ссылка будет использоваться в первую очередь. Для ссылок публикации физического файла очерёдность не имеет значения. &lt;BR&gt;4) для HTTP ссылок никогда не используйте SSL (т.е. HTTPS ссылки), поскольку это вызовет бесконечную проверку сертификатов, в результате чего вы никогда не скачаете нужный файл. &lt;BR&gt;Более подробно можно прочитать по ссылкам: &lt;A href="http://www.sysadmins.lv/PermaLink,guid,9beb4f0a-38a8-42b2-9a49-141c04fbdcd8.aspx"&gt;CRL Distribution Points и Authority Information Access&lt;/A&gt;, &lt;A href="http://www.sysadmins.lv/PermaLink,guid,67cd6d34-9304-4ea8-bc18-456cd1de7a31.aspx"&gt;OCSP или CRL?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; Какие версии ОС Windows поддерживают нативного клиента OCSP?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; Только ОС начиная с Windows Vista/Windows Server 2008 включают в себя клиента OCSP. Предыдущие системы никогда не поддерживали и не будут поддерживать клиента OCSP. Для них придётся приобретать отдельный программный продукт сторонних компаний.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; Я хочу использовать OCSP Responder как для внутренней, так и для внешней сети (интернета). На какое имя должен выдаваться сертификат OCSPResponseSigning?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; на самом деле клиенту всё равно на какое имя выдаётся данный сертификат. Главное — сертификат должен отвечать следующим условиям: &lt;BR&gt;1) должен быть выдан тем же CA для которого OCSP Responder осуществлял проверку статуса сертификата. &lt;BR&gt;2) в &lt;STRONG&gt;Application Policies&lt;/STRONG&gt; (&lt;STRONG&gt;Extended Key Usage&lt;/STRONG&gt;) должен быть указан: &lt;STRONG&gt;OCSP Signing&lt;/STRONG&gt; &lt;BR&gt;3) в сертификате должно присутствовать расширение: &lt;STRONG&gt;OCSP No Revocation Checking&lt;/STRONG&gt; &lt;BR&gt;4) срок действия сертификата должен быть действующий.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000 size=4&gt;Q:&lt;/FONT&gt;&lt;/STRONG&gt; Мы в компании перешли на Windows Vista/Windows 7 и развернули OCSP Responder. Однако в сети уже выпущено огромное количество сертификатов, которые не содержат ссылок на OCSP Responder. Надо ли перевыпускать все сертификаты для включения в них ссылки на OCSP?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=4&gt;A:&lt;/FONT&gt;&lt;/STRONG&gt; нет, вам не нужно перевыпускать все сертификаты, которые уже используются. Вы можете для доменных клиентов настроить групповую политику так, чтобы они получили адрес вашего OCSP Responder и которым они будут пользоваться при проверке сертификатов. В качестве руководства по настройке этой политики можете воспользоваться вот этой ссылкой: &lt;A href="http://technet.microsoft.com/en-us/library/ee619786(WS.10).aspx" target=_blank&gt;Appendix A: Managing OCSP Settings with Group Policy&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Что бы почитать?&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx"&gt;OCSP (часть 1)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx"&gt;OCSP (часть 2)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,63f4fa92-f82b-4b01-a710-6324bae859bb.aspx"&gt;Certificate Chaining Engine — как это работает&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,9beb4f0a-38a8-42b2-9a49-141c04fbdcd8.aspx"&gt;CRL Distribution Points и Authority Information Access&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,b3521905-4696-4e23-a2d8-1f6fafbfa030.aspx"&gt;Certificate chaining engine (CCE) и отзыв корневых сертификатов&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,67cd6d34-9304-4ea8-bc18-456cd1de7a31.aspx"&gt;OCSP или CRL?&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=1d4b05e1-833f-4479-b110-c3ed63be1706"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,1d4b05e1-833f-4479-b110-c3ed63be1706.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / Chaining Engine</category>
      <category>Security / PKI / OCSP</category>
      <category>Security / PKI / Tips &amp; Tricks</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=67cd6d34-9304-4ea8-bc18-456cd1de7a31</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,67cd6d34-9304-4ea8-bc18-456cd1de7a31.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,67cd6d34-9304-4ea8-bc18-456cd1de7a31.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=67cd6d34-9304-4ea8-bc18-456cd1de7a31</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <title>OCSP или CRL?</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,67cd6d34-9304-4ea8-bc18-456cd1de7a31.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,67cd6d34-9304-4ea8-bc18-456cd1de7a31.aspx</link>
      <pubDate>Wed, 30 Dec 2009 18:20:19 GMT</pubDate>
      <description>&lt;div&gt;&lt;p&gt;Этим постом я начинаю серию небольших заметок по не всегда очевидным фактам в PKI. И сегодня начну с первого факта — OCSP или CRL? OCSP и CRL — это 2 модели, которые могут использоваться для проверки сертификата на предмет его отзыва.&lt;/p&gt;  &lt;p&gt;Сертификаты в случае когда в них больше не нуждаются или когда закрытый ключ от сертификата может быть доступен злоумышленникам подлежат отзыву. Этим самым полностью теряется доверие данному сертификату или человеку, который его предъявил, поскольку сертификат может предъявить злоумышленник, который его украл. Это достаточно важный момент в PKI, который позволяет достаточно однозначно сказать — можем ли мы доверять предъявителю конкретного сертификата или нет.&lt;/p&gt;  &lt;p&gt;Модель CRL используется с самого начала существования PKI и выглядит следующим образом. Сервер CA отзывает некоторый сертификат и помещает о нём запись в специальный файл CRL. При этом туда помещается серийный номер сертификата, дата фактического отзыва (не обязательно совпадает со временем когда администратор отозвал сертификат) и причина отзыва. Клиенты при проверки сертификатов скачивают эти CRL и проверяют есть ли серийный номер этого сертификата в CRL. Логично, что чем больше сертификатов отозвано, тем больше файл, тем более нагружается сеть при частом скачивании относительно большого файла CRL.&lt;/p&gt;  &lt;p&gt;В OCSP используется немного иной принцип. Клиент OCSP отправляет на сервер OCSP Responder специальный запрос, в котором содержится серийный номер проверяемого сертификата. OCSP Responder «пробивает номер по своей базе» и отвечает клиенту откликом. Этот отклик содержит однозначный ответ на вопрос: отозван или не отозван.&lt;/p&gt;  &lt;p&gt;Казалось бы, если у вас и серверы и клиенты работают под управлением Windows Vista/2008 и выше, то ответ однозначный: OCSP — наше всё! Ну и вообще даже при наличии небольшого количества этих систем (а преимущественно используются устаревшие клиенты Windows XP/2003), то OCSP нам никак не помешает! Но на самом деле это не всегда так и в ряде ситуаций использование OCSP будет даже нежелательным. Давайте посмотрим почему. Сначала сделаем сравнительные характеристики обеих моделей проверки отзыва&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;CRL&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Исходный размер пустого CRL составляет порядка 600 байт (но это значение может отличаться в зависимости от длины полей и длины ключа подписи). На каждую запись отозванного сертификата в CRL отводится 80 байт. Это, как я уже говорил, серийный номер отозванного сертификата, дата фактического отзыва и числовое обозначение причины отзыва. Т.е. если у вас отозвано 10 сертификатов, то размер CRL будет 600 + 80 * 10 = 1400 байт. Если отозвано 100 сертификатов, то размер CRL будет порядка 9кб и т.д.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;OCSP&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Каждая проверка статуса сертификата потребляет определённый размер трафика — 2кб. При этом неважно какого размера сам CRL. Даже если отозвано 100 000 сертификатов, то CRL будет размером примерно 8мб. И каждый устаревший клиент будет скачивать этот файл на 8 мегабайт. А с OCSP любой запрос и ответ на него займёт всего 2кб. Удобно? Безусловно.&lt;/p&gt;  &lt;p&gt;Однако, в ряде случаев я бы не рекомендовал использовать OCSP для сертификатов, которые аутентифицируют клиентов. К ним относятся следующие типы сертификатов:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;сертификаты смарт-карт; &lt;/li&gt;    &lt;li&gt;сертификаты аутентификации в IIS; &lt;/li&gt;    &lt;li&gt;клиентские сертификаты компьютеров для VPN/L2TP и IPsec; &lt;/li&gt;    &lt;li&gt;сертификаты аутентификации пользователей в VPN (EAP-TLS). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Почему? Дело в том, что аутентифицирующий сервер кеширует все данные об отзыве. Сначала в памяти, потом на диске (когда происходит свопинг). И давайте посмотрим на типичный сценарий:&lt;/p&gt;  &lt;p&gt;У вас на предприятии используется корпоративный веб-сайт с аутентификацией пользователей по сертификату. У вас 1000 пользователей и они все утром подключаются к веб-сайту. Веб-сервер при проверке подлинности каждого пользователя будет посылать OCSP запрос на OCSP Responder запросы с серийным номером каждого сертификата. Мы знаем, что размер каждого ответа составляет 2кб, следовательно сервер отправит 1000 HTTP запросов и закеширует у себя в памяти 2 мегабайта памяти.&lt;/p&gt;  &lt;p&gt;А теперь представьте, что у вас не используется OCSP, а только CRL и на сервере CA отозвано 100 сертификатов. Как мы знаем сам контейнер CRL занимает 600 байт и каждая запись по 80 байт. В итоге файл CRL будет занимать 9 килобайт! И в этом случае сервер сделает только одну «ходку» за CRL файлом и уже всех клиентов будет проверять именно по скачанному CRL. Как видите, профит от использования CRL здесь очевиден. Серверу надо меньше тратить сетевого трафика и меньше данных кешируется в памяти. При этом OCSP целесообразно включать для серверных сертификатов, потому что клиентов обычно много и им выгодней использовать небольшии порции трафика OCSP. &lt;/p&gt;  &lt;p&gt;Подводя итоги, мы можем кратко констатировать следующие вещи:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;для серверных сертификатов рационально использовать OCSP; &lt;/li&gt;    &lt;li&gt;для клиентских сертификатов, которые используются для аутентификации часто рациональней будет использовать классические CRL, вместо OCSP. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Поэтому при рассмотрении вопроса внедрения OCSP вы должны учитывать эти моменты, чтобы ваша PKI была более эффективной.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ссылки по теме:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sysadmins.lv/PermaLink,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx"&gt;&lt;strong&gt;OCSP (часть 1)&lt;/strong&gt;&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.sysadmins.lv/PermaLink,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx"&gt;&lt;strong&gt;OCSP (часть 2)&lt;/strong&gt;&lt;/a&gt;    &lt;br /&gt;&lt;a title="http://en.wikipedia.org/wiki/Certificate_revocation_list" href="http://en.wikipedia.org/wiki/Certificate_revocation_list"&gt;&lt;strong&gt;http://en.wikipedia.org/wiki/Certificate_revocation_list&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=67cd6d34-9304-4ea8-bc18-456cd1de7a31"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,67cd6d34-9304-4ea8-bc18-456cd1de7a31.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / OCSP</category>
      <category>Security / PKI / Tips &amp; Tricks</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=b0079f99-da21-4c42-8db4-51ab55d8fd83</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,b0079f99-da21-4c42-8db4-51ab55d8fd83.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,b0079f99-da21-4c42-8db4-51ab55d8fd83.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=b0079f99-da21-4c42-8db4-51ab55d8fd83</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <title>OCSP на Windows Server 2008 R2</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,b0079f99-da21-4c42-8db4-51ab55d8fd83.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,b0079f99-da21-4c42-8db4-51ab55d8fd83.aspx</link>
      <pubDate>Sat, 15 Aug 2009 11:39:27 GMT</pubDate>
      <description>&lt;div&gt;&lt;p&gt;Это будет краткая заметка по решению одной проблемы (пока причина проблемы не установлена) при установке OCSP Responder на контроллере домена под управлением Windows Server 2008 R2 RTM. При такой установке у вас в Application Log может появиться сообщение:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#804000"&gt;Log Name:      Application        &lt;br /&gt;Source:        SceCli         &lt;br /&gt;Date:          2009.08.13. 12:46:22         &lt;br /&gt;Event ID:      1202         &lt;br /&gt;Task Category: None         &lt;br /&gt;Level:         Warning         &lt;br /&gt;Keywords:      Classic         &lt;br /&gt;User:          N/A         &lt;br /&gt;Computer:      server.domain.com         &lt;br /&gt;Description:         &lt;br /&gt;Security policies were propagated with warning. 0x534 : No mapping between account names and security IDs was done. &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;Advanced help for this problem is available on &lt;/font&gt;&lt;a href="http://support.microsoft.com"&gt;&lt;font color="#804000"&gt;http://support.microsoft.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#804000"&gt;. Query for "troubleshooting 1202 events". &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;Error 0x534 occurs when a user account in one or more Group Policy objects (GPOs) could not be resolved to a SID.  This error is possibly caused by a mistyped or deleted user account referenced in either the User Rights or Restricted Groups branch of a GPO.  To resolve this event, contact an administrator in the domain to perform the following actions: &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;1.    Identify accounts that could not be resolved to a SID: &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;From the command prompt, type: FIND /I "Cannot find"  %SYSTEMROOT%\Security\Logs\winlogon.log &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;The string following "Cannot find" in the FIND output identifies the problem account names. &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;Example: Cannot find JohnDough. &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;In this case, the SID for username "JohnDough" could not be determined. This most likely occurs because the account was deleted, renamed, or is spelled differently (e.g. "JohnDoe"). &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;2.    Use RSoP to identify the specific User Rights, Restricted Groups, and Source GPOs that contain the problem accounts: &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;a.    Start -&gt; Run -&gt; RSoP.msc        &lt;br /&gt;b.    Review the results for Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment and Computer Configuration\Windows Settings\Security Settings\Local Policies\Restricted Groups for any errors flagged with a red X.         &lt;br /&gt;c.    For any User Right or Restricted Group marked with a red X, the corresponding GPO that contains the problem policy setting is listed under the column entitled "Source GPO". Note the specific User Rights, Restricted Groups and containing Source GPOs that are generating errors. &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;3.    Remove unresolved accounts from Group Policy &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;a.    Start -&gt; Run -&gt; MMC.EXE        &lt;br /&gt;b.    From the File menu select "Add/Remove Snap-in..."         &lt;br /&gt;c.    From the "Add/Remove Snap-in" dialog box select "Add..."         &lt;br /&gt;d.    In the "Add Standalone Snap-in" dialog box select "Group Policy" and click "Add"         &lt;br /&gt;e.    In the "Select Group Policy Object" dialog box click the "Browse" button.         &lt;br /&gt;f.    On the "Browse for a Group Policy Object" dialog box choose the "All" tab         &lt;br /&gt;g.    For each source GPO identified in step 2, correct the specific User Rights or Restricted Groups that were flagged with a red X in step 2. These User Rights or Restricted Groups can be corrected by removing or correcting any references to the problem accounts that were identified in step 1.&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804000"&gt;Advanced help for this problem is available on &lt;/font&gt;&lt;a href="http://support.microsoft.com"&gt;&lt;font color="#804000"&gt;http://support.microsoft.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#804000"&gt;. Query for "troubleshooting 1202 events".&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;При установке компонента OCSP Responder роли Active Directory Certificate Services на контроллере домена создаются следующие локальные учётные записи:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;OCSPISAPIAppPool&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;DefaultAppPool&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;WdiServiceHost&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Этим учётным записям автоматически в Default Domain Controllers Policy в разделе User Rights Assignments выдаются следующие права и привилегии:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="516"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="247"&gt;         &lt;p&gt;&lt;strong&gt;User Rights Assignment entry&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="267"&gt; &lt;strong&gt;Account name&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="247"&gt;         &lt;p&gt;Adjust memory quotas for a process&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="267"&gt;         &lt;p&gt;&lt;font color="#0000ff"&gt;OCSPISAPIAppPool              &lt;br /&gt;DefaultAppPool&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="247"&gt;Generate security audits&lt;/td&gt;        &lt;td valign="top" width="267"&gt;         &lt;p&gt;&lt;font color="#0000ff"&gt;OCSPISAPIAppPool              &lt;br /&gt;DefaultAppPool&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="247"&gt;         &lt;p&gt;Profile system performance&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="267"&gt;&lt;font color="#0000ff"&gt;WdiServiceHost&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="247"&gt;         &lt;p&gt;Replace a process level token&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="267"&gt;         &lt;p&gt;&lt;font color="#0000ff"&gt;OCSPISAPIAppPool              &lt;br /&gt;DefaultAppPool&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Однако, эти учётные записи локальные и контроллер домена неспособен их разрешить в SID, т.к. они не доменные. Для решения этой проблемы нужно задать префикс authority этих учётных записей следующим образом:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="516"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="247"&gt;         &lt;p&gt;&lt;strong&gt;User Rights Assignment entry&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="267"&gt; &lt;strong&gt;Account name&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="247"&gt;         &lt;p&gt;Adjust memory quotas for a process&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="267"&gt;         &lt;p&gt;&lt;font color="#ff0000"&gt;IIS AppPool&lt;/font&gt;\&lt;font color="#0000ff"&gt;OCSPISAPIAppPool&lt;/font&gt;             &lt;br /&gt;&lt;font color="#ff0000"&gt;IIS AppPool&lt;/font&gt;\&lt;font color="#0000ff"&gt;DefaultAppPool&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="247"&gt;Generate security audits&lt;/td&gt;        &lt;td valign="top" width="267"&gt;         &lt;p&gt;&lt;font color="#ff0000"&gt;IIS AppPool&lt;/font&gt;\&lt;font color="#0000ff"&gt;OCSPISAPIAppPool              &lt;br /&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;IIS AppPool&lt;/font&gt;\&lt;font color="#0000ff"&gt;DefaultAppPool&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="247"&gt;         &lt;p&gt;Profile system performance&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="267"&gt;&lt;font color="#ff0000"&gt;NT Service&lt;/font&gt;\&lt;font color="#0000ff"&gt;WdiServiceHost&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="247"&gt;         &lt;p&gt;Replace a process level token&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="267"&gt;         &lt;p&gt;&lt;font color="#ff0000"&gt;IIS AppPool&lt;/font&gt;\&lt;font color="#0000ff"&gt;OCSPISAPIAppPool&lt;/font&gt;             &lt;br /&gt;&lt;font color="#ff0000"&gt;IIS AppPool&lt;/font&gt;\&lt;font color="#0000ff"&gt;DefaultAppPool&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Примечание:&lt;/font&gt;&lt;/strong&gt; при добавлении этих записей вы должны вписывать эти имена прямо в поле &lt;strong&gt;Add user or group&lt;/strong&gt;, а не использовать Browse и Check names.&lt;/p&gt;  &lt;p&gt;Я пока не в курсе причины этой проблемы, но она отправлена на изучение в Windows Server Team, а пока – пользуйтесь этим решением &lt;img alt=":)" src="/smilies/happy.gif"&gt;&lt;/p&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=b0079f99-da21-4c42-8db4-51ab55d8fd83"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,b0079f99-da21-4c42-8db4-51ab55d8fd83.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / OCSP</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=1a51a0b1-fa1b-4056-bc3e-0b0ee4e5a530</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,1a51a0b1-fa1b-4056-bc3e-0b0ee4e5a530.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,1a51a0b1-fa1b-4056-bc3e-0b0ee4e5a530.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=1a51a0b1-fa1b-4056-bc3e-0b0ee4e5a530</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <title>Проверка работоспособности OCSP Responder</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,1a51a0b1-fa1b-4056-bc3e-0b0ee4e5a530.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,1a51a0b1-fa1b-4056-bc3e-0b0ee4e5a530.aspx</link>
      <pubDate>Tue, 11 Aug 2009 20:08:00 GMT</pubDate>
      <description>&lt;div&gt;&lt;p&gt;На днях потребовалось поднять ещё один сервер CA на Windows Server 2008 R2 и на нём же OCSP респондер. Я уже писал про установку OCSP Responder в Windows Server 2008:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.sysadmins.lv/PermaLink,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx"&gt;OCSP (часть 1)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sysadmins.lv/PermaLink,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx"&gt;OCSP (часть 2)&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;В принципе, настройка достаточно простая. Но мы обязаны периодически проверять работу этой службы и служб проверки статуса сертификата в целом. Для задач проверки работоспособности служб отзыва сертификатов у нас есть несколько решений, которые поставляются вместе с Windows, а так же инструменты сторонних разработчиков. Предлагаю вашему вниманию несколько таких инструментов.&lt;/p&gt;  &lt;h1 align="center"&gt;PKIView.msc&lt;/h1&gt;  &lt;p&gt;Это стандартная MMC оснастка, которая устанавливается в систему с установкой роли &lt;strong&gt;Active Directory Certificates Services&lt;/strong&gt; (для Windows Server 2008/R2) или с установкой Resource Kit (для Windows Server 2003). Что примечательно, ничего делать в этой оснастке не надо, достаточно её просто запустить и вы всё сразу увидите:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="PKIView 2-tier" border="0" alt="PKIView 2-tier" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSPResponder_FAF6/pkiview1_5.jpg" width="668" height="237" /&gt; &lt;/p&gt;  &lt;p&gt;Данная оснастка собирает полную PKI иерархию в лесу (в моём случае это двухуровневая иерархия CA), считывает с них CDP и AIA списки и проверяет доступность сертификатов CA и списков CRL. Я специально удалил с сервера Base CRL список. И об этом мы бы узнали, скорее всего, только когда клиент не смог бы подключиться к SSL/TLS/IPSec ресурсу. А так – мы можем в любой момент проверить все CDP и AIA каждого сервера CA. И вот примерный образец, как должны выглядеть CDP и AIA для CA, который обслуживает клиентов из внешней сети:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="PKIView Console with OCSP" border="0" alt="PKIView Console with OCSP" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSPResponder_FAF6/pkiview2_3.jpg" width="667" height="188" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Если внутри сети особого профита OCSP не получите, то для интернета он будет как нельзя кстати. Ну и для клиентов из интернета ваши LDAP пути для CRL никакого интереса не будут представлять. Т.е. мы имем классические CRL’ы и OCSP респондер. Собственно, статус Ok нам говорит, что с ним всё в порядке. Вы можете прямо из этой консоли выбрать правой кнопкой каждый пункт и посмотреть фактическое содержимое каждого CRL списка или CRT файла (CRT файлы в AIA требуются нам для построения цепочки сертификатов, т.н. certificate chain). Однако в отношении с OCSP мы видим только общую работоспособность респондера. Так же общую работоспособность можно проверить через оснастку Online Responder Mangement на каждом OCSP сервере. Но это всё на стороне сервера. А вот продиагностировать клиента (убедиться, что клиент работает в первую очередь с OCSP, а не с классическими CRL списками) здесь не получится и этому будет посвящена следующая часть этой статьи.&lt;/p&gt;  &lt;h1 align="center"&gt;Certutil&lt;/h1&gt;  &lt;p&gt;Всем известная утилита Certutil.exe, которая поставляется не только с серверными операционными системами, но и с клиентскими тоже. К слову сказать, по сложности синтаксиса и богатством функционала с certutil.exe тягаться может разве что netsh.exe &lt;img alt=":)" src="/smilies/happy.gif"&gt;. К сожалению я не смог найти этой информации во встроенной справки certutil, поэтому пришлось искать альтернативные источники этой информации.&lt;/p&gt;  &lt;p&gt;Итак, если мы хотим проверить работоспособность клиентского компьютера (напомню, что из клиентских ОС работать с OCSP могут только Windows Vista и выше), то нужно сначала экспортировать произвольный сертификат, который выдал проверяемый сервер CA в файл. После этого в командной строке набрать следующую команду:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;certutil –url path\certificate.cer&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;и откроется следующее окно:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="URL Retrival Tool" border="0" alt="URL Retrival Tool" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSPResponder_FAF6/URRT_3.jpg" width="538" height="348" /&gt; &lt;/p&gt;  &lt;p&gt;Я на сервере CA отозвал один сертификат и решил проверить, что мне на это скажет OCSP. Для этого в правой части выбираем, что хотим проверить статус сертификата с использованием только OCSP и нажимаем кнопку Retrieve. И в верхнем окне мы видим адрес OCSP сервера и статус проверямого сертификата. Как видите, он отозван. Администраторам PKI следует знать о богатейшем функционале certutil не только в теории, но и в практике тоже.&lt;/p&gt;  &lt;p&gt;Кстати говоря, я себе сделал контекстное меню для .CER и .DER файлов, по которому вызывается эта утилита и можно будет сразу не отходя от кассы проверить сертификат или CDP/AIA того CA, который издал этот сертификат. Вот как выглядит .reg файл:&lt;/p&gt;  &lt;p&gt;Windows Registry Editor Version 5.00 &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff" face="consolas"&gt;[HKEY_CLASSES_ROOT\CERFile\shell\Check Certificate Revocation Status] &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="consolas"&gt;[HKEY_CLASSES_ROOT\CERFile\shell\Check Certificate Revocation Status\command]        &lt;br /&gt;@="certutil -url \"%1\""&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h1 align="center"&gt;Ascertia OCSP Client Tool&lt;/h1&gt;  &lt;p&gt;Когда вы PKI занимаетесь на достаточно серьёзном уровне, тогда приходят более другие инструменты цена у которых отлична от нуля и которые являются уже Enterprise инструментами, либо у вас клиент работает под ОС, которая не поддерживает OCSP (все ОС до Windows Vista). Один из таких инструментов – &lt;a href="http://www.ascertia.com/Products/ocspclient/Default.aspx?m=eidvalid&amp;s=ocspcl" target="_blank"&gt;OCSP Client Tool&lt;/a&gt; от &lt;a href="http://ascertia.com/" target="_blank"&gt;Ascertia&lt;/a&gt;. Вот как он выглядит:&lt;/p&gt;  &lt;p&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="OCSP Client Tool" border="0" alt="OCSP Client Tool" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSPResponder_FAF6/ocspct1_6.jpg" width="543" height="513" /&gt; &lt;/p&gt;  &lt;p&gt;Как видите, интерфейс достаточно простой, но в нём уже видны некоторые возможности. Это возможность проверки множества сертификатов в пределах одного запроса. Это означает, что каждый сертификат не будет проверяться отдельным запросом, а все Serial ID сертификатов (в пределах одинакового издателя) будут помещены в один OCSP запрос и OCSP так же одним ответом выдаст статус по каждому сертификату. Т.е. запросов будет ровно столько, сколько различных издателей присуствует в этом окне. Также возможно вместо индивидуального добавления сертификата добавлять цепочку сертификатов (certificate chain) в формате PKCS#7. Плюс, так же можно указать какой-то один OCSP респондер явно (ведь он может работать с несколькими CA), либо руководствоваться информацией об адресе OCSP респондера из поля AIA каждого сертификата. И ещё можно подписать сам запрос. Но нас больше будет интересовать, что именно мы можем проверить:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="OCSP Client Tool Advanced Settings" border="0" alt="OCSP Client Tool Advanced Settings" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSPResponder_FAF6/ocspct2_3.jpg" width="336" height="307" /&gt; &lt;/p&gt;  &lt;p&gt;Мы можем проверить работу следующих компонентов:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Nonce extension&lt;/strong&gt; – это особый тип запроса, в который включается как ID проверяемого сертификата, так и уникальный номер запроса. OCSP респондер должен ответить клиенту сообщением, которое включает этот уникальный номер запроса. Плюс, это заставляет OCSP респондер игнорировать свой кеш, а выполнять полную сверку с CRL. По умолчанию в Windows-реализации OCSP Responder, такие запросы не поддерживаются, поскольку Windows-клиенты никогда не используют Nonce. Но вы можете включить поддержку таких запросов в консоли OCSP Responder.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Add Service Locator extension&lt;/strong&gt; – используется для извлечения AIA расширения и включения его в специальное поле запроса Service Locator.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Check all certificates in PKCS#7&lt;/strong&gt; – при добавлении в основное окно не индвивидуальные сертификаты, а цепочку сертификатов, то эта опция разберёт эту цепочку на уникальные сертификаты.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Verify signature on OCSP response&lt;/strong&gt; – будет произведена проверка цифровой подписи OCSP-ответа с построением пути для этого сертификата до корневого CA.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Сheck OCSP Responder authority to respond to CA&lt;/strong&gt; – проверяется, что сертификат OCSP, которым подписан OCSP-ответ выдан тем же CA, которым выдан сам проверяемый сертификат. Этим проверяется, что OCSP респондер авторизован для конкретного CA для сообщения сведений о статусе сертификатов. Так же проверяется, что в EKU этого сертификата указано OCSP Signing.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Собственно и все основные настройки. Теперь нажимаем в основном окне Send Request и получаем много профита:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="OCSP Client Tool results" border="0" alt="OCSP Client Tool results" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSPResponder_FAF6/ocspct3_3.jpg" width="543" height="513" /&gt; &lt;/p&gt;  &lt;p&gt;Собственно, тут всё видно, что к чему. В моём случае мой OCSP респондер прошёл все дополнительные проверки и попутно сообщил статус сертификата. В принципе, мне кажется, что данная утилита достаточно годная для проверки работоспособности и корректной настройки OCSP Responder. У меня пока есть только триал, а на счёт полной лицензии сведений не имею, т.к. господа в конторе не отличаются особой шустростью. Мне пришлось ждать 2 дня, чтобы получить только триал &lt;img alt="Rock" src="/smilies/blush.gif"&gt; хотя, саппорт у них очень оперативный.&lt;/p&gt;  &lt;p&gt;надеюсь, этот пост поможет вам подружиться с безусловно хорошей вещью, как OCSP Responder и научиться проверять его и работу сопутствующих компонентов &lt;img alt=":)" src="/smilies/happy.gif"&gt;&lt;/p&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=1a51a0b1-fa1b-4056-bc3e-0b0ee4e5a530"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,1a51a0b1-fa1b-4056-bc3e-0b0ee4e5a530.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / OCSP</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=dd355e23-ba68-4ff5-a89b-26e7ff2fc089</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=dd355e23-ba68-4ff5-a89b-26e7ff2fc089</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>OCSP (часть 2)</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx</link>
      <pubDate>Mon, 11 May 2009 21:51:51 GMT</pubDate>
      <description>&lt;div&gt;&lt;P&gt;В предыдущей &lt;A href="http://www.sysadmins.lv/PermaLink,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx"&gt;части&lt;/A&gt; мы поговорили об основных этапах настройки OCSP на сервере CA. Науонец-то мне удалось восстановить работу виртуальных машин и можно продолжить разговор. И сейчас предлагаю поговорить уже о базовой настройке OCSP Responder.&lt;/P&gt;
&lt;H1 align=center&gt;настройка Online Responder&lt;/H1&gt;
&lt;P&gt;Настройка Online Responder очень проста: &lt;FONT color=#0000ff&gt;Start –&gt; Administrative Tools –&gt; Online Responder Management&lt;/FONT&gt;. И правой кнопкой по &lt;FONT color=#0000ff&gt;Revocation Configuration –&gt; Add Revocation Configuration&lt;/FONT&gt;. Мастер очень простой и понятный, интересно будет на стадии &lt;STRONG&gt;Select Signing Certificate&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="Select Signing Certificate" border=0 alt="Select Signing Certificate" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP2_13126/ocsp5_3.jpg" width=626 height=434&gt; fig.1&lt;/P&gt;
&lt;P&gt;именно тут нужно ставить галочку Auto-Enroll for an OCSP signing certificate, вместо использования Certificate Autoenrollment. С этой галочкой OCSP будет для себя каждые две недели (по умолчанию) запрашивать новый сертификат. В последнем шаге указываются адреса CRL'ов, по которым OCSP будет сверять сертификаты, а так же период обновления CRL'ов. После этой несложной процедуры, нужно этот сервер указать как Array Controller. Дело в том, что в сети может быть несколько онлайн респондеров для одного CA и они будут образовывать массив респондеров. Но один из них должен стать главным в массиве и остальные члены этого массива будут сверять свою конфигурацию именно с контроллером. Для этого в той же оснастке нужно перейти в Array Configuration, правой кнопкой на вновь созданном сервере и выбрать &lt;STRONG&gt;Set As Array Controller&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H1 align=center&gt;Проверка конфигурации&lt;/H1&gt;
&lt;P&gt;В принципе, теперь можно проверять конфигурацию OCSP. Если встать в самый верх дерева консоли (Online Responer: servername), то в центральной части оснастки должна появиться зелёная галочка:&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-TOP: 0px; MARGIN-RIGHT: auto; BORDER-RIGHT: 0px" title="Test OCSP Configuration" border=0 alt="Test OCSP Configuration" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP2_13126/test_ocsp1_3.jpg" width=628 height=165&gt;fig.2&lt;/P&gt;
&lt;P&gt;и в списке Array Members выделяя каждый сервер внизу должны увидеть сообщение о том, что член массива имеет рабочую конфигурацию и действительный сертификат:&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-TOP: 0px; MARGIN-RIGHT: auto; BORDER-RIGHT: 0px" title="Test OCSP Configuration" border=0 alt="Test OCSP Configuration" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP2_13126/test_ocsp2_3.jpg" width=655 height=254&gt; fig.3&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Там же вы можете посмотреть сам сертификат, который будет использоваться для подписи OCSP ответов. Если ваша картина соответствует тому, что отображено на скриншотах, то это значит, что вы успешно настроили OCSP. Теперь все издаваемые сертификаты в поле Authority Information Access будут содержать адрес OCSP респондера и клиенты Windows Vista и выше смогут через него проверять статус сертификата. Собственно, как это выглядит:&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title="Certificate with AIA" border=0 alt="Certificate with AIA" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP2_13126/cert_aia_3.jpg" width=413 height=512&gt; &lt;BR&gt;fig.4&lt;/P&gt;
&lt;P&gt;Как видите, там прописан адрес, куда будут направляться OCSP запросы. В качестве бонуса прилагаю трассировку Network Monitor ответа OCSP Responder:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;  Frame: Number = 10, Captured Frame Length = 2974, MediaType = ETHERNET &lt;BR&gt;+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-15-5D-01-02-05],SourceAddress:[00-15-5D-01-02-01] &lt;BR&gt;+ Ipv4: Src = 192.168.2.11, Dest = 192.168.1.2, Next Protocol = TCP, Packet ID = 11241, Total IP Length = 2960 &lt;BR&gt;+ Tcp: Flags=...A...., SrcPort=HTTPS(443), DstPort=49800, PayloadLen=2920, Seq=2068515486 - 2068518406, Ack=1096717416, Win=513 (scale factor 0x8) = 131328 &lt;BR&gt;- &lt;FONT color=#0000ff&gt;Ssl:   Server Hello. Certificate. Certificate Status.&lt;/FONT&gt; &lt;BR&gt;  - TlsRecordLayer: &lt;BR&gt;     ContentType: HandShake &lt;BR&gt;   + Version: TLS 1.0 &lt;BR&gt;     Length: 4139 (0x102B) &lt;BR&gt;   - SSLHandshake: SSL HandShake TLS 1.0 Encrypted Handshake Message &lt;BR&gt;      HandShakeType: ServerHello(0x02) &lt;BR&gt;      Length: 76 (0x4C) &lt;BR&gt;    + ServerHello: 0x1 &lt;BR&gt;      HandShakeType: Certificate(0x0B) &lt;BR&gt;      Length: 2556 (0x9FC) &lt;BR&gt;    - Cert: 0x1 &lt;BR&gt;       CertOffset: 2553 (0x9F9) &lt;BR&gt;     - &lt;FONT color=#ff0000&gt;Certificates: &lt;BR&gt;        CertificateLength: 1088 (0x440) &lt;BR&gt;      - X509Cert: Issuer: contoso-DC2-CA,contoso,com, Subject: dc2.contoso.com,OU,Contoso,Riga,Riga,LV &lt;BR&gt;       + SequenceHeader: &lt;BR&gt;       - TbsCertificate: Issuer: contoso-DC2-CA,contoso,com, Subject: dc2.contoso.com,OU,Contoso,Riga,Riga,LV &lt;BR&gt;        + SequenceHeader: &lt;BR&gt;        + Tag0: &lt;BR&gt;        + Version: v3 (2) &lt;BR&gt;        + SerialNumber: 0x110c0b52000000000013 &lt;BR&gt;        + Signature: Sha1WithRSAEncryption (1.2.840.113549.1.1.5) &lt;BR&gt;        + Issuer: contoso-DC2-CA,contoso,com &lt;BR&gt;        + Validity: From: 05/11/09 17:24:32 UTC To: 03/30/11 14:06:53 UTC &lt;BR&gt;        + Subject: dc2.contoso.com,OU,Contoso,Riga,Riga,LV &lt;BR&gt;        + SubjectPublicKeyInfo: RsaEncryption (1.2.840.113549.1.1.1) &lt;BR&gt;        + Tag3: &lt;BR&gt;        + Extensions: &lt;BR&gt;       + SignatureAlgorithm: Sha1WithRSAEncryption (1.2.840.113549.1.1.5) &lt;BR&gt;       + Signature: &lt;BR&gt;&lt;/FONT&gt;     &lt;FONT color=#0000ff&gt;- Certificates: &lt;BR&gt;        CertificateLength: 1459 (0x5B3) &lt;BR&gt;      + X509Cert: Issuer: Contoso CA,contoso,com, Subject: contoso-DC2-CA,contoso,com&lt;/FONT&gt; &lt;BR&gt;      HandShakeType: Certificate Status(0x16) &lt;BR&gt;      Length: 1491 (0x5D3) &lt;BR&gt;    - CertStatus: 0x1 &lt;BR&gt;       CertificateStatusType: OCSP Response(0x01) &lt;BR&gt;     - OcspResponse: &lt;BR&gt;        OCSPResponseLength: 1487 (0x5CF) &lt;BR&gt;      &lt;FONT color=#009500&gt;+ OCSPResponseData: Response has valid confirmations (0); &lt;STRONG&gt;Cert Status = Good&lt;/STRONG&gt;; SignatureAlgorithm: Sha1WithRSAEncryption (1.2.840.113549.1.1.5)&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Если смотреть в Network Monitor, то запрос клиента в графе протокол будет - &lt;STRONG&gt;SSL&lt;/STRONG&gt;, а в графе Description – &lt;STRONG&gt;SSL:  Client Hello.&lt;/STRONG&gt; В ответе OCSP в графе Description будет – &lt;STRONG&gt;SSL:  Server Hello. Certificate. Certificate Status.&lt;/STRONG&gt; Эту часть я выделил синим цветом в начале трассировки. Далее, красным я выделил часть, в которой содержится полная информация о проверяемом сертификате. Чуть ниже синим выделил часть, которая содержит всю необходимую информацию о сертификате издателя для проверяемого сертификата (там по сути будет та же информация, что и в красной части, поэтому свёрнуто). Но наиболее полезным для нас будет именно часть, которая выделена зелёным цветом, поскольку именно там будет храниться ответ OCSP. В данном случае сертификат имеет статус Good, т.е. валидный. В противном случае там будет отображено следующее:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;+ OCSPResponseData: Response has valid confirmations (0); &lt;STRONG&gt;Cert Status = Revoked&lt;/STRONG&gt;; SignatureAlgorithm: Sha1WithRSAEncryption (1.2.840.113549.1.1.5)&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;я отозвал сертификат, опубликовал Delta CRL и снова промониторил трафик. Браузер, в свою очередь, вежливо предложил покинуть этот сомнительный ресурс.&lt;/P&gt;
&lt;H1 align=center&gt;Заключение&lt;/H1&gt;
&lt;P&gt;Как мы успели рассмотреть, конфигурирование OCSP в Windows Server 2008 достаточно простое, хотя и требует от администраторов определённых навыков и умений. Зато в ответ мы получаем достаточно простую схему проверки сертификатов без необходимости скачивания каждый раз списков CRL. Безусловно, я не ставил перед собой задачу полного раскрытия всех аспектов конфигурирования OCSP (читай, срывания покровов), но показать основные ключевые этапы, которые придётся пройти каждому, кто будет настраивать OCSP в своих сетях. Поэтому в конце прилагаю несколько ссылок на более полное и глубокое исследование этого вопроса:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc753468(WS.10).aspx" target=_blank&gt;Setting Up Online Responder Services in a Network&lt;/A&gt; &lt;BR&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc770413(WS.10).aspx" target=_blank&gt;Online Responder Installation, Configuration, and Troubleshooting Guide&lt;/A&gt;&lt;/P&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=dd355e23-ba68-4ff5-a89b-26e7ff2fc089"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,dd355e23-ba68-4ff5-a89b-26e7ff2fc089.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / OCSP</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=8d874040-7f98-4539-ab0e-8af4146ae94b</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=8d874040-7f98-4539-ab0e-8af4146ae94b</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <title>OCSP (часть 1)</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx</link>
      <pubDate>Sun, 19 Apr 2009 18:27:36 GMT</pubDate>
      <description>&lt;div&gt;&lt;H1 align=center&gt;Введение&lt;/H1&gt;
&lt;P&gt;Сегодня хочу поговорить про &lt;STRONG&gt;OCSP&lt;/STRONG&gt; – &lt;EM&gt;Online Certificate Status Protocol&lt;/EM&gt;, который служит для проверки статуса сертификата на предмет отозванности. Как известно, стандартным механизмом проверки статуса сертификата является публикация &lt;STRONG&gt;CRL&lt;/STRONG&gt; (&lt;EM&gt;Certificate Revocation List&lt;/EM&gt;). В жизни существует 2 вида CRL:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Base CRL&lt;/STRONG&gt; – полный список CRL, в котором указываются серийные номера всех отозванных в CA сертификатов и причина отзыва. Поддерживается всеми современными системами Windows. Характеризуется большим объёмом и не очень частой публикацией для уменьшения трафика. 
&lt;LI&gt;&lt;STRONG&gt;Delta CRL&lt;/STRONG&gt; – инкрементальный (хотя по факту это скорее дифференциальный) список CRL, в который включаются только сертификаты, которые были отозваны с момента последней публикации полного Base CRL. Характеризуется небольшим объёмом и относительно частой публикацией. Нативно поддерживается только системами не ниже Windows XP. Windows 2000 нативно не умеет его читать, но это становится возможным после применения патча &lt;A href="http://www.microsoft.com/technet/security/bulletin/MS04-011.mspx" target=_blank&gt;MS04-011&lt;/A&gt;. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Опыт использования технологии CRL в широкой массе показал её негативные стороны. Если говорить о Base CRL, то Windows Server 2003/2008 по умолчанию публикуют этот список раз в неделю и в него включаются все сертификаты, которые были выданы и отозваны с момента последнего обновления сертификата CA. Т.к. эти сертификаты как правило выдаются на долгий срок (от 5 до 20 лет), то эти списки со временем могут сильно распухнуть. Из-за этого клиенту для проверки сертификата нужно вытягивать весь Base CRL с CA и искать там требуемый сертификат. Кстати, почему HTTPS сайты частенько тормозят &lt;img alt=":)" src="/smilies/happy.gif"&gt; Учитывая, что Base CRL публикуются не очень часто, то для обеспечение наиболее актуального списка CRL была внедрена система Delta CRL, которая включает в себя только сертификаты, которые были отозваны с момента последней публикации Base CRL. По умолчанию CA под управлением Windows Server 2003/2008 публикуют его раз в сутки.&lt;/P&gt;
&lt;P&gt;Но это не отменяет необходимости клиенту как скачивать не только Base CRL, но и приходится дополнительно скачивать Delta CRL. Однако Certificate Services в Windows Server 2008 позволяют нам сделать жизнь чуточку лучше и облегчить процесс валидации сертификата за счёт использования &lt;STRONG&gt;OCSP&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; на самом деле в Windows Server 2008 и выше службы CS теперь называются &lt;STRONG&gt;AD CS&lt;/STRONG&gt; – &lt;EM&gt;Active Directory Certificate Services&lt;/EM&gt;. Это не просто банальный ребрендинг, а констатация факта, что &lt;U&gt;Certificate Services более недоступны без домена AD&lt;/U&gt;. Т.е. роль добавить можно (это будет Standalone CA), но вам потребуется контроллер домена для управления шаблонами. Поэтому не пытайтесь добавлять роль AD CS в условиях рабочей группы.&lt;/P&gt;
&lt;P&gt;Вкратце, OCSP работает очень просто: клиент для проверки статуса сертификата отправляет запрос на OCSP Responder с указанием серийного номера проверяемого сертификата. OCSP Responder на своей стороне проверяет статус сертификата и возвращает этот статус клиенту.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; &lt;U&gt;использовать протокол OCSP нативно умеют только клиенты под управлением Windows Vista и выше&lt;/U&gt;. Предыдущие ОС могут его поддерживать только за счёт сторонних компонентов.&lt;/P&gt;
&lt;H1 align=center&gt;Настройка шаблона CA&lt;/H1&gt;
&lt;P&gt;Итак, для начала нам потребуется установленный в сети Certification Authority под управлением Windows Server 2008 (любой редакции, кроме Web). По умолчанию с добавлением роли  AD CS добавляется и служба Online Respnder. Для этого так же потребуется установить службы IIS, о чём мастер вам сообщит и предложит сделать. На сервере CA необходимо запустить оснастку Certificate Templates (&lt;FONT color=#0000ff&gt;Start –&gt; Run... –&gt; certtmpl.msc&lt;/FONT&gt;) и там найти шаблон &lt;STRONG&gt;OCSP Response Signing&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP_B47E/ocsp1_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="OCSP Template" border=0 alt="OCSP Template" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP_B47E/ocsp1_thumb.jpg" width=406 height=502&gt;&lt;/A&gt; fig.1&lt;/P&gt;
&lt;P&gt;Данный шаблон характеризуется следующими свойствами:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;срок действия сертификата составляет 2 недели 
&lt;LI&gt;на вкалдке Request Handlings добавлено право чтения приватного ключа для службы Network Service, поскольку &lt;U&gt;служба OCSP работает от лица Network Service, а не LocalSystem&lt;/U&gt; (для LocalSystem отдельных разрешений не требуется) 
&lt;LI&gt;шаблон не содержит CDP и AIA расширений 
&lt;LI&gt;шаблон помечен как неподлежащий для проверки на отзыв (см. fig.1) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;На вкладке Security необходимо для учётной записи компьютера, на котором размещён CA выдать право &lt;STRONG&gt;Allow Read&lt;/STRONG&gt; и &lt;STRONG&gt;Allow Enroll&lt;/STRONG&gt;. Это единственное изменение, которое необходимо выполнить для шаблона. Теперь нужно открыть оснастку Certificate Authority и добавить этот шаблон для выдачи:&lt;/P&gt;
&lt;P&gt;правой кнопкой на &lt;FONT color=#0000ff&gt;Certificate Templates –&gt; New –&gt; Certificate Template to Issue –&gt; OSCP Response Signing&lt;/FONT&gt;. Далее нужно создать оснастку Certificates для учётной записи компьютера и запросить сертификат на основе этого шаблона.&lt;/P&gt;
&lt;P&gt;После запроса сертификата не стоит закрывать оснастку Certificates, а выбрать новый сертификат и в &lt;STRONG&gt;All Tasks&lt;/STRONG&gt; выбрать &lt;STRONG&gt;Manage Privete keys&lt;/STRONG&gt;. В открывшемся окне Permissions выдайте право &lt;STRONG&gt;Read&lt;/STRONG&gt; для учётной записи &lt;STRONG&gt;Network Service&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP_B47E/ocsp2_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="Permissions for OCSP Private Key" border=0 alt="Permissions for OCSP Private Key" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP_B47E/ocsp2_thumb.jpg" width=371 height=446&gt;&lt;/A&gt; fig.2&lt;/P&gt;
&lt;H1 align=center&gt;Настройка CA&lt;/H1&gt;
&lt;P&gt;Следующим этапом нужно подготовить сам CA для работы с OCSP. Для этого вызываем свойства самого CA и переходим на вкладку Extensions:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP_B47E/ocsp3_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="CA Extensions" border=0 alt="CA Extensions" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP_B47E/ocsp3_thumb.jpg" width=407 height=533&gt;&lt;/A&gt;fig.3 &lt;/P&gt;
&lt;P&gt;В списке Extensions выбираем Authority Information Access (AIA), нажимаем Add и в поле вписываем URL для OCSP. В моём случае это http://dc2.contoso.com/ocsp. А так же выставляем обе галочки внизу, чтобы этот путь добавлялся во все издаваемые этим CA сертификаты.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание от 09.08.2009:&lt;/FONT&gt;&lt;/STRONG&gt; здесь у меня опечатка - нужно поставить только одну галочку, а именно - только нижнюю. Адрес OCSP не нужно добавлять в AIA издаваемых сертификатов, иначе клиент будет с OCSP адреса пытаться скачать CRT файл.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; учитвая, что срок действия такого сертификата всего 2 недели, не следует этот шаблон добавлять в Autoenrollment (если используется) Policies, т.к. тут возможны трудности с валидацией сертификата на отрезке времени когда обновляется сертификат CA. Вот как это может выглядеть:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP_B47E/ocsp4_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-TOP: 0px; MARGIN-RIGHT: auto; BORDER-RIGHT: 0px" title="Renewal issues" border=0 alt="Renewal issues" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/OCSP_B47E/ocsp4_thumb.jpg" width=515 height=191&gt;&lt;/A&gt;fig.4&lt;/P&gt;
&lt;P&gt;в промежутке t0 – t2 используется старый ключ CA для подписи сертификатов (в том числе и OCSP). В промежутке t1-t3 используется новый сертификат CA. И когда наступает этап t1, когда старый сертификат ещё до истечения срока обновляется на новый, то в промежутке t1-t2 может случиться следующее:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;клиент отправляет запрос на проверку статуса сертификата Cert1 или Cert2, которые подписаны ключом CA Key 1 
&lt;LI&gt;на сервере CA уже действует новый ключ CA Key 2 и, соответственно, подписанный новым ключом сертификат OCSP 
&lt;LI&gt;сервер подписывает новым ключом OCSP ответ для клиента и пересылает 
&lt;LI&gt;клиент сверяет подписи OCSP и проверяемого сертификата. Подписи не совпадут, т.к. сертификат подписан ключом CA Key 1, а OCSP ответ уже ключом CA Key 2 и откланяет ответ от OCSP Responder, поскольку &lt;STRONG&gt;&lt;U&gt;&lt;FONT color=#ff0000&gt;проверяемый сертификат и сертификат подписи Online Responder должны быть подписаны одним ключом CA&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Чтобы устранить проблему на указанном отрезке времени в Windows Server 2008 включено обновление OCSP Signing сертификатов с использованием существующих ключей. По умолчанию оно не включено, поэтому для активации такого обновления в командной строке следует выполнить:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;certutil –setreg ca\UseDefinedCACertInRequest 1&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;После выполнения этой команды должно получиться нечто похожее на:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;C:\Users\administrator&gt;certutil -setreg ca\UseDefinedCACertInRequest 1 &lt;BR&gt;SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\contoso-DC2-CA\UseDefine &lt;BR&gt;dCACertInRequest: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;New Value: &lt;BR&gt;  UseDefinedCACertInRequest REG_DWORD = 1 &lt;BR&gt;CertUtil: -setreg command completed successfully. &lt;BR&gt;The CertSvc service may need to be restarted for changes to take effect.&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Как гласит сообщение, после этой процедуры следует перезапустить службу AD CS:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;net stop certsvc &lt;BR&gt;net start certsvc&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;На сегодня, пожалуй, всё, а в следующий раз продолжим с конфигурированием Online Responder и политики отзыва сертификатов.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=8d874040-7f98-4539-ab0e-8af4146ae94b"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,8d874040-7f98-4539-ab0e-8af4146ae94b.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / OCSP</category>
    </item>
  </channel>
</rss>