none
IIS пускает клиентов с отозванными сертификатами на сайт

    Вопрос

  • Добрый день!

    Есть две виртуальные машины windows server 2008 r2:

    • rootCA с поднятым ролью автономного корневого центра сертификации и IIS
    • iis_server с поднятой ролью IIS.

    На центре сертификации настроена публикация списка отзыва на локальный ресурс и указана точка распространения списка отзывов вида: http://iis_server/crld/<CaName><CRLNameSuffix><DeltaCRLDAlowed>.crl

    В IIS на rootCA настроен виртуальный каталог \crld, физически каталог располагается в C:\inetpub\crld. Туда же после публикации копируется список отзыва.

    С  iis_server есть доступ к http://iis_server/crld/rootCA.crl

    На iis_server установлен подписанный rootCA сертификат.

    Настроена проверка подлинности по SSL с обязательным требованием клиентского сертификата.

    Сайт на iis_server работает, клиентов по сертификату пускает.

    В сертификатах сервера iis_server и у клиентов прописаны точка распространения списков отзыва: http://iis_server/crld/rootCA.crl

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

    В чем может быть проблема?



    • Изменено Honorchist 13 октября 2017 г. 12:43
    13 октября 2017 г. 12:42

Ответы

  • Проблема, скорее всего, в том, что список отзыва кэшируется на сервере IIS (в хранилище сертификатов, примерно там же, где хранятся сертификаты): у списка отзыва есть срок действия и Windows не будет пытаться его обновлять, пока срок не истечёт (или почти  не истечёт - там есть нюансы).  Для решения проблемы можно настроить OCSP.

    Слава России!

    13 октября 2017 г. 13:28

Все ответы

  • Проблема, скорее всего, в том, что список отзыва кэшируется на сервере IIS (в хранилище сертификатов, примерно там же, где хранятся сертификаты): у списка отзыва есть срок действия и Windows не будет пытаться его обновлять, пока срок не истечёт (или почти  не истечёт - там есть нюансы).  Для решения проблемы можно настроить OCSP.

    Слава России!

    13 октября 2017 г. 13:28
  • Действительно проблема в была в кэше, Но как его вычистить и обновить нашел не сразу.

    Команда certutil -urlcache CRL delete не помогла.

    Помогла команда certutil -setreg chain\ChainCacheResyncFiletime @now

    Но приходится эту команду выполнять на машине iis_server после каждого отозванного сертификата в rootCA.

    Последовательность такая:

    1. отзываем сертификат.
    2. публикуем список отзывов
    3. на IIS_server выполняем команду:
    certutil -setreg chain\ChainCacheResyncFiletime @now

    После чего веб-сервер сразу же начинает отвергать подключения с отозванными сертификатами.

    Еще один нюанс: в моем случае точки распространения списков отзывов записаны только в сертификатах клиента, в связи с чем клиенты не проверяют сертификат клиента в списке отзыва, а сервер проверяет клиентов.

    Статья, в которой нашел эту команду.

    • Изменено Honorchist 1 ноября 2017 г. 11:54
    1 ноября 2017 г. 11:50