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

Рис. 5-17. Конфигурирование ограниченного делегирования

■!'

Щелкните кнопку Add, чтобы указать службы, которым можно делегировать мандаты. У ваг может создаться впечатление, что вы выбираете машину в сети. На самом же деле вы лишь определяете, для каких SPN можно запрашивать билеты при олицетворении клиента.

ПРИМЕЧАНИЕ Для файловой службы именем SPN является CIFS/server.domain.com. (CIFS означает Common Internet File System.) К сожалению, SPN не всегда именуются последовательно. Например, SQL Server требует также указывать порт, на котором прослушивается экземпляр службы SQL (даже если это порт по умолчанию). В SQL Server имя SPN для экземпляра по умолчанию (и порта по умолчанию) выглядит примерно так: MSSQLSvc/server.domain.com: 1433. Убедитесь, что имена SPN для серверного ресурса сконфигурированы правильно. Если вы не можете определить, для какого SPN запрашивает билет Web-сервер, вам поможет такой анализатор пакетов, как Ethereal (http://www ethereal.com) — результаты его действия, показаны на рис. 5-18. Анализатор Ethereal напрямую поддерживает Kerberos, а на Web-сервере вы увидите трафик для протокола KRBS (Kerberos, версия 5). Если вы проинспектируете TGS^REQ (запрос билета службы), то определите SPN.

Следует также удостовериться, что собственные учетные записи, используемые для Web-приложения, имеют привилегию Impersonate, а учетная запись клиента делегируема. Первое условие конфигурируется в локальной политике безопасности, как было описано ранее, а для второго используется настройка пользовательской учетной записи. (Определенные учетные записи, в том числе Domain Admin, следует конфигурировать как «уязвимые» и не использовать для делегирования.) Настройки делегирования учетных записей указаны на рис. 5-19.

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

Рис. 5-18. Анализ трафика Kerberos с помощью анализатора пакетов Ethereal

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

Рис. 5-19- Настройки делегирования учетных записей

Если вес предварительные условия выполнены, олицетворите клиента в Web-приложении (либо автоматически, либо программным методом) и получите доступ к таким серверным ресурсам, как SQL Server и общие файлы.

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

Successful Network Logon: User Name: ribaier Domain: LEASTPR1VILEGE Logon ID: (0x0,0x3995E) Logon Tyoe: 3 Logon Process: Kerberos Authentication Package: Kerberos Workstation Name:

Logon GUID: {ce693..26f359}

Caller User Name:

Caller Domain:

Caller Logon ID:

Caller Process ID:

Transited Services:

HTTP/aspsed. leastprlvilege.homeeLEASTPRIVILEGE. home

Source Network Address:192.168.0.го

Защита и получение доступа к внешним ресурсам

Итак, вы знаете о влиянии олицетворения на контекст зашиты, а также о различных идентификаторах:

идентификаторе процесса (отконфигурированного через пул приложения);

идентификаторе клиента (найденного в Context.User и Thread.CurrentPrincipal и синхрон изированного);


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