Home HSE — Operating Systems Security — Lab 1
Post
Cancel

HSE — Operating Systems Security — Lab 1


Настройка прав доступа, наследование прав. Аудит файлов.

1. Изменение прав доступа к файлам и каталогам для пользователей

  1. Зайти в систему от имени администратора и создать 2-х обычных пользователей: Lab1_Misha и Lab1_Vlad в “Управление компьютером”, перейти в “Служебные программы” — “Локальные пользователи и группы” — “Пользователи” и нажать “Действие” — “Новый пользователь”. Все галочки снять, пароль по желанию, заполнять необходимо только имя пользователя (первое поле).

Создание пользователя

Созданные пользователи


  1. Создать директорию commonDirectory, в которой для пользователей Lab1_Misha, Lab1_Vlad создать свою собственную поддиректорию Lab1_Misha_dir, Lab1_Vlad_dir.

Созданные директории


  1. Установить права на директорию commonDirectory, все ее подпапки и файлы — все пользователи в ОС могут читать ее, но изменять содержимое не могут.

Для этого заходим в свойства папки — вкладка “Безопасность” — кнопка “Изменить”. Для каждого пользователя или группы оставляем галочки только на “Чтение и выполнение, список содержимого папки, Чтение”. В случае, если разрешения нельзя изменить — необходимо отключить наследование — для этого во вкладке “Безопасность” кнопка “Дополнительно” — снизу кнопка “Отключить наследования”. Также возможно добавить группу Everyone и задать ей нужные разрешения.

Вкладка “Безопасность”


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

Для этого заходим в свойства нужной папки — вкладка “Безопасность” — кнопка “Дополнительно”. Используя кнопку “Добавить…” добавляем пользователя, которому предоставляем разрешения. Включаем отображение дополнительных разрешений. Снизу добавляем сначала галочку для полного доступа, а затем убираем для удаления. Т.е. получаем то, что на скриншоте снизу:


  1. Продемонстрировать, что установленные права строго соблюдаются для пользователей Lab1_Misha, Lab1_Vlad. Обязательно показать попытку удаления собственной директории (Lab1_MishaLab1_Misha_dir, Lab1_VladLab1_Vlad_dir).

Пользователь Lab1_Misha:

Пользователь Lab1_Misha может создать файлы. Так, был создан файл Misha’s File

Пользователь Lab1_Misha может изменять файл Misha’s File

В папке Lab1_Vlad_dir пользователь Lab1_Misha не может ничего сделать.

Пользователь Lab1_Misha не может удалить папку Lab1_Vlad_dir.

Аналогично для своей директории Lab1_Misha_dir.

Аналогично для пользователя Lab1_Vlad:

Также не может удалить собственную директорию.

2. Управление наследованием прав доступа файлов и каталогов

  1. Создать директорию inheritDir. Разрешить к ней, ее подпапкам и файлам полный доступ для всех пользователей.

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


  1. Назначить права доступа к ней следующим образом: в этой директории пользователь Lab1_Vlad не может редактировать файлы, а в любой поддиректории – может. При этом пользователь Lab1_Vlad имеет полный доступ ко всем директориям.

Пользователь Lab1_Vlad уже имеет полный доступ из-за пункта 1. Поэтому нам нужно запретить ему в дополнительных разрешениях “Создание файлов / запись данных” и “Создание папок / дозапись данных”. Для этого делаем аналогичные действия, но выбираем тип — “Запретить”, оставляем галочки только в вышеупомянутых разрешениях и отмечаем галочкой “Применять эти разрешения к объектам и контейнерам только внутри этого контейнера”.


  1. От имени пользователя Lab1_Misha создать в директории inheritDir файл text1.txt с произвольным содержимым, директорию folder, в директории folder создать файл text2.txt с произвольным содержимым.

  1. От имени пользователя Lab1_Vlad в директории inheritDir совершить попытку редактирования файла text1.txt, попытку создания поддиректории Lab1_Vlad_subdir.

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

Невозможно создать поддиректорию в папке inheritDir


  1. От имени пользователя Lab1_Vlad совершить попытку редактировать файл text2.txt.

Получилось изменить файл text2.txt. Также получилось создать поддиректорию Lab1_Vlad_subdir

3. Создание общедоступной темной папки

  1. Создать директорию shadowDirectory и разрешить к ней, ее поддиректориям и файлам полный доступ всех пользователей. Назначить пользователя Lab1_Misha владельцем данной директории.

Для этого заходим в Свойства папки — вкладка Безопасность — кнопка Дополнительно. Сначала отключаем наследование с преобразованием, а затем дважды кликаем по Пользователи — кликаем по полному доступу. Применяем все.

Изменить владельца можно при помощи кнопки изменить рядом с владельцем.


  1. Установить права на директорию так, чтобы в нее мог писать, изменять файлы любой пользователь, а удалять – только владелец (Lab1_Misha).

Для этого мы можем убрать возможность удаления у пользователей и добавить новую запись для владельца с полным доступом.

Убрали галочку у “Удаление подпапок и файлов” для Пользователей


  1. Отобрать у всех пользователей, кроме владельца (Lab1_Misha), право чтения содержимого директории.

Убираем только галочку у пользователей для “Содержание папки / чтение данных”. Владельцу раннее был выдан полный доступ.

Также нужно убрать галочку для группы “Прошедшие проверку”.


  1. Продемонстрировать средствами командной строки, что установленные права строго соблюдаются для пользователей Lab1_Misha, Lab1_Vlad.

Чтение:

Пользователь Lab1_Vlad

Пользователь Lab1_Misha (владелец)

Удаление:

Пользователь Lab1_Vlad

Пользователь Lab1_Misha (владелец)

4. Использование привилегий

  1. Создать нового обычного пользователя Lab1_Alex.

Зайти в систему от имени администратора и перейти в “Управление компьютером”, “Служебные программы” — “Локальные пользователи и группы” — “Пользователи” и нажать “Действие” — “Новый пользователь”. Все галочки снять, пароль по желанию, заполнять необходимо только имя пользователя (первое поле).

Создание нового пользователя Lab1_Alex

Пользователь Lab1_Alex создан


  1. Создать директорию privDirectory, создать в ней файл someFile.txt с произвольным содержимым и запретить к нему полный доступ для пользователя Lab1_Alex.

Файл someFile.txt в директории privDirectory

После добавления нажать “Применить”.


  1. Добавить пользователю привилегию «SeTakeOwnershipPrivilege» (смена владельцев файлов и других объектов).

Заходим в локальную политику безопасности (secpol.msc) → Локальные политики → Назначение прав пользователя. Выбираем “Смена владельцев файлов и других объектов” и добавляем пользователя Lab1_Alex.

После добавления нажать “Применить”.


  1. Войти в систему от имени пользователя Lab1_Alex, воспользоваться предоставленной привилегией и прочитать файл someFile.txt. (Подсказка: воспользоваться командой командной строки takeown)

Для получения добавленных привилегий необходимо запустить командную строку от имени администратора…

Мы стали владельцем файла, теперь мы можем предоставить себе полный доступ:

5. Изменение прав доступа к файлам и каталогам для групп пользователей

  1. Создать группу пользователей friends, добавить в нее пользователей Lab1_Vlad, Lab1_Misha, Lab1_Alex.

Зайти в “Управление компьютером”, перейти в “Служебные программы” — “Локальные пользователи и группы” — “Группы” и нажать “Действие” — “Создать группу”. Написать имя группы, добавить пользователей и нажать кнопку “Создать”.

Создание группы friends

Группа friends


  1. Создать директорию friendDirectory, во вкладке безопасность созданной директории оставить пустым список элементов разрешений. Совершить попытку прочитать содержимое директории от имени пользователя Lab1_Vlad. Объяснить результат.

Создаем папку и в свойствах во вкладке “Безопасность” нажимаем кнопку “Дополнительно”. Там сначала отключаем наследование, а затем удаляем всех пользователей и группы.

Предупреждение о последствиях

Прочитать содержимое директории friendDirectory не удалось, так как мы очистили список групп и пользователей, которым разрешен какой-либо доступ к этой папке. Теперь только владелец сможет изменить разрешения.


  1. Разрешить членам группы friends полный доступ к директории friendDirectory, ее подпапкам и файлам. От имени пользователя Lab1_Vlad войти в директорию и создать в ней файл friendList.txt с произвольным содержимым. Объяснить результат.

Пользователь Lab1_Vlad состоит в группе friends, поэтому он имеет полный доступ к данной директории.


  1. Добавить в список элементов разрешений запись, запрещающую членам группы friends полный доступ к директории friendDirectory, ее подпапкам и файлам. Совершить попытку прочитать содержимое файла friendList.txt от имени пользователя Lab1_Vlad. Объяснить результат.

Запрещающая полный доступ запись

Предупреждение при применении запрещающей записи

Отказано в доступе, так как запрещающие записи имеют более высокий приоритет, чем разрешающие. (Предупреждение выше)


  1. Добавить в список элементов разрешений запись, разрешающую пользователю Lab1_Vlad полный доступ к директории friendDirectory, ее подпапкам и файлам. Совершить попытку прочитать содержимое файла friendList.txt от имени пользователя Lab1_Vlad. Объяснить результат.

Разрешающая запись для Lab1_Vlad

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

6. Работа с маркером доступа

  1. Запустить командную строку в обычном режиме. Посмотреть с помощью команды whoami командной строки идентификаторы пользователей Lab1_Alex, vladislav, доступные им привилегии, а также группы, в которые входят данные пользователи.

Пользователь Lab1_Alex

Пользователь vladislav


  1. Запустить командную строку в режиме работы от имени администратора. Посмотреть с помощью команды whoami командной строки идентификаторы пользователей Lab1_Alex, vladislav доступные им привилегии, а также группы, в которые входят данные пользователи.

Пользователь Lab1_Alex

Пользователь vladislav


  1. Описать различия в полученных списках групп и привилегий. Обратить внимание на атрибуты группы Администраторы.

При запуске от имени администратора для Lab1_Alex:

  • Группы:
    • Появляется группа friends (VLADISLAV340F\friends)
    • Обязательная метка\Средний обязательный уровень изменяется на Обязательная метка\Высокий обязательный уровень
  • Привилегии:
    • Добавляется SeTakeOwnershipPrivilege

При запуске от имени администратора для vladislav:

  • Группы:
    • Обязательная метка\Средний обязательный уровень изменяется на Обязательная метка\Высокий обязательный уровень
    • Атрибуты групп NT Authority\Локальная учетная запись и член группы “Администраторы” и BUILTIN\Администраторы меняются с Группа, используемая только для запрета на Обязательная группа, Включены по умолчанию, Включенная группа и Обязательная группа, Включены по умолчанию, Включенная группа, Владелец группы соответственно
  • Привилегии:
    • Добавляются привилегии SeCreateTokenPrivilege, SeIncreaseQuotaPrivilege, SeSecurityPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeSystemProfilePrivilege, SeSystemtimePrivilege, SeProfileSingleProcessPrivilege, SeIncreaseBasePriorityPrivilege, SeCreatePagefilePrivilege, SeBackupPrivilege, SeRestorePrivilege, SeDebugPrivilege, SeSystemEnvironmentPrivilege, SeRemoteShutdownPrivilege, SeManageVolumePrivilege, SeImpersonatePrivilege, SeCreateGlobalPrivilege, SeCreateSymbolicLinkPrivilege, SeDelegateSessionUserImpersonatePrivilege. Из них SeImpersonatePrivilege и SeCreateGlobalPrivilege в состоянии включен, остальные — Отключен.

7. Работа с аудитом доступа к файлу

  1. Создать директорию 4UDi7 и разрешить к ней, ее подпапкам и файлам полный доступ всех пользователей.


  1. Создать файл secret.txt с произвольным содержимым в директории 4UDi7 и включить для него аудит на чтение для всех пользователей.

Сначала необходимо включить аудит доступа к объектам. Для этого заходим в “Локальную политику безопасности” → “Локальные политики” → “Политика аудита” и там выбираем политику “Аудит доступа к объектам”, в параметрах ставим обе галочки.

Аудит доступа к объектам

Теперь в свойствах файла secret.txt переходим во вкладку “Безопасность”, выбираем “Дополнительно”. Там во вкладке “Аудит” нажимаем на кнопку “Добавить”.

Настраиваем параметры:

  • Субъект: Все (группа)
  • Тип: Все (Успех и отказ)
  • Общие разрешения: Чтение

Добавляем, применяем.


  1. Прочитать содержимое файла secret.txt пользователем Lab1_Vlad. Удалить содержимое этого файла, сохранить пустой текстовый файл secret.txt

Команда copy /y NUL secret.txt очищает файл


  1. Просмотреть результат аудита и убедиться в наличии в журнале записей с попыткой чтения и записи данных для файла secret.txt и пользователя Lab1_Vlad.

Открываем “Управление компьютером” и переходим в “Служебные программы” → “Просмотр событий” → “Журналы Windows” → “Безопасность”. С помощью функции поиска было найдено следующее:

Выводы

В данной лабораторной работе были освоены “Локальная политика безопасности” и “Управление компьютером”. В целом, стало понятно как настроить права доступа к файлам/папкам, как ведет себя наследование прав. Также был настроен аудит файла, получилось отследить взаимодействия с ним. Стал более понятен процесс автоматизации и настройки Windows.

Контрольные вопросы

1. Что лежит в основе управления доступом в ОС Windows?

Дискреционное управление доступом

2. Какие разрешения можно предоставить любому объекту в ОС Windows?

Общие разрешения:

  • Полный доступ
  • Изменение
  • Чтение и выполнение
  • Чтение
  • Запись

Дополнительные разрешения:

  • Траверс папок / выполнение файлов
  • Содержание папки / чтение данных
  • Чтение атрибутов
  • Чтение дополнительных атрибутов
  • Создание файлов / запись данных
  • Создание папок / дозапись данных
  • Запись атрибутов
  • Запись дополнительных атрибутов
  • Удаление
  • Чтение разрешений
  • Смена разрешений
  • Смена владельца

3. Каким образом можно назначать права доступа к файлу в ОС Windows?

Необходимо зайти в свойства файла, раздел “Безопасность”. При помощи кнопки “Изменить…” можно назначить общие разрешения, а при помощи кнопки “Дополнительно” — так же дополнительные. Для этого выбираем пользователя или группу, а затем выбираем нужные разрешения для нее.

4. Каким образом можно назначать привилегии пользователей в ОС Windows?

Необходимо зайти в “Локальную политику безопасности” (secpol.msc) → “Локальные политики” → “Назначение прав пользователя”. Там выбираем нужную привилегию и добавляем туда пользователя.

This post is licensed under CC BY 4.0 by the author.