Реклама:

Включение клиентских сертификатов

Для включения клиентских сертификатов на Wcb-сервере следует установить SSL. (Более подробная информация об установке SSL приведена в главе 9.) После этого вы сможете конфигурировать приложение для принятия или требования клиентских сертификатов (рис. 5-31). Перейдите в окно Application Properties (Свойства приложения) и щелкните сначала кнопку Directory Security (Безопасность каталога),! а затем кнопку Edit Secure Communication (Изменить).

Байер Доминик Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс

Рис. 5-31. Конфигурирование сертификата SSL-клиент

HU ПРИМЕЧАНИЕ Отладчик Visual Studio не будет корректно работать, если не установить переключатель Accept client certificates (Принять клиентские сертификаты).

Во время квитирования связи SSL Wcb-сервср отправляет клиенту список приемлемых центров сертификации. Затем Internet Explorer выполняет поиск сертификатов | в хранилище персональных сертификатов пользователей, чтобы найти те, которые; были изданы одним из этих центров сертификации (Certificate Authority, CA). После I этого браузер отобразит диалоговое окно, в котором вы сможете выбрать для приложения правильный сертификат, если их найдено несколько (рис. 5-32).

Байер Доминик Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс

Рис. 5-32. Выборка сертификатов в Internet Explorer

В том случае, если браузером не будет найдено ни одного приемлемого сертификата, а сертификаты нужно предъявлять обязательно, сервер вернет следующую ошибку:

HTTP Error 403.7 - Forbidden: SSL client certificate is required.

Web-сервер составляет список действительных CA из числа тех, что хранятся па машине. В частности, он проверяет, установлены ли СА с целью включения аутентификации клиента (рис. 5-33). Вы можете отконфигурировать действие сервера, изменяя свойства сертификатов в интегрируемой Certificates ММС.

Байер Доминик Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс

Рис. 5-33. Конфигурирование назначения сертификатов СА

Если вы хотите сократить список принятых СА и ограничить его только специфическими СА (например, внутренними), снимите флажок Client Authentication (Клиентский сертификат) или удалите сертификаты СА (надеюсь, вы знаете, что делаете).

Еще один способ ограничения доступа лишь определенными СА заключается в установке в I IS списка доверенных сертификатов (Certificate Trust List, CTL). Это можно сделать только па уровне Web-сервера, а затем применить ко всем приложениям на сайте.

Для того чтобы добавить CTL, перейдите в окно Web Site Properties, щелкните кнопку Directory Security, а затем кнопку Edit Secure Communication, после чего выберите с помощью Certificate Trust List Wizard (рис. 5-34) из машинного хранилища разрешенные С А.

Независимо от CTL сервер все еще отправляет браузеру полный список СА, позволяющий осуществлять аутентификацию клиента. Если пользователь выберет сертификат, не разрешенный списком CTL, то сервер отправит такое сообщение об ошибке:

HTTP Error 403.16 - Forbidden: Client certificate is ill-formed or is not trusted by the Web server.

Байер Доминик Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс

Рис. 5-34. Установка CTL

Добавление аутентификации клиентских сертификатов

Наличие клиентского серт ификата можно проверить, использовав лля зтого свой-1 ство ClientCertificate класса HttpRequest. Если вы работаете в IIS, то свойство Is Valid в таком случае всегда должно иметь значение true. При использовании хостинга ASP. NET это невозможно. Свойство Subject содержит имя субъекта сертификата, которое указыва< т< я в учетной зашил по гьзователя, если серти рикат был издан CA совместно с Active Directory,


⇐ Предыдущая страница| |Следующая страница ⇒