Смекни!
smekni.com

Анализ системы безопасности Microsoft Windows 2000 Advanced Server и стратегий ее использования (стр. 8 из 12)

Kerberos действует как надежная служба аутентификации третьей фирмы, используя общие секретные ключи.. В Windows 2000 общий секретный ключ генерируется при входе компьютера в домен. По­скольку обе стороны сеанса Kerberos доверяют KDC, они доверяют друг другу. На практике это доверие реализовано как безопасный об­мен зашифрованными ключами, которые подтверждают участникам взаимодействия идентификационные данные другой стороны.

Аутентификация Kerberos работает следующим образом.

1. Клиент запрашивает возможный набор идентификационных дан­ных для данного сервера у KDC, отправляя запрос в простом тек­стовом формате, содержащий имя клиента (идентификатор).

2. KDC ищет секретные ключи, как клиента, так и сервера в своей базе данных (Active Directory) и создает билет (ticket), содержащий случайный ключ сеанса, текущее время KDC, заданное политикой время окончания, и, в зависимости от параметров, любую другую информацию, хранимую в базе данных. В случае Windows 2000 в билете содержатся идентификаторы SID.

3. Билет зашифровывается с использованием секретного ключа кли­ента.

4. Создается второй билет, называемый билетом сеанса (session ticket), содержащий ключ сеанса и необязательные данные аутентифика­ции, которые зашифровываются с использованием секретного клю­ча сервера.

5. Соединенные билеты передаются обратно клиенту. Серверу аутентификации нет необходимости явным образом про­верять подлинность клиента, потому что только обладающий пол­номочиями клиент может расшифровать билет.

6. После того как клиент получил в свое распоряжение допустимый билет и ключ сеанса для сервера, он инициирует взаимодействие непосредственно с сервером. Для этого клиент конструирует удо­стоверение (authenticator), состоящее из текущего времени, имени клиента, по желанию — зависящую от приложения контрольную сумму и случайным образом сгенерированный начальный номер последовательности и/или подключ сеанса, используемые для извле­чения уникального идентификатора сеанса для требуемой службы. Удостоверения действуют только для одной попытки и не могут применяться повторно или использоваться в атаках воспроизведе­ния, потому что они зависят от текущего времени. Удостоверение шифруется при помощи ключа сеанса и передается вместе с биле­том сеанса серверу, у которого запрашивается служба.

7. Когда сервер получает билет от клиента, он расшифровывает билет сеанса при помощи общего секретного ключа сервера (если суще­ствует более одного ключа, нужный ключ указывается в части би­лета в простой текстовой форме).

8. Затем сервер извлекает из билета ключ сеанса и использует его для расшифровки удостоверения. Способность сервера расшифровать билет подтверждает, что он был зашифрован при помощи секрет­ного ключа сервера, известного только KDC и самому серверу, та­ким образом, подлинность клиента подтверждается. Удостоверение используется для гарантии того, что взаимодействие недавнее и не является атакой на основе повторного запроса.

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

Kerberos сокращает предоставление билетов, во время первого конта­кта с клиентом предоставляя билет сеанса самому себе так же, как и за­прашиваемому серверу. КОС отвечает на этот первоначальный запрос — сначала предоставляя билет сеанса для последующих запросов о билетах, называемый Ticket-Granting Ticket (билет на предоставление билетов, TGT), и затем — билет сеанса для запрашиваемого сервера. TGT устра­няет потребность в дальнейшем проводимом Active Directory поиске клиента, осуществляя предварительную аутентификацию последую­щих запросов о билетах точно таким же способом, каким Kerberos осуществляет аутентификацию всех остальных запросов. Как и лю­бой билет сеанса, билет TGT действителен до истечения срока дей­ствия, который зависит от политики безопасности домена.

Kerberos технически делится на две службы: службу TGT (единствен­ную службу, которая действительно осуществляет аутентификацию в Active Directory) и службу предоставления билетов, выдающую биле­ты сеансов по получении допустимого TGT.

6.1.2. Доверительные отношения между доменами

Kerberos работает через границы домена (домены в терминологии Kerberos называются сферами (realm), эти термины эквивалентны).

Имя домена, к которому принадлежит принципал безопасности, являет­ся частью имени принципала безопасности. Членство в одном дереве Active Directory автоматически создаст междоменные ключи Kerberos между родительским доменоми его дочерними доменами.

Обмен междоменными ключами регистрирует контроллеры домена одного домена в качестве принципалов безопасности в доверенном домене. Эта простая концепция дает возможность любому принципа­лу безопасности в домене получить билет сеанса в чужом КОС.

1. Когда принципал безопасности в одном домене хочет обратиться к принципалу безопасности в соседнем домене (один из доменов ро­дительский, другой дочерний), он отправляет запрос о билете сеан­са своему локальному КОС.

2. КОС определяет, что сервер назначения не находится в локаль­ном домене, и отвечает клиенту, отправляя ему билет направления (referral ticket), который является билетом сеанса, зашифрованный при помощи междоменного ключа.

3. Клиент использует билет направления для запроса билета сеанса непосредственно у чужого KDC.

4. Чужой KDC расшифровывает билет направления, потому что об­ладает междоменным ключом, подтверждающим, что доверенный контроллер домена доверяет клиенту (иначе он не предоставил бы ключ направления).

5. Чужой KDC предоставляет билет сеанса, допустимый для чужого сервера назначения.

Для более удаленных доменов этот процесс просто повторяется. Для доступа к принципалу безопасности в домене, расположенном на рас­стоянии двух узлов в иерархии доменов Active Directory, клиент за­прашивает билет сеанса для сервера назначения в своем KDC, который в ответ пересылает ему билет направления к следующему домену в пути. Затем клиент запрашивает билет сеанса, используя только что полученный билет назначения. Этот сервер просто ответит билетом назначения, допустимым для следующего сервера в цепочке. Этот про­цесс будет продолжаться до тех пор, пока не будет достигнут локаль­ный домен для принципала безопасности назначения. В этот момент ключ сеанса (технически — TGT и ключ сеанса) предоставляется запра­шивающему клиенту, который затем сможет пройти аутентификацию непосредственно у принципала безопасности назначения.

Последняя важная концепция в аутентификации Kerberos — делегиро­вание аутентификации. Делегирование аутентификации (delegation of authentication) — это механизм, посредством которого принципал безопасности дает возможность другому принципалу безопасности, с которым у него установлен сеанс, запрашивать аутенти­фикацию от своего имени у третьего принципала безопасности. Этот механизм важен в многозвенных приложениях, таких как web-узел с поддержкой базы данных. При помощи делегирования аутентифика­ции клиент—web-браузер может пройти аутентификацию у web-cepвера и затем предоставить web-серверу специальный билет TGT, ко­торый сервер сможет использовать для запроса билетов сеансов от своего имени, web-сервер сможет затем использовать передаваемые web-клиентом идентификационные данные для аутентификации на сервере баз данных.

6.1.3. Групповые политики

Групповая политика (Group Policy) — это основной механизм Win­dows 2000 при управлении конфигурацией клиентских рабочих стан­ций для контроля за безопасностью и для администрирования. Полити­ки (policy) — это, в общем случае, просто наборы изменений в установках компьютера по умолчанию. Политики обычно организуются так, чтобы отдельные политики содержали изменения, реализующие конкретную цель — например, отключение или включение шифрования файловой системы или контроль за программами, которые разрешено запускать пользователю.

Групповые политики (Group Policies) применяются к элементам кон­тейнера Active Directory (таким, как домен или Organizational Unit (Подразделение)). Группы безопасности могут быть использованы для фильтрации групповых политик, но политики нельзя применять к группам безопасности. Групповая политика Windows 2000 не являет­ся только механизмом безопасности — ее основное предназначение состоит в управлении изменениями и конфигурацией, — но она позво­ляет администраторам создавать дополнительные системы безопасно­сти, ограничивая свободу действий пользователей. Групповые политики можно применять для управления следующими элементами политик компьютера (computer policy):

- настройки реестра, связанные с конфигурацией и управлением без­опасности;

- установка программного обеспечения;

- сценарии, выполняющиеся при загрузке-завершении работы и вхо­де-выходе из системы;

- запуск служб;

- разрешения реестра;

- разрешения NTFS;

- политики открытого ключа;

- политики IPSec;

- настройки системы, сети и компонентов Windows.

Групповые политики можно применять для управления следующими элементами политик пользователя (user policy):

- установка программного обеспечения;

- настройки Internet Explorer;

- сценарии входа-выхода в систему;

- настройки безопасности;

- Remote Installation Service (служба удаленной установки);

- перенаправление папок;

- компоненты Windows;

- настройки стартового меню, панели задач, рабочего стола и Control Panel (Панель управления);