
Тестирование / tsure052
.pdf3Ключ аналогичен директориям файловой системы. Включает подключи и параметры.
4Параметры аналогичны файлам в файловой системе. Представляют собой самый нижний уровень в иерархической системе. Параметры состоят из 3 частей: имени; типа данных; значения параметра.
Компьютер (сервер или рабочая станция) под управлением Windows NT может занимать одно из следующих мест в сети:
•Станция в составе рабочей группы. Ресурсы каждой рабочей станции доступны другим рабочим станциям в составе группы. Информация безопасности, управляющая допуском пользователей к ресурсам рабочей станции, хранится на этой станции.
•Член домена. В домене предусмотрено централизованное управление безопасностью через базу данных, хранящуюся на одном из серверов домена, который называется первичным контроллером домена (Primary Domain Controller - РОС).
•Клиентская рабочая станция в составе гетерогенной вычислительной сети
(например, IntranetWare и Windows NT). Удаленный доступ к ресурсам данной рабочей станции невозможен.
Вмодели рабочей группы пользователи совместно используют ресурсы локальных компьютеров. Эта модель не требует наличия центрального сервера. Управление безопасностью распределено по сети. Данная модель применима для небольшого числа рабочих станций (не более 10 в рабочей группе). Понятие домена было введено для того, чтобы довести модель рабочей группы до масштаба предприятия. Домен представляет собой логическую группу серверов и рабочих станций и обеспечивает единую систему идентификации и аутентификации пользователей, когда пользователь может регистрироваться в домене с любой разрешенной рабочей станции..
Всостав домена входит сервер Windows NT, который содержит основную копию базы данных, включающую описания пользователей, групп и рабочих станций, входящих в состав домена. Он называется первичным контроллером домена (Primary Domain Controller - PDC). Для повышения надежности база данных домена копируется на другие серверы домена, называемые резервными контроллерами домена (Backup Domain Controller - BDC).
Каждый сервер Windows NT может выступать в одной из трех ролей:
21
•первичный контроллер домена;
•резервный контроллер домена;
•член домена (Member Server), не содержащий копии базы данных домена.
Вотношении первичного контроллера домена справедливы следующие утверждения:
•домен имеет один первичный контроллер;
•база данных первичного контроллера домена содержит информацию о всех пользователях данного домена;
•все изменения, вносимые администратором, производятся на первичном контроллере домена;
•база данных, содержащаяся в первичном контроллере домена, реплицируется на резервный контроллер домена, что позволяет пользователям осуществлять аутентификацию на резервном контроллере домена; такая возможность обусловлена тем обстоятельством, что в Windows NT, в отличие от IntranetWare, информация о времени регистрации и сетевом адресе пользователей не фиксируется в базе данных;
•для обеспечения отказоустойчивости информационная база данных домена периодически копируется из первичного контроллера домена на резервные контроллеры домена;
•в случае выхода из строя сервера, содержащего первичный контроллер домена, один из серверов, содержащих резервный контроллер домена, может быть вручную переведен администратором в первичные контроллеры домена.
Вдоменной структуре Windows NT определены понятия глобальных и локальных пользователей и групп. Глобальным группам и пользователям могут быть предоставлены права и допуски в пределах всего домена, локальным только на данном сервере или рабочей станции. Глобальные группы могут быть включены в локальные. По умолчанию определены две глобальные группы: Domain Administrators и Domain Users. В группу Administrators на каждом компьютере домена по умолчанию включается группа Domain Administrators.
Изложенная выше структура носит название NT Directory Services (NTDS). По сравнению со службой сетевого каталога NDS NTDS обладает двумя основными недостатками. Первый из них состоит в том, что NTDS имеет одномерную структуру. Одномерная структура имен удобна для относительно небольшой организации (число
22
пользователей не более 100). При числе пользователей, превышающем 100, резко возрастают стоимостные затраты, связанные с администрированием. При числе пользователей порядка 1000 администрирование становится практически невозможным. В то же время в лаборатории Novell была успешно смоделирована и сертифицирована независимой фирмой Key Labs Inc. IntranetWare с NDS на 2 миллиона пользователей. Второй недостаток состоит в том, что в NTDS отсутствует возможность изменять схему (то есть перечень объектов и набор параметров, описывающих каждый объект).
Для управления доступом пользователей к объектам NTDS используются следующие возможности:
•Система ограничений, содержащихся в описании пользователей. Эта система в целом аналогична той, что действует в NDS, но поскольку аутентификация в NTDS выполняется только в момент регистрации, эти ограничения действуют только в период первичной регистрации пользователей в домене и не распространяются на весь сеанс работы, как в IntranetWare.
•Права пользователя на выполнение определенных действий. Обычно права пользователя выполнять эти действия определяются принадлежностью его к определенным группам.
•Допуск пользователей к объектам файловой системы. Определены права доступа пользователей и групп к объектам файловой системы на локальном компьютере (при использовании NTFS), и права доступа пользователей и групп к этим же объектам удаленно. При доступе пользователей к ресурсам рабочей станции по сети эффективные права определяются методом пересечения.
•Создание профилей пользователя.
•Определение системных политик.
Профили пользователя представляют собой набор параметров, определяющих:
•настройки рабочего стола пользователя (положение значков, обои и т.д.);
•автоматические подключения сетевых дисков при входе в сеть;
•приложения, которые запускаются при старте операционной системы. Различают следующие типы профилей пользователя:
•локальный профиль, хранящийся на рабочей станции;
•блуждающий, хранящийся на PDC и изменяющийся пользователем;
•мандатный, хранящийся на PDC и не изменяющийся пользователем.
23
Системная политика (System Policy) в Windows NT представляет собой некоторый набор значений, который присваивается соответствующим параметрам реестра в момент аутентификации пользователя в сети. Системная политика определяется для пользователя, группы пользователей и компьютера. В случае, если какой-то параметр системной политики противоречит настройкам профиля пользователя, используется настройка системной политики.
Использование профилей и системных политик позволяет создать замкнутую рабочую среду, облегчающую выполнение пользователем производственных задач и затрудняющих выполнение не относящихся к основной деятельности действий.
Для контроля за работой пользователей на персональных компьютерах, работающих под управлением Windows NT, администратор может задать политику аудита. В отличие от IntranetWare, не реализовано независимое от администратора управление аудитом. Регистрации подлежат следующие события:
•регистрация пользователей и окончание сеансов их работы в сети; аудиту подлежат как локальная, так и удаленная регистрация;
•доступ к файлам и объектам (только на NTFS разделе);
•управление пользователями и группами; создание, удаление, изменение и переименование, блокировка и разблокировка описаний, любые изменения паролей;
•изменения политики безопасности, прав пользователей или политики аудита;
•выключение и перезагрузка системы на локальной рабочей станции;
•слежение за процессами активации программ, опосредованного доступа к объектам и окончания работы процессов.
1.2.3. ПОЛЬЗОВАТЕЛИ И ГРУППЫ
Система безопасности в Windows NT ориентирована на использование стандартных описаний пользователей и стандартных групп, которые создаются в процессе инсталляции. К стандартным пользователям относятся Administrator (администратор) и Guest (гость). Administrator обладает полным контролем над системой и может выполнять следующие действия:
•управлять доступом пользователей к ресурсам сети;
•изменять конфигурацию сетевой операционной системы;
•создавать и иметь полной доступ к общим сетевым директориям;
24
•инсталлировать принтеры;
•создавать разделы на жестком диске и форматировать его.
Пользователь Guest имеет ограниченный администратором доступ к объектам файловой системы. Может быть использован для организации доступа относительно большого количества пользователей к некоторым файлам и директориям компьютера под управлением Windos NT как локально, так и удаленно.
К стандартным группам относятся (приводятся названия, принятые для NT Server и
для английской версии NT Workstation): Administrators; Backup Operators; Users; Guests; Replicator; Power Users (только для NT Workstation); Server Operators (только для NT server); Print Operators (только для NT server).
Помимо перечисленных выше групп определена группа Everyone. Эта группа включает по умолчанию в себя всех пользователей Windows NT. Список членов этой группы не может быть изменен. Стандартные группы не могут быть переименованы.
Чтобы однозначно идентифицировать пользователя или группу, Windows NT
использует идентификатор безопасности (Security Identifier, SID). При создании новой учетной записи Windows NT генерирует очередной уникальный SID, который будет применяться как идентификатор учетной записи в маркере доступа и списках контроля доступа. SID представляет собой структуру данных с переменной длиной и включает в себя следующие поля:
|
|
Таблица 9 |
|
|
Структура идентификатора безопасности |
|
|
|
Поле |
Длина, б |
Назначение |
Revision Level |
1 |
Версия идентификатора безопасности |
Sub-Authority |
1 |
Число полей с номерами подразделений |
count, n |
|
|
Identifier authority |
6 |
Номер ведомства, к которому относится данный |
|
|
идентификатор безопасности |
Sub-Authority [1] |
4 |
Первый номер подразделения (sub-authority values) |
... |
... |
... |
Sub-Authority [n] |
4 |
Последний номер подразделения. Спец. Название - |
|
|
относительный идентификатор (RID) |
В Windows NT SID хранятся в бинарном виде, но при выводе преобразуются в текстовый вид в формате S-1-X-Y1-Y2-...-Yn, где S-1 указывает на версию 1, Х - номер ведомства, а Y1-Y2-...-Yn обозначают номера подразделений. Если номер ведомства меньше 232, то он записывается в десятичном виде, иначе-в 16-ричном (нач. с 0х).
25
Среди преимуществ использования учетных записей - возможность переименования учетных записей (SID не меняется, след-но, права и привилегии остаются), и наоборот, при создании новой записи с именем, совпадающим со старым и уже удаленным, гарантированно права не перейдут к новому пользователю.
Значения SID можно посмотреть, например, при помощи программы GETSID.
1.2.4. ПРАВА И ДОПУСКИ
Для Windows NT определены права (rights) и допуски (permissions). Права определены для действий, а допуски - для объектов файловой системы.
|
Таблица 10 |
|
Основные права пользователей |
|
|
Право |
Дает пользователю возможность |
Log on locally |
... войти в систему локального компьютера с |
|
использованием клавиатуры. |
Access this computer from the |
... подсоединиться к компьютеру по сети. |
network |
|
Back up files and |
... делать резервные копии файлов и каталогов в |
directories(SeBackupPrivilege) |
обход разрешений файловой системы. |
Change the system |
... менять системное время компьютера. |
time(SeSystemTimePrivilege) |
|
Force shutdown from a remote |
... завершить работу системы с удаленного |
system (SeRemoteShutdownName) |
компьютера |
Load and unload device drivers |
... загружать и выгружать драйверы устройств. |
(SeLoadDriverPrivilege) |
|
Manage auditing and security loq |
... указать, какие типы ресурсов должны |
(SeSecurityPrivilege) |
подвергаться аудиту, а также просматривать и |
|
очищать журнал безопасности. Это право, однако, |
|
не позволяет устанавливать системные правила. |
|
Пользователей, обладающих данным правом, |
|
можно обозначить как аудиторов. |
Restore files and directories |
... используя резервную копию, восстановить файлы |
(SeRestorePrivilege) |
и папки в обход разрешений файловой системы. |
|
Эта привилегия, кроме того, включает в себя право |
|
устанавливать любое значение в поле владельца |
|
(Owner) ресурса. |
Shut down the system |
... остановить работу Windows NT. |
(SeShutdownPrivilege) |
|
Take ownership of files or other |
... стать владельцем объекта независимо от |
objects |
разрешений, связанных с объектом. Это право |
(SeTakeOwnershipPrivilege) |
позволяет в конечном итоге поменять любые |
|
разрешения, приписанные объекту. |
|
Таблица 11 |
26
|
|
Дополнительные права пользователей |
||||
|
|
|
|
|
||
Право |
|
Что дает пользователю |
|
|
||
Log on as a batch job |
В текущей (4.0) версии Windows NT не используется. |
|||||
Log on as a service |
От имени пользователя может зарегистрироваться |
|||||
|
служба. |
|
|
|
|
|
Act as part of the operating |
Процесс может действовать как безопасная |
|||||
system (SeTcbPrivilege) |
доверенная часть операционной системы. Даже у |
|||||
|
администратора этой очень мощной привилегии по |
|||||
|
умолчанию нет. Позволяет процессу обращаться к |
|||||
|
LSA для входа от имени другого пользователя. |
|||||
Add workstations to the domain |
Возможность добавлять учетные записи компьютеров |
|||||
(SeMachineAccountPrivilege) |
к домену (на контроллере домена). |
|
|
|
||
Bypass traverse checking |
Возможность получить доступ к файлам и |
|||||
(SeChangeNotifyPrivilege) |
вложенным папкам, даже если у него нет доступа к |
|||||
|
родительской папке. |
|
|
|
|
|
Create a pagefile |
Не используется в текущей (4.0) версии Windows NT. |
|||||
(SeCreatePagefilePrivilege) |
|
|
|
|
|
|
Create a token object |
Процесс может создать маркер доступа. Это способен |
|||||
(SeCreateTokenPrivilege) |
делать только LSA. |
|
|
|
|
|
Create permanent shared objects |
Возможность |
создать |
внутренние |
специальные |
||
(SeCreatePermanentPrivilege) |
постоянные |
объекты, |
такие |
как |
\\Device, |
|
|
применяемые внутри Windows NT. |
|
|
|
||
Debug |
Возможность отлаживать разные объекты низкого |
|||||
programs(SeDebugPrivilege) |
уровня, такие как потоки (threads). |
|
|
|
||
Generate security audits |
Процесс может генерировать записи аудита для |
|||||
(SeAuditPrivilege) |
журнала безопасности. |
|
|
|
|
|
Increase quotas |
В текущей версии Windows NT не используется. |
|||||
(SelnereaseQuotaPrivilege) |
|
|
|
|
|
|
Increase scheduling priority |
Возможность увеличить приоритет процесса. |
|
||||
(SeIncreaseBasePriorityPrivilege) |
|
|
|
|
|
|
Lock pages in memory |
Возможность заблокировать страницы памяти так, |
|||||
(SeLockMemoryPrivilege) |
чтобы они не сбрасывались в файл подкачки. |
|
||||
Modify firmware environment |
Возможность |
изменять |
системные |
переменные |
||
variables |
окружения, которые хранятся в программном |
|||||
(SeSystemEnvironmentPrivilege) |
обеспечении фирмы-производителя (для систем, |
|||||
|
поддерживающих эту конфигурацию). |
|
|
|||
Profile single process |
Возможность осуществлять мониторинг процесса |
|||||
(SeProfSingleProcess) |
|
|
|
|
|
|
Profile system performance |
Возможность осуществлять мониторинг системы. |
|||||
(SeSystemProfilePrivilege) |
|
|
|
|
|
|
Replace a process-level token |
Возможность |
модифицировать |
маркер |
доступа |
||
(SeAssignPrimaryToken |
процесса. |
|
|
|
|
|
Privilege) |
|
|
|
|
|
|
Списки пользователей и групп, которым предоставлены те или иные права,
27
хранятся в защищенной части реестра внутри куста
HKEY_LOCAL_MACHINE\SECURITY и применяются LSA в процессе создания маркера допуска.
4 права (Logon locally, Access this computer from the network, Logon as a service, Logon as a batch job) действуют особо - определяют, какого типа вход в систему разрешен пользователю. Остальные являются в действительности системными привилегиями. Привилегии пользователя заносятся в маркер доступа. В дальнейшем, прежде чем выполнить некоторый привилегированный запрос, ОС проверит, что маркер доступа, связанный с издавшим запрос процессом, содержит соответствующую привилегию. В момент запуска ОС все привилегии регистрируются, и им присваивается
локально уникальный идентификатор (Local Unique Identifier, LUID) - это 8-байтовое число, "локально уникальный" - т.е. уникальность обеспечивается только в пределах одного компа и на время работы ОС. Перед выполнением привилегированных действий система проверяет наличие в марке доступа именно LUID, соответствующего требуемой привилегии.
При входе пользователя в систему LSA создает маркер доступа, структура которого приведена в следующей таблице:
|
Таблица 12 |
|
Структура маркера доступа |
|
|
Поле |
Назначение |
TokenUser |
Идентификатор безопасности пользователя. |
GroupCount |
Количество групп, членом которых является пользователь. |
TokenGroups |
Массив идентификаторов SID групп, членом которых является |
|
пользователь. |
PrivilegeCount |
Количество прав, которыми обладает пользователь. |
TokenPrivileges |
Массив прав пользователя. |
TokenOwner |
Указатель на SID, который будет приписываться в качестве |
|
владельца объекта, создаваемого данным процессом. Обычно |
|
он указывает на SID пользователя в поле TokenUser, однако |
|
для членов Administrators он указывает на SID группы |
|
Administrators в поле TokenGroups. |
TokenPrimaryGroup |
Указатель на SID группы в поле TokenGroups, которая будет |
|
приписана в качестве первичной группы при создании какого- |
|
либо объекта (используется только подсистемой POSIX). |
TokenDefaultDacI |
Указатель на список контроля доступа по умолчанию, который |
|
приписывается любому объекту, когда его создает процесс, |
|
предъявляющий данный маркер доступа. |
28
TokenSource |
Строка из 8 символов, позволяющая узнать источник маркера |
|
доступа, например Session Manager, LAN Manager, или RPC |
|
Server. Строка позволяет разработчикам добавлять имена |
|
других компонентов, способных выдавать маркеры доступа. |
|
Эта информация используется при создании записей аудита |
TokenId |
Идентификатор LUID данного маркера доступа. |
AuthenticationId |
Идентификатор LUID сессии, в рамках которой создан данный |
|
маркер. В рамках одной сессии может быть создано много |
|
маркеров доступа. |
ModifiedId |
Идентификатор LUID, характеризующий изменение контекста |
|
безопасности. Он изменяется каждый раз, когда меняется |
|
данный маркер доступа, позволяя, таким образом, определить, |
|
менялся или нет данный маркер доступа с момента последнего |
|
обращения. |
ExpirationTime |
Время устаревания маркера доступа. Это поле не используется |
|
в текущих версиях Windows NT. |
TokenType |
Отличает первичный маркер доступа и маркер, созданный в |
|
процессе олицетворения. Может принимать только два |
|
значения: TokenPrimary и TokenImpersonation. |
TokenimpersonationLeve |
Уровень олицетворения. Может принимать значения |
l |
SecurityAnonymous, SecurityIdentification, SecurityImpersonation, |
|
SecurityDelegation |
Вместо имени пользователя и групп в маркере указываются их идентификаторы безопасности.
Маркер доступа связывается с каждым запускаемым пользователем процессом. Монитор безопасности использует маркер доступа при попытке процесса получить доступ к объекту. SID из маркера связываются с имеющимися в списке контроля доступа, связанном с объектом.
Создание маркера доступа осуществляется вызовом процедуры NTCreateToken из ядра Windows NT. Такой вызов может выполнить только один процесс - LSA.
Система допусков пользователей к объектам файловой системы действует аналогично системе прав пользователей на файлы в NetWare. Названия соответствующих допусков (Full Control, No Access, Read, Write, Add, Change и т.д) не требуют специальных комментариев. Примерно по тем же правилам, что и в NetWare, эффективный набор допусков пользователей образуется как суперпозиция допусков, назначенных как данному пользователю непосредственно, так и всем группам, в которые он входит. Но есть одно исключение. Если хотя бы одной группе, в которую входит пользователь, либо ему непосредственно назначен допуск No Access, то пользователь не получит доступа к соответствующему файлу или директории вне зависимости от того,
29
какие допуски назначены остальным группам, в которые он входит. Принцип наследования допусков в Windows NT не реализован. Однако, при назначении допуска на директорию можно распространить (а можно и не распространять) его на все низлежащие директории и файлы.
1.2.5. СУБЪЕКТЫ И ОБЪЕКТЫ ДОСТУПА
Субъектом доступа в Windows NT является комбинация программы с маркером доступа пользователя. Когда программа или процесс работают от имени пользователя, то говорят, что процесс работает в контексте безопасности (security context) данного пользователя. Для обеспечения работы в режиме клиент-сервер в модели безопасности Windows NT предусмотрены два класса субъектов:
•Простой субъект (simple subject) - процесс, которому присвоен контекст безопасности, определенный при входе пользователя в систему. Чаще всего маркер доступа просто передается по наследству от порождающего процесса. Процесс, являющийся простым субъектом, не может иметь в качестве клиентов другие субъекты.
•Субъект - сервер (server subject) - процесс, реализованный как защищенная подсистема (напр., Win32) и способный работать с другими субъектами как с клиентами. При этом сервер обычно использует контекст безопасности тех клиентов, чьи запросы он выполняет.
Если субъект вызывает службу, реализованную в защищенной подсистеме, и необходимо решить вопросы, связанные с правами доступа, внутри подсистемы используется маркер доступа исходного субъекта.
Windows NT разрешает одному процессу взять атрибуты безопасности другого посредством так называемого олицетворения (Impersonation), которое подразумевает, что одному из потоков управления сервера, создаваемого для отработки запроса клиента, будет приписан маркер доступа не исходного процесса, а вызывающего клиента.
При установлении связи с сервером клиент может указать уровень олицетворения (Impersonation Level), который следует использовать серверу. Осуществляя олицетворение, сервер создает новый маркер доступа, причем уровень олицетворения помещается в поле TokenImpersonationLevel и может принимать 4 значения:
•SecurityAnonymous - процесс сервера не имеет права получить инф-цию о клиенте и не может олицетворять клиента;
30