Управление правами пользователей
Маркер доступа (Access token) — программный объект операционных систем класса Microsoft Windows, содержит информацию по безопасности сеанса и идентифицирует пользователя, группу пользователей и пользовательские привилегии. Маркера доступа сопровождает пользователя в течении сеанса. Каждый процесс, создаваемый пользователем, наследует копию его маркера доступа. На рисунке 5 приведена структура маркера доступа.
Рисунок 5 Для каждого объекта, который хранится на томе, отформатированном в файловой системе NTFS, Windows содержит дескриптор безопасности (Security descriptor):
основными составляющими которого являются списки управления доступом: • DACL (Discretionary Access Control List, список управления дискреционным доступом) – список разрешений и запретов на доступ к объектам для пользователей и групп пользователей; • SACL (System Access Control List, системный список управления доступом) – список настроек аудита для регистрации успешных и безуспешных попыток доступа к объекту. Структура списка управления доступом имеет следующий вид (структура ACL)
Отдельные записи в списке управления доступом (ACL) называются элементами управления доступом (Access Control Entries, ACE) и включают в себя следующую информацию:
• идентификатор безопасности SID для пользователя или группы; • вид доступа; • информацию о наследовании прав, которая определяет будет ли Windows применять к объекту разрешения родительской папки и если будет, то каким образом; • флаг, показывающий, разрешается или запрещается доступ к данному объекту. Важен порядок следование ACE в ACL – запрещающие структуры идут перед разрешающими. Таким образом порядок следования строк ACE в финальном списке следующий: • явные запреты; • явные разрешения; • унаследованные запреты; • унаследованные разрешения. Проверка прав выполняется в порядке следования строк ACE: ü до первого появления запрета на какую-либо операцию; ü до явного разрешения всех запрошенных операций. Рассмотрим пример. Имеется некоторая группа с SID 65, в состав которой входят три пользователя. Пользователи пытаются выполнить операции чтения и записи на какой-то объект. 1. Для пользователя с SID 141 имеется явное разрешение на чтение и выполнение - чтение допустимо. Пользователь является членом группы, для которой есть унаследованное разрешение на чтение и запись - запись допустима. 2. Для пользователя с SID 172 допустимы и чтение и запись, так отсутствуют запреты (явные и унаследованные) и имеется унаследованное разрешение для группы с SID 65, членом которой он является. 5. В отчет запишите какие операции доступны пользователю с SID 199 и почему. 1. В корне любого диска на вашем компьютере создайте папку SecDir1. 2. Щелкните правой кнопкой мыши по созданному каталогу и перейдите в вкладку "Безопасность". Здесь осуществляется настройка прав доступа к объект. 3. В поле "Группы или пользователи" имеются уже записи о некоторых пользователях и группах. Эти данные унаследовались от родительского каталога. 4. Для более детальной настройки прав нажмем кнопку "Дополнительно". 5. Здесь можно также узнать от кого наследовались права и на кого они будут распространяться. 6. Для того чтобы отменить унаследованные права следует снять галочку "Наследовать от родительского объекта...". Дальше можно выбрать: скопировать права родителя с данный объкт или удалить. Мы выберем "удалить". Если установить параметр "заменить разрешения для всех дочерних...", то права которые мы здесь настроим передадутся дочерним объектам (рисунок). 7. И так после удаления список разрешений должен быть пуст. Добавим туда права для созданной ранее тестовой группы. Для необходимо нажать "Добавить" и выбрать группу SecGroup1. В открывшемся окне задаем права. Также здесь можно указать область распространения прав. 8. Аналогичным образом добавьте группы локальных администраторов предоставив им полный доступ к каталогу. 9. Зайдите теперь в систему под учетной записью SecUser3. Проверьте есть ли доступ у него к созданному каталогу. В отчете укажите почему доступа нет. 10. В каталоге SecDir1 создайте две директории DirUser1 и DirUser2 и задайте им следующие права: пользователь SecUser1 имеет полный доступ к директории DirUser1 и может читать данные из DirUser2. Пользователь SecUser2 имеет полный доступ к DirUser2. Поочередно зарегистрировавшись под разными пользователями проверьте правильность настройки. Запишите в отчет как это было реализовано. 11. В каталоге SecDir1 создайте директорию Dir1 и настройте ей права доступа так чтобы пользователь SecUser2 не имел у ней доступ. В отчет также запишите как это было реализовано.
|