Основы защиты Active Directory
🕛 20.01.2009, 17:03
Существуют некоторые основные концепции, необходимые для понимания принципов защиты Active Directory в сети Windows Server 2003. Защита Active Directory строится на двух типах объектов и на взаимодействии между ними. Первый объект - участник безопасности, который представляет пользователя, группу, службу или компьютер, который нуждается в доступе к некоторому ресурсу в сети. Второй объект -это сам ресурс, являющийся объектом, к которому нужно получить доступ участнику безопасности. Чтобы обеспечить надлежащий уровень защиты, служба Active Directory должна идентифицировать участников безопасности, а затем предоставлять правильный уровень доступа к ресурсам.Участники безопасности
Только участники безопасности службы Active Directory могут входить в Active Directory и получать разрешения на доступ к ресурсам сети. Участник безопасности - это объект Active Directory, который представляет пользователя, группу, службу или компьютер. Каждому участнику безопасности при создании объекта назначается идентификатор защиты (SID). Идентификатор SID составлен из двух частей. Первая часть -идентификатор домена, все участники безопасности в домене имеют один и тот же идентификатор домена. Вторая часть идентификатора SID -относительный идентификатор (RID), который является уникальным для каждого участника безопасности в домене Active Directory.
Идентификатор SID является основным компонентом конфигурирования защиты для ресурсов, расположенных в сети Windows Server 2003. При выдаче разрешения на доступ к ресурсу вы используете отображаемое имя участника безопасности, но Windows Server 2003 фактически использует SID для управления доступом к ресурсу. Когда пользователь пытается обратиться к ресурсу, расположенному на сервере в домене, операционная система предоставляет разрешение идентификатору SID пользователя, а не имени человека. Это означает, что если отображаемое имя пользователя изменено, разрешения, представленные пользователю, не изменяются. Однако если пользовательский объект удален, а затем создан заново с тем же самым именем, пользователь не сможет обращаться к ресурсам, так как SID изменится.
Списки управления доступом
Еще один компонент, включенный в защиту Active Directory, - это объект, к которому участник безопасности должен обращаться. Этот может быть другой объект Active Directory, например, организационная единица (OU), принтер или участник безопасности. Объект может быть файлом на сервере с системой Windows Server 2003 или почтовым ящиком на сервере с Microsoft Exchange 2000 Server.
Разрешения, которые предоставляются этим объектам, расположены в списке управления доступом (ACL - Access Control List), также называемом дескриптором защиты (security descriptor). Каждый объект в Active Directory или в разделе файловой системы NTFS имеет дескриптор защиты. Дескриптор защиты включает идентификатор SID участника безопасности, который владеет объектом, а также SID для основной группы объекта. Кроме того, каждый объект имеет два отдельных списка ACL: список управления разграничительным доступом (DACL - Discretionary Access Control List) и список управления системным доступом (SACL - System Access Control List). Список DACL перечисляет участников безопасности, которым были назначены разрешения на доступ к объекту, а также уровень разрешений, которые были назначены
каждому участнику безопасности. Список DACL состоит из записей управления доступом (АСЕ - Access Control Entries). Каждая запись АСЕ содержит идентификатор SID и определяет уровень доступа к объекту, который разрешен данному SID. Список АСЕ включает записи для всех типов участников безопасности. Например, учетная запись пользователя может иметь разрешение Read (Чтение) для файла, а группа защиты -разрешение Full Control (Полное управление). Список DACL для файла имеет, по крайней мере, две записи АСЕ, одну - на предоставление пользователю разрешения Read, другую - на предоставление группе разрешения Full Control.
Список SACL перечисляет участников безопасности, чей доступ к ресурсу должен подвергаться аудиту. Список записей АСЕ в SACL указывает, чей доступ должен подвергаться аудиту, а также необходимый уровень аудита.
Примечание. Список DACL может содержать записи АСЕ, которые предоставляют доступ к ресурсу, а также АСЕ, которые запрещают доступ. Записи АСЕ, которые запрещают доступ, всегда перечисляются первыми в ACL, так что подсистема защиты сначала оценивает их. Если АСЕ запрещает доступ к ресурсу, то подсистема защиты не оценивает другие записи АСЕ, т.е. запись АСЕ, запрещающая доступ к ресурсу, всегда отменяет любую запись АСЕ, которая предоставляет доступ определенному идентификатору SID.
Лексемы доступа
Связующей точкой между SID участника безопасности и ACL является лексема доступа. Когда пользователь аутентифицируется через Active Directory, в процессе входа в систему ему назначается лексема доступа. Эта лексема включает основной SID пользователя, идентификаторы SID всех групп, которым принадлежит пользователь, а также права и привилегии пользователя.
Лексема доступа используется подсистемой защиты всякий раз, когда пользователь пытается обратиться к ресурсу. В этом случае лексема предъявляется компьютером клиента любому процессу или приложению, которые запрашивают информацию, касающуюся безопасности, перед получением доступа к ресурсу. Например, когда пользователь пытается обратиться к почтовому ящику сервера, на котором выполняется Exchange 2000 Server, лексема доступа предъявляется серверу. Подсистема защиты Exchange 2000 Server сравнивает идентификаторы SID в лексеме доступа с разрешениями, которые были предоставлены в списке ACL. Пользователь сможет открыть почтовый ящик, если это позволяют разрешения, предоставленные данному идентификатору SID.
Аутентификация
Чтобы процессы защиты, включающие использование идентификаторов SID и записей ACL, работали должным образом, должен существовать какой-то способ, которым пользователь получает доступ к сети. По существу, пользователи должны иметь возможность доказать, что они являются теми, кем они себя представляют, чтобы извлечь свою лексему доступа с контроллера домена. Этот процесс называется аутентификацией.
Аутентификация происходит перед входом клиента в систему. Когда пользователь садится за компьютер с системами Windows 2000 или Microsoft Windows XP Professional и вводит Ctrl+Alt+Del, служба Winlogon локального компьютера переключается на экран входа в систему и загружает файл Graphic Identification and Authentication (GINA) (Графическая идентификация и аутентификация) из библиотеки динамической компоновки (DLL). По умолчанию этот файл - Msgina.dll. Однако сторонние производители могут создавать альтернативные файлы GINA (например, клиент системы Netware использует файл Nwgina.dll). После того как пользователь впечатал имя пользователя, пароль и выбрал домен, GINA передает введенные «верительные грамоты» службе Winlogon. Winlogon передает информацию локальной службе безопасности LSA (Local Security Authority). Служба LSA немедленно применяет к паролю пользователя операцию одностороннего кэширования и удаляет понятный текстовый пароль, который пользователь напечатал. Затем вызывается соответствующий провайдер защиты (SSP - Security Support Provider) через интерфейс провайдеров защиты (SSPI - Security Support Provider Interface). Windows Server 2003 обеспечивает двух основных SSP-провайдеров для сетевой аутентификации - KerbeVos SSP и NT LAN Manager (NTLM) SSP. Если клиенты с системой Windows 2000, или более поздней, входят в сеть системы Windows 2000 или Windows Server 2003, выбирается SSP Kerberos, и информация передается SSP. Затем SSP связывается с контроллером домена для подтверждения подлинности пользователя. Опознавательный процесс с использованием протокола Kerberos будет описан далее в этой главе.
Если процедура входа в систему прошла успешно, значит, пользователь аутентифицирован, и ему предоставлен доступ к сети. Если пользователь вошел в домен и все ресурсы, к которым пользователю нужно обратиться, находятся в том же самом лесу, то это единственный момент аутентификации пользователя. Пока пользователь не выйдет из системы, все разрешения, которые он получит в сети, будут основаны на начальной аутентификации.
Разрешение
Разрешение (authorization) - это второй шаг в процессе получения доступа к сетевым ресурсам, он происходит после аутентификации. В про
цессе аутентификации вы доказываете свою идентичность, впечатывая правильное имя пользователя и пароль. В процессе разрешения вам дается доступ к сетевым ресурсам. В процессе аутентификации для вас создается лексема доступа. В процессе разрешения вы предъявляете лексему доступа серверу или службе и запрашиваете доступ к ресурсу. Если идентификатор SID в вашей лексеме доступа соответствует идентификатору SID в записи ACL, которая предоставляет доступ, вам предоставляется доступ к ресурсу.