Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800434

.pdf
Скачиваний:
7
Добавлен:
01.05.2022
Размер:
2.59 Mб
Скачать

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

Права пользователей (User rights). Права пользователя

(привилегии) - это особые полномочия, которые дают возможность выполнять определенные операции на системном уровне. Например, чтобы зарегистрироваться с локальной консоли, требуется право Logon locally. В окне User Rights Policy приводится список привилегий, доступных пользователю локальной станции.

Списки контроля доступа (ACL). Для доступа к файлам и каталогам используются разрешения на объектном уровне. Каждый объект обладает списком разрешений ACL, который определяет, какие пользователи и группы имеют право обращаться к объекту и как именно. При этом разрешения (permissions) не совпадают с правами (rights). Разрешения настраиваются на объектном уровне через списки контроля доступа – ACL. Чтобы просмотреть список ACL какого-либо файла, нужно открыть Windows Explorer и обратиться к контекстному меню файла. Выбрав Properties, следует открыть вкладку Security и затем выбрать Permissions. NT назначает пользователям кумулятивный доступ на основе его принадлежности той или иной группе.

Административные полномочия (Administrative authority). Они распространяются на встроенные группы

Administrators и Power Users. Члены группы Administrators

могут помечать для совместного использования каталоги и принтеры, создавать и обслуживать локальные учетные записи SAM, назначать права пользователям и устанавливать политики аудита. В отличие от группы Administrators, члены Power Users не могут устанавливать политики аудита.

Стандартные типы объектов доступа в Windows NT. 1. Файловые объекты:

-файлы; -дисковые директории - директории, расположенные на

187

логических дисках; дисковые директории могут содержать файлы и другие дисковые директории;

-устройства - объекты, используемые для взаимодействия приложений с драйверами физических и логических устройств;

-каналы, или трубы, или пайпы (pipes), - объекты, используемые для организации взаимодействия процессов;

-почтовые ящики (mailslots) - объекты, используемые для асинхронной передачи сообщений между процессами.

2.Объектовые директории (object directories) - объекты, содержащие в себе другие объекты. В отличие от дисковых директорий объектовые директории могут содержать любые объекты. Объектовые директории являются временными объектами и хранятся только в оперативной памяти.

3.Ключи реестра (registry keys) - подмножества элементов конфигурации операционной системы.

4.Процессы - экземпляры программ, выполняющихся в данный момент на данном компьютере.

5.Потоки или нити (threads) - потоки машинных команд, последовательно выполняющиеся на процессоре. Один процесс может включать в себя несколько одновременно работающих параллельных потоков.

6.Диспетчер сервисов (service control manager) - объект Windows NT, используемый для управления сервисами.

7.Сервисы (services) - исполняемые модули, управляемые диспетчером сервисов. Сервисы используют программный интерфейс, несколько отличный от интерфейса, используемого обычными процессами и библиотеками. В программном интерфейсе Win32 к сервисам относятся как собственно сервисы, так и драйверы устройств. В "родном" программном интерфейсе ядра Windows NT управление драйверами осуществляется посредством управления соответствующими им устройствами. Таким образом, при выполнении запроса управления драйвером, инициированного из среды Win32, проверяется доступ к двум разным объектам - сервису и устройству, фактически представляющим собой

188

единый объект-драйвер.

8.Объекты управления окнами (window-management objects, появились в версии 4.0):

-рабочие столы или рабочие поля (desktops) - совокупности взаимодействующих между собой окон; окна различных рабочих столов не могут быть видимы на экране компьютера одновременно;

-оконные станции (window stations) - совокупности рабочих столов; на разных оконных станциях могут одновременно работать разные пользователи.

9.Порты (ports) - объекты, используемые при передаче сообщений между процессами.

10.Секции разделяемой памяти (shared memory sections) или просто секции — области памяти, разделяемые между несколькими процессами.

11.Символические связи (symbolic links) - объекты, позволяющие создавать синонимы для имени объекта.

12.Маркеры доступа (access tokens) - объекты, содержащие информацию о работающих в системе пользователях и псевдопользователях.

13.Объекты синхронизации:

-события (events) - объекты, используемые при асинхронных обращениях к файловым системам и устройствам;

-пары событий (event pairs) - объекты, используемые при передаче сообщений от одного процесса к другому;

-семафоры (semaphores) - объекты, используемые для ограничения количества одновременных обращений разных потоков к одному объекту операционной системы;

-мьютексы (mutexes) - объекты, используемые для исключения одновременного доступа нескольких потоков к одному объекту операционной системы.

Файлы, дисковые директории и ключи реестра являются постоянными объектами и могут храниться на дисках компьютера. Остальные объекты являются временными и хранятся только в оперативной памяти.

189

Объекты, которые могут содержать другие объекты, а именно дисковые и объектовые директории, а также ключи реестра, называются контейнерами.

Windows NT позволяет прикладным и сервисным процессам создавать объекты доступа и других (нестандартных) типов. Перед созданием объекта нестандартного типа процесс должен зарегистрировать в системе данный тип объекта. Разграничение доступа субъектов к нестандартным объектам организуется в точности так же, как и к стандартным.

Субъекты доступа Windows NT.

Перечислим типы субъектов доступа, которые поддерживает операционная система Windows NT.

1). Пользователи (включая псевдопользователей). К псевдопользователям относятся следующие субъекты:

-SYSTEM - операционная система локального компьютера; этот псевдопользователь всегда входит в группу Administrators и имеет все привилегии;

-псевдопользователи с именами вида <имя_компьютера>$, где <имя_компьютера> - сетевое имя компьютера; эти псевдопользователи представляют операционные системы других компьютеров сети и используются при аутентификации рабочей станции на контроллере домена 1.

2). Группы пользователей. В Windows NT группы пользователей могут пересекаться, т.е. каждый пользователь Windows NT может входить в несколько групп. При этом для совместимости с программным интерфейсом POSIX, поддерживаемым Windows NT, среди групп, в которые входит пользователь, выделяется так называемая первичная группа, которая играет роль той единственной группы, в которую может входить пользователь в POSIX.

3). Специальные (временные) группы. В отличие от обычных групп членство пользователя в таких группах определяется операционной системой в зависимости от действий пользователя. Например, группа INTERACTIVE

190

включает в себя пользователя, работающего с системой интерактивно, группа NETWORK - пользователей, работающих с системой через сеть, а группа DIALJJP - пользователей, работающих с системой по модему. Специальная группа не может быть объявлена первичной группой пользователя.

4). Относительные субъекты. Эти субъекты имеют смысл только в применении к объекту, для которого определяются права доступа. Существуют следующие относительные субъекты:

-CREATORJDWNER - владелец объекта;

-CREATOR_GROUP - первичная группа владельца объекта.

Относительные субъекты используются, если нужно описать права доступа пользователей к объектам по принципу "что кому принадлежит, то ему и доступно".

Следующие субъекты доступа Windows NT имеют предопределенные идентификаторы и присутствуют во всех экземплярах этой операционной системы:

-SYSTEM;

-Everyone - группа, в которую входят все пользователи и псевдопользователи;

-INTERACTIVE; -NETWORK; DIAL_UP; -CREATOR OWNER; -CREATOR_GROUP.

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

Идентификаторы остальных субъектов доступа уникальны.

При инсталляции Windows NT автоматически создает следующих предопределенных субъектов доступа:

-Administrator - администратор операционной системы; -Guest - гость операционной системы, пользователь с

191

минимальными правами. Если политика безопасности, принятая в операционной системе, допускает анонимный вход пользователей в систему, эти пользователи входят в систему под именем Guest;

-Administrators - группа администраторов операционной системы;

-Users - группа пользователей операционной системы. При создании нового пользователя он по умолчанию включается в эту группу;

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

-Replicator - субъект доступа, используемый при автоматической репликации файлов и ключей реестра между компьютерами домена.

Кроме того, на рабочих станциях Windows NT автоматически создается предопределенная группа Power Users, пользователи которой по умолчанию обладают несколько большими полномочиями, чем пользователи из группы Users. На серверах Windows NT группа Power Users

отсутствует, однако создаются следующие предопределенные группы:

- Account Operators - группа пользователей, которые могут работать с учетными записями непривилегированных субъектов доступа;

-Print Operators - группа администраторов печати;

-Server Operators - группа операторов сервера; пользователи из этой группы по умолчанию имеют некоторые права и привилегии, недоступные обычным пользователям (выключать сервер, работать с сервером с локальной консоли и т.д.).

В доменах Windows NT существуют также предопределенные глобальные группы, общие для всех компьютеров домена:

192

-Domain Admins - администраторы домена;

-Domain Users - пользователи домена; при создании в домене нового пользователя он по умолчанию включается в эту группу;

-Domain Guests - гости домена.

Члены предопределенной группы Administrators могут создавать, удалять и изменять свойства любых субъектов доступа, а члены группы Account Operators - создавать, удалять и изменять свойства только непривилегированных субъектов доступа (обычных пользователей).

Методы доступа к объектам в Windows NT

Операционная система Windows NT поддерживает 22 метода доступа субъектов к объектам (для каждого типа объекта поддерживается до 16 специфичных методов).

Шесть из них представляют собой стандартные методы доступа и поддерживаются для объектов всех типов:

-удаление объекта;

-получение атрибутов защиты объекта;

-изменение атрибутов защиты объекта;

-изменение владельца объекта (субъект, изменяющий владельца объекта, может объявить новым владельцем объекта

только себя).

-ACCESS_SYSTEM_SECURITY - получение и изменение параметров аудита в отношении объекта;

-SYNCHRONIZE - метод доступа, заключающийся в вызове системной функции WaitForSingleObject для данного объекта или функции WaitFor-MultipleObjects для списка объектов, включающего данный объект. Эти функции используются, когда поток должен ожидать какое-то изменение в состоянии объекта, не затрачивая на это процессорного времени. Хотя данный метод доступа определен для всех типов объектов, смысл ожидания зависит от типа объекта (обычно этот метод доступа применяется к объектам синхронизации, реже - к процессам и потокам).

Права доступа к объектам в Windows NT

1).

Каждому

специфичному

методу

доступа,

193

поддерживаемому Windows NT, соответствует право на его осуществление. Эти права доступа называются специфичными, поскольку они специфичны для каждого типа объектов. Для каждого типа объектов может поддерживаться до 16 специфичных прав доступа.

2). Каждому стандартному методу доступа, за исключением ACCESS_SYSTEM_SECURITY, также соответствует право доступа, дающее возможность реализации соответствующего метода доступа. Такие права доступа называются стандартными.

Windows NT поддерживает также общие (generic) или отображаемые (mapped) права доступа. Поддерживаются следующие отображаемые права доступа:

-чтение (GENERIC READ);

-запись (GENERIC_WRITE);

-выполнение (GENERIC EXECUTE);

-все действия (GENERIC_ALL).

Каждое из отображаемых прав доступа представляет собой некоторую комбинацию стандартных и специфичных прав доступа. Другими словами, отображаемое право дает возможность осуществить некоторый набор методов доступа к объекту. Отображаемые права доступа могут быть предоставлены для доступа к объекту любого типа, однако конкретное содержание отображаемого права доступа зависит от типа объекта.

Например:

а). Отображаемое право на чтение объекта типа "файл" дает субъекту право выполнять доступ к объекту по следующим методам:

-чтение файла;

-получение DOS-атрибутов файла; -получение расширенных атрибутов файла; -получение атрибутов защиты файла;

-SYNCHRONIZE.

б). Отображаемое право на чтение объекта типа "ключ реестра" дает субъекту права осуществлять доступ к объекту

194

по следующим методам: -чтение значений ключа;

-перечисление подключений ключа; -требование оповещения при доступе к ключу другого

потока; -получение атрибутов защиты ключа;

-SYNCHRONIZE.

Таким образом, отображаемое право на чтение объекта предоставляет субъекту осуществлять доступ к объекту по методам, соответствующим (как правило) интуитивному представлению о понятии "чтение". При этом конкретный набор разрешенных субъекту методов доступа определяется типом объекта. Процесс преобразования отображаемого права доступа в набор прав на реализацию методов доступа к объекту называется отображением права доступа. Отображаемые права доступа введены в подсистему разграничения доступа по следующим причинам:

-они позволяют пользователю устанавливать права доступа к объекту, ничего не зная о специфике объектов данного типа.

-для обеспечения совместимости с программный интерфейс POSIX, который поддерживает только три права доступа, определенные для всех типов объектов, - чтение, запись и выполнение.

3). Последним классом прав доступа, поддерживаемых Windows NT, являются виртуальные права доступа. Виртуальные права доступа не могут быть предоставлены субъекту, но могут быть запрошены им. Поддерживаются два виртуальных права доступа:

-MAXIMUM_ALLOWED;

-ACCESS_SYSTEM_SECURITY.

Запрашивая виртуальное право MAXIMUM_ALLOWED на доступ к объекту, субъект тем самым требует открытия объекта с максимально доступными ему правами. Это виртуальное право позволяет субъекту открыть объект с максимально доступными правами, не производя детального

195

анализа того, какие именно права доступны данному субъекту по отношению к данному объекту. Операционная система сама проводит такой анализ в процессе проверки прав доступа субъекта к объекту.

Виртуальное право ACCESS_SYSTEM_SECURITY - это право на осуществление одноименного стандартного метода доступа, т.е. право на получение и изменение параметров аудита по данному объекту. Возможность доступа к объектам по этому методу полностью регулируется соответствующей привилегией субъекта доступа. Субъект, обладающий этой привилегией, может обращаться по методу доступа

ACCESS_SYSTEM_SECURITY к любому объекту операционной системы, а субъект, не обладающий этой привилегией, не может применять данный метод доступа ни к одному объекту. Таким образом, субъект, имеющий доступ к параметрам аудита некоторого объекта, имеет доступ к параметрам аудита любого объекта операционной системы. Разрешить или запретить доступ конкретного субъекта к конкретному объекту по методу

ACCESS_SYSTEM_SECURITY в Windows NT невозможно, и

поэтому данное право доступа является виртуальным. Привилегии субъектов в Windows NT

В Windows NT каждый субъект доступа обладает некоторым (возможно, пустым) набором привилегий. Привилегии представляют собой права на выполнение субъектом действий, касающихся системы в целом, а не отдельных ее объектов. Существуют следующие привилегии:

-завершать работу операционной системы и перезагружать компьютер;

-устанавливать системное время;

-анализировать производительность одного процесса;

-анализировать производительность всей операционной системы в целом;

-создавать постоянные объекты в оперативной памяти;

-создавать резервные копии информации, хранящейся на жестких дисках;

196