Реклама:

Рассмотрим поэтапно, как производится квитирование связи Kerberos.

1. Пользователь Alice (находящийся перед браузером) хочет пообщаться с пользователем Bob (учетная запись рабочего процесса Web-приложения). Вначале Alice запрашивает билет службы для Bob.

2. Контроллер домена предоставляет билет (в случае предварительной успешной регистрации Alice на домене). Этот билет содержит некоторую необходимую для службы Bob информацию об Alice, и частности информацию о группе доменов, членом которых она является. Билет зашифрован ключом, который знает только Bob (и еще контроллер домена), то есть ключ может использоваться только для аутентификации с помощью службы Bob - остальные же службы делать этого не могут.

.'I. I [ользователь Alice отправляет билет пользователю Boh. (Этот шаг сильно упрощен. В действительности производится намного больше операций, в том числе таких, которые предупреждают атаки.)

Пользователь Bob, точнее ISA на машине пользователя Bob, синтезирует маркер Windows из содержащейся в билете информации о пользователе Alice, локальных группах и локальных привилегиях, предоставленных пользователю Alice.

Генерируется сеанс регистрации, очень похожий на гот, в котором пользователь Alice был зарегистрирован локально на машине, где запущено приложение. Этот маркер связывается с ASP.NET и может использоваться для получения доступа и выполнения проверок ролей пользователя Alice в Web-приложении (например, путем вызова метода Context.User.IslnRole). 4. 11ольлователь Alice котирует билет. Каждый раз, когда этому пользователю нужно выполнить в приложении повторную аутентификацию, он может использовать кзшированный билет (пока не закончится время его действия). Повторное обращение к контроллеру домена не требуется.

Как видите, очень важно, чтобы клиенты были подключены к контроллеру домена до аутентификации на сервере. Именно поэтому протокол Kerberos не пригоден для и нтернет-сценариев.

["J ПРИМЕЧАНИЕ Просматривать и очищать кэш билета позволяет инструмент KerbTray (httpj/www.microsoft.corrtnindows200& Его удобно использовать для устранения неполадок.

Авторизация

Помимо уже известных вам механизмов авторизации вместе с аутентификацией Windows используются методы и модули UrlAuthorization, IslnRole, PrincipulPermission и FileAuthorizationModule (рис. 5-10).

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

Рис, 5-10. Авторизация файла в ASP.NET

Модуль FileAuthorization проверяет марке)) Windows, созданный во время аутентификации IIS, на доступ к запрошенному ресурсу, в частности к странице. Это означает, что клиенты должны иметь, по меньшей мере, доступ Read к Web-ресурсам. Сказанное может несколько сбить с толку, например, когла у нас включена аутентификация Windows в ASP.NET и разрешен анонимный доступ н US. Учетной записи Я/5 RMACHINENAME требуется доступ Read к страницам по той причине, что это идентификатор клиента согласно IIS.

В конце настоящего раздела я приведу страницу диагностики ShowContext.aspx, которая инспектирует все эти идентификаторы и их изменения с учетом конфигурации.


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