Компания IBM
Опубликован: 28.08.2008 | Доступ: свободный | Студентов: 460 / 64 | Оценка: 4.33 / 4.05 | Длительность: 31:19:00
Лекция 8:

Защита от несанкционированного доступа

< Лекция 7 || Лекция 8: 123 || Лекция 9 >

Профили пользователей

Профиль пользователя это и объект OS/400, и системный объект MI, служащий для идентификации пользователя в системе. Профиль должен быть у каждого пользователя, хотя и не обязательно уникальный: как мы скоро увидим, профили могут быть разделяемыми. Даже при отключенной защите (уровень 10), если у пользователя нет профиля, то система его создаст. Профили пользователя содержат информацию относящуюся к защите, они применяются и компонентами защиты OS/400, и компонентами контроля за доступом SLIC. Упомянутые компоненты управляют использованием объектов, ресурсов, некоторых команд и атрибутов машины.

Профиль пользователя определяет следующие параметры:

  • класс пользователя — категорию, в зависимости от принадлежности к которой пользователь имеет особые права;
  • принадлежащие и доступные объекты — список объектов, которыми пользователь владеет и к которым имеет доступ;
  • права на объекты — права доступа к объектам из вышеуказанного списка;
  • привилегированные команды и специальные права — информация о всех привилегированных командах и специальных правах пользователя;
  • пароль — код, обязательный для входа в систему при всех уровнях защиты, кроме 10;
  • текущая библиотека — место, куда по умолчанию помещается новый объект, созданный пользователем;
  • начальная программа и меню — поле, задающее программу и меню, активизируемые сразу после входа пользователя в систему;
  • ограничение возможностей — параметр, запрещающий пользователю ввод команд и ограничивающий его возможности выбором пунктов меню;
  • ограничение сессий для устройства — параметр, ограничивающий устройство пользователя одной сессией;
  • максимальный объем памяти — поле, задающее общий объем дискового пространства для объектов, которыми владеет пользователь;
  • максимальный приоритет — поле, задающее максимальный приоритет планировщика, который может применяться пользователем (более подробно будет обсуждаться в "Управление процессами" );
  • специальная среда — поле, задающее среду, в которой будет работать пользователь (например, System/36).

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

Класс пользователя

Какой именно уровень доступа к системе разрешен пользователю, определяют пять классов пользователей. От класса зависит, какие функции пользователь может выполнять, какие пункты меню и привилегированные команды ему доступны. Перечислим все пять классов, начиная с максимального уровня доступа:

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

В новой AS/400 для каждого класса пользователей имеется по одному профилю. Заказчик сам решает, кто в его организации будет отвечать за каждой из участков работы. Очевидно, что один и тот же человек может совмещать несколько обязанностей.

Объекты, принадлежащие и доступные

Профиль пользователя содержит два списка. Первый — список всех объектов, которыми владеет данный пользователь, а второй — список объектов, к которым он имеет доступ. Владелец объекта — это пользователь, создавший его. Если профиль пользователя — член профиля группы (подробно будет обсуждаться далее), то в профиле может быть задано, что все созданные пользователем объекты принадлежат группе. Право владения объектом может передаваться. Владелец объекта или любой пользователь, имеющий права на управление этим объектом, может назначать явные (private) права доступа к объекту, а также установить общие (public) права на объект. В профиле пользователя перечислены только принадлежащие ему объекты и объекты со специальными правами.

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

К каждому объекту AS/400 может быть предоставлено восемь видов доступа, а именно:

  • право на оперирование объектом разрешает просматривать описание объекта и использовать объект соответственно имеющимся у пользователя правам2Пользователь не имеющий данного права не может даже знать о существовании этого объекта. — Прим. консультанта. ;
  • право на управление объектом разрешает определять защиту объекта, перемещать или переименовывать его, а также добавлять (но не удалять!) разделы в файлы баз данных;
  • право определять существование объекта разрешает удалять объект, освобождать его память, выполнять операции сохранения/восстановления и передавать право на владение объектом;
  • право на управление списком прав разрешает добавлять, удалять и изменять права пользователей в списках прав к объекту;
  • право на чтение разрешает доступ к объекту;
  • право на добавление разрешает добавлять записи к объекту;
  • право на удаление разрешает удалять записи из объекта;
  • право на обновление разрешает изменять записи объекта.

Эти восемь прав объединены OS/400 в четыре комбинации, чтобы их было легче применять. Конечные пользователи могут использовать и другие сочетания, но большинство все же предпочитает следующие стандартные комбинации:

  • "все" (all) — объединяет все восемь прав;
  • "изменение" (change) — объединяет права на оперирование объектом, чтение, добавление, удаление и обновление;
  • "использование" (use) — объединяет права на оперирование объектом и чтение;
  • "исключение" (exclude) — не дает никаких прав на использование объекта; перекрывает наличие общих или групповых в связи с порядком проверки прав доступа (рассматривается далее).

Привилегированные команды и специальные права

Каждый профиль пользователя содержит информацию о привилегированных командах и специальных правах пользователя. Некоторые привилегированные команды MI могут выполняться только теми пользователями, профили которых разрешают это делать. Например, профиль для начальника защиты создается с возможностью исполнять команду "PWRDWNSYS" (Power Down System), останавливающую работу машины. По очевидным причинам эта привилегированная команда не доступна обычным пользователям. Также есть набор специальных прав, которые могут быть предоставлены лишь избранным пользователям. Эти специальные права связаны с такими операциями, как подвешивание объектов, управление процессами, выполнение операций загрузки/дампа и использование низкоуровневых сервисных средств.

Хотя все привилегированные команды и специальные атрибуты могут быть заданы в профиле пользователя по отдельности, OS/400 объединяет команды и права в шесть групп специальных прав:

  • "все объекты" — разрешает доступ к любому системному ресурсу, независимо от того, оговорены ли особо права пользователя на такой доступ;
  • "администратор защиты" — разрешает создание и изменение профилей пользователя;
  • "сохранение системы" — разрешает сохранять, восстанавливать и освобождать память для любого объекта в системе, независимо от того, имеет ли пользователь право определять существование этого объекта;
  • "управление заданиями" — разрешает изменять, отображать, задерживать, возобновлять, отменять и удалять все задания, которые исполняются в системе, а также находятся в очередях заданий или в выходных очередях;
  • "обслуживание" — разрешает выполнять сервисные операции отображения/изменения/дампа.
  • "управление спулом" — разрешает удалять, отображать, задерживать и отпускать спулфайлы, владельцами которых являются другие пользователи.

Профиль пользователя — это сердце системы защиты AS/400. Он управляет доступом практически ко всем ресурсам системы. Но даже если профиль пользователя не дает последнему прав на некоторый объект или ресурс системы, такие права можно получить иными способами. Далее мы рассмотрим два способа получения дополнительных прав: заимствование прав программой и права группы.

Заимствование прав программой

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

Заимствование — атрибут программы, задаваемый при ее создании. Если вызываемая программа допускает заимствование прав, то любая вызывающая программа может использовать права владельца во время выполнения вызываемой программы. Программы, работающие в системном состоянии, могут сами задать запрет на заимствование. Программа может также запретить дальнейшее распространение прав. Это означает, что вызывающая программа будет заимствовать права, но эти права не сохранятся для программ, расположенных дальше по цепи вызовов.

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

Группирование прав

На AS/400 есть три метода группирования прав. Списки прав и профили групп упрощают администрирование защиты, устраняют необходимость индивидуального подхода к пользователям или объектам. Держатели прав (authority holders) были введены IBM еще в среде System/36.

Список прав позволяет назначать права на множество объектов нескольким пользователям. Кроме того, каждый пользователь может иметь различные права доступа ко всем объектам в списке. Список прав с тремя пользователями и тремя объектами показан на рисунке 7.1. Каждый из трех пользователей имеет права на все три объекта в списке; но во всех случаях — разные. Для добавления, удаления или изменения пользователей и их прав в списке требуется право на управление списком прав, описанное выше. На уровне MI список прав реализован как системный объект.

Профили групп дают пользователям возможность применять общий профиль в дополнение к своим собственным. Пользователи — члены группы (например, сотрудники отдела предприятия) могут работать с общими объектами. Управление правами доступа всех членов группы может выполняться посредством профиля группы.

Доступ к профилю группы осуществляется через профили отдельных пользователей. Если профиль пользователя дает ему права на объект, то эти явные права переопределяют права группы. Это позволяет предоставлять отдельным членам группы меньшие или большие права по сравнению с остальными.

Пример списка прав

Рис. 7.1. Пример списка прав

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

Приложения System/36 могут предоставлять пользователям заранее заданные права на еще несуществующие, не созданные файлы. Приложение System/36 может даже продолжать обладать правами на удаленный файл. В System/38 такой возможности нет. Права не могут быть предоставлены, пока объект не создан, а при удалении объекта вся информация о правах на него также удаляется из системы.

Для поддержки прав доступа к несуществующим файлам в среде System/36 на AS/400 были добавлены держатели прав, нужные только для миграции. Их использование ограничено несколькими типами программноописанных файлов; для других типов файлов и объектов держатели прав не поддерживаются. В связи с этим, ни в MI, ни в OS/400 нет объекта типа "держатель прав".

< Лекция 7 || Лекция 8: 123 || Лекция 9 >
Александр Качанов
Александр Качанов
Япония, Токио
Олег Корсак
Олег Корсак
Латвия, Рига