2014-06-13 7 views
1

Я запускаю IIS 7.5 на Win2k8 и пытаюсь настроить двухсторонний SSL. Я включил Требовать сертификат клиента в IIS, я установил действительный корневой сертификат в доверенное корневое хранилище моей локальной машины, и я установил сертификат сервера и настроил IIS для его использования.Аутентификация клиента IIS без CDP

Когда я впервые протестировал эту конфигурацию, мне удалось подключиться к действительному сертификату и не удалось соединиться с ненадежным сертификатом. Все идет нормально. Однако, когда я отозвал сертификат пользователя, этот пользователь все еще мог получить доступ к веб-сайту с использованием отозванного сертификата. Я читал, что сервер, возможно, использовал кешированную копию CRL, поэтому я использовал «certutil -setreg chain \ ChainCacheResyncFiletime @now», чтобы очистить кеш, переименовал мой CRL в хранилище промежуточных сертификатов и повторил попытку. На этот раз сервер отклонил ВСЕ попытки подключения, в том числе те, которые имеют действительные сертификаты, возвратил 403.13 и «Функция аннулирования не смогла проверить отзыв, потому что сервер отзыва был отключен».

Моя установка немного необычна, потому что сервер CA недоступен для моей сети, поэтому нет OCSP и нет CDP. Вместо этого я вручную импортирую CRL на сервер всякий раз, когда выдается новый, назовите его один раз в неделю. Таким образом, я включил «Проверка отзыва сертификата клиента» и «Проверить отмену с использованием только кэшированного сертификата клиента», чтобы попытаться принудительно выполнить проверку на отмену и предотвратить попытку сервера перейти на недостижимый CDP и, таким образом, пропустить проверку, потому что сервер недостижима.

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

Как получить аутентификацию клиента и двухсторонний протокол SSL с проверкой отзыва, когда у меня нет доступа к CDP?

+0

Этот вопрос не соответствует теме, потому что речь идет не о программировании. Возможно, [Server Fault] (http://serverfault.com/) станет лучшим местом. Для чего это стоит, я думаю, это интересный вопрос. – jww

+0

Благодарим вас за советы. Я опубликовал сообщение на сервере Fault, и если я найду ответ, я постараюсь опубликовать его здесь (на всякий случай). – Toranth

+0

Ну, после работы с несколькими группами, включая поддержку Microsoft, похоже, что это невозможно. Если ваш корневой сертификат, сертификат клиента или CRL содержат информацию CDP или AIA, Windows будет ВСЕГДА идти туда первым, чтобы получить кешированную копию, прежде чем использовать CRL с ручным загрузкой. Только если ваши сертификаты и CRL вообще не имеют информации о CDP или AIA, Windows сможет проверять только локальные файлы. – Toranth

ответ

0

Не храните в CRL для хранения вручную. Сделать доступ к CDP :)

Вы можете сделать это: Найдите сервер в своей инфраструктуре, которая подключается к CDP, а также к вашему серверу.

Затем следует развернуть новые CRL и изменить DNS (или изменить файл hosts на своем сервере), чтобы указать на этот сервер, когда Windows/IIS запрашивает новый CRL.

Или сделайте этот новый сервер прокси-сервером (я думаю, он называется обратный прокси-сервер) делегирует запросы для нового CRL для исправления адресата на CDP.

Оба решения должны работать. Первое упомянутое может быть несколько сложнее реализовать и поддерживать, потому что вам нужно будет контролировать, действительно ли сценарий (или человек) развертывает CRL.

Смежные вопросы