Делегирование аутентификации
Одна из причин сложности доступа к сетевым службам состоит в том, что сетевая служба может быть распределена между несколькими серверами. Например, клиент для получения информации соединяется с крайним сервером внешнего интерфейса цепочки серверов, который должен подключиться к серверу базы данных, являющимся другим концом этой цепочки. Чтобы пользователь получил доступ только к санкционированной информации, для обращения к крайнему серверу базы данных должны использоваться «верительные грамоты» пользователя (вместо «верительных грамот» сервера внешнего интерфейса). В системе Windows 2000 протокол Kerberos обеспечивает это двумя способами: путем использования прокси-билетов (proxy tickets) и ретранслированных билетов (forwarded tickets). Если прокси-билеты разрешены, то клиент пошлет запрос на билет сеанса к центру KDC, требуя доступ к крайнему серверу. Служба KDC предоставит билет сеанса и установит на билете флажок PROXIABLE. Затем клиент представит билет сеанса серверу внешнего интерфейса, который использует его для доступа к информации, расположенной на крайнем сервере. Главная проблема с про-кси-билетами состоит в том, что клиент должен знать отличительные характеристики крайнего сервера. Другой вариант состоит в использовании ретранслированных билетов. Если эти билеты разрешены, то кли-
ент посылает запрос AS Exchange к центру KDC, требуя билет TGT, позволяющий серверу внешнего интерфейса обратиться к крайним серверам. Служба KDC создает билет TGT и посылает его клиенту для пересылки серверу внешнего интерфейса, который использует билет TGT для получения билета сеанса, позволяющего обратиться к крайнему серверу от имени клиента.
Имеется два существенных недостатка, связанных с реализацией делегирования аутентификации в системе Windows 2000. Первый недостаток состоит в том, что делегирование аутентификации может использоваться только в том случае, если клиент аутентифицирован через протокол Kerberos. Клиенты с системами Windows NT, Microsoft Windows 95 и Windows 98 не могут использовать делегирование аутентификации. В Windows Server 2003 клиент может использовать любой опознавательный протокол. Второй недостаток системы Windows 2000 касается защиты делегирования. В Windows 2000 после получения сервером внешнего интерфейса ретранслированного билета от центра KDC он может использовать его для доступа к любой сетевой службе от имени клиента. Windows Server 2003 имеет опцию, ограничивающую делегирование, т.е. учетную запись можно сконфигурировать так, что это делегирование будет применяться только для определенных сетевых служб (основываясь на основных именах служб). Ограниченное делегирование доступно в случае, если функциональный уровень домена установлен на функциональный уровень Windows Server 2003.
Для успешного делегирования аутентификации нужна гарантия, что и учетная запись пользователя, и учетная запись компьютера (или службы) сконфигурированы так, чтобы поддерживать делегирование аутентификации. Для этого обратитесь к окну Properties (Свойства) пользователя через инструмент Active Directory Users And Computers (Пользователи и компьютеры Active Directory), выберите вкладку Account (Учетная запись), а затем просмотрите список Account Options (Опции учетной записи). Удостоверьтесь, что oпция Account Is Sensitive And Cannot Be Delegated (Учетная запись точна и не может быть делегирована) не выбрана. (По умолчанию опция не выбрана.) Чтобы сконфигурировать учетную запись службы для делегирования, нужно определить, является ли учетная запись, используемая службой для входа в систему, нормальной учетной записью пользователя, или она является учетной записью LocalSystem. Если служба выполняется под нормальной учетной записью пользователя, обратитесь к вкладке Account пользователя и удостоверьтесь, что опция Account Is Sensitive And Cannot Be Delegated не выбрана. (По умолчанию она не выбрана.) Если служба выполняется под учетной записью LocalSystem, то делегирование было сконфигурировано в окне Properties компьютерной учетной записи (см. рис. 8-6). Чтобы реализовать уровень аутентификации Windows 2000, выберите опцию Trust This Computer For Delegation To Any Service (Kerberos Only) (Доверять этому компьютеру при делегиро-
вании к любой службе (Только протокол Kerberos)). Чтобы реализовать усовершенствованный уровень аутентификации Windows Server 2003, выберите опцию Trust This Computer For Delegation To Specified Services Only (Доверять этому компьютеру только при делегировании к указанной службе). Затем укажите, должен ли клиент подтверждать подлинность только с использованием протокола Kerberos, или он может использовать любой другой протокол, а затем выбрать службы (основываясь на основных именах служб, зарегистрированных в Active Directory), которым компьютер может представлять делегированные «верительные грамоты».
Рис. 8-6. Конфигурирование ограниченного делегирования для учетной записи компьютера