Курсовая: Списки управления доступом
РОССИЙСКИЙ УНИВЕРСИТЕТ ДРУЖБЫ НАРОДОВ
Факультет физико-математических и естественных наук
Направление прикладная математика и информатика
Кафедра
систем телекоммуникаций
Курсовая работа
Списки управления доступом (ACLs)
Студент
Войцеховский Вадим Олегович
Группа
НП-301
Руководитель
к. ф.-м. н., доцент Кулябов Д.С.
Заведующий кафедрой
к. ф.-м. н., доцент Самуйлов К.Е.
МОСКВА
2005 г.
Содержание
Содержание - 2 -
Список сокращений_ - 3 -
1. Введение - 4 -
1.1 Альтернативная модель управления доступом_ - 4 -
1.2 Рабочая группа POSIX 1003.1e/1003.2c - 4 -
2. Управление доступом_ - 6 -
2.1 Общие принципы_ - 6 -
2.2 Дискреционное управление доступом_ - 7 -
2.3 Мандатное управление доступом_ - 8 -
2.4 Модели политики безопасности_ - 9 -
3. ACL в UNIX-подобных операционных системах_ - 16 -
3.1 Общие принципы и положения_ - 16 -
3.2 ACL в Linux_ - 19 -
3.3 ACL в Solaris - 27 -
3.4 NFS и ACL_ - 30 -
3.5 Samba и ACL_ - 31 -
3.6 Резервные копии и восстановление_ - 32 -
3.7 Поддержка ACL на уровне приложений_ - 33 -
4. ACL в Microsoft Windows - 35 -
4.1 Защита файлов и каталогов_ - 35 -
4.2 Изменение разрешений NTFS с помощью программы Xcacls.exe_ - 38 -
Заключение - 41 -
Используемые источники_ - 43 -
Дополнительные источники_ - 44 -
Список сокращений
Общие:
ACL | Access Control List (спискок управления доступом) |
ACE | Access Control Entry (запись управления доступом; запись в ACL) |
UID | User IDentificator (идентификатор пользователя) |
GID | Group IDentificator (идентификатор группы) |
POSIX | Portable Operating Systems Interface |
SUID | Set User IDentificator |
SGID | Set Group IDentificator |
MAC | Mandatory Access Control (мандатное управление доступом) |
DACL | Discretionary Access Control List (дискреционный список управления доступом) |
SACL | System Access Control List (системный список управления доступом) |
Файловые системы:
UFS | Unix File System (файловая система UNIX) |
NFS | Network File System (сетевая файловая система) |
CacheFS | Cache File System |
LOFS | Loopback File System |
VFS | Virtual File System (виртуальная файловая система) |
CIFS | Common Internet File System (общая файловая система Интернет) |
FAT | File Allocation Table (таблица расположения файлов) |
VFAT | Virtual File Allocation Table (виртуальная таблица расположения файлов) |
NTFS | New Technology File System (файловая система новых технологий) |
Прочие:
FIFO | First-In-First-Out (FIFO pipe; канал работающий по принципу лпервый вошел Ц первый вышел) |
HTTP | HyperText Transfer Protocol (протокол передачи гипертекстовой информации) |
IIS | Internet Information Services (информационные сервисы интернета) |
RPC | Remote Procedure Call (удаленный вызов процедур) |
SMB | Server Message Block |
GNU | GNU is Not Unix |
1. Введение
Целью своей работы я ставлю рассмотрение общих принципов и механизмов работы
списков управления доступом (ACL), а также их реализации в наиболее
популярных операционных системах, подавляющее большинство которых относится к
классу UNIX-подобных операционных систем.
Так как ACL представляет собой одну из реализаций существующих моделей
разграничения прав доступа, то в данной работе также уделено место для
краткого описания существующих классов методов контроля над доступом
(дискреционного и мандатного), а также рассмотрены основные модели управления
доступом (в случае дискреционного управления доступа Ц модель Харрисона-
Руззо-Ульмана, а в случае мандатного Ц модель Белла-ЛаПадулы и его
модификация Ц модель Биба).
Концепция ACL формально не стала стандартом POSIX, а потому здесь будут
рассмотрены различные аспекты реализации и использования ACL. В частности
такие особенности, как реализация ACL в Linux, Solaris, Windows. Будут
рассмотрены различия в способах хранения расширенных атрибутов в различных
файловых системах (Ext2, Ext3, XFS, ReiserFS, NTFS и других).
1.1 Альтернативная модель управления доступом
Традиционно системы, поддерживающие POSIX [11,2] обладают единой простой, но
мощной моделью разрешений файловой системы: каждый объект файловой системы
ассоциируется с тремя наборами разрешений, которые определяют права доступа
для владельца файла, группы пользователей, к которой принадлежит владелец и
для всех остальных пользователей. Каждый набор может содержать права на
чтение (read, r), запись (write, w) и выполнение (execute, x). Эта схема
реализовывается с применением всего 9 бит для каждого объекта. В дополнение к
этим 9 битам в специфических целях также используются биты SUID, SGID и
Sticky. Эту модель описывает огромное множество как вводных текстов, так и
текстов для профессионалов [19].
Хотя традиционная система крайне проста, она испытывает недостаток в
реализации сценариев разрешений, которые обычно используются в UNIX системах.
Также системные администраторы сталкиваются порой с ситуациями, когда такая
модель уже недостаточна. Такие ситуации требуют неочевидных установок групп,
которые не отражают организационной структуры. Только суперпользователь
(root) может создавать группы и менять членство пользователей в этих группах.
Установка бита SUID может позволить обычным пользователям выполнять некоторые
административные задачи, но уязвимости и недоработки в утилитах,
реализовывающих такой механизм, могут привести к тому, что система будет
скомпрометирована. Некоторые приложения, такие как демоны FTP, реализовывают
свои собственные расширения к модели прав доступа файловой системы [15]. В
итоге модель прав доступа становится сложной и громоздкой в плане
конфигурации и обслуживания, что, в свою очередь, приводит к проблемам
безопасной работы системы.
Все эти сложности традиционной модели разграничений прав доступа приводят к
необходимости поиска альтернативы такой модели. Такой альтернативой стала
модель Access Control List (ACL).
Далее будет рассмотрена наиболее успешная схема, которая была разработана
рабочей группой POSIX 1003.1e/1003.2c.
1.2 Рабочая группа POSIX 1003.1e/1003.2c
Необходимость в стандартизации других смежных областей в безопасности в
дополнение к ACL, привела к тому, что была сформирована специальная рабочая
группа для определения расширений безопасности внутри POSIX 1003.1. Документы
1003.1e (System Application Programming Interface/Программный интерфейс
системных приложений) и 1003.2c (Shell and Utilities/Консоль и утилиты) были
специфицированы этой рабочей группой. Рабочая группа фокусировала свое
внимание на следующих расширениях POSIX.1: ACL, аудит, совместимость,
мандатное управление доступом (MAC).
К несчастью, оказалось, что стандартизация всех этих областей была непосильной
задачей. В январе 1998 года спонсирование 1003.1e и 1003.2c прекратилось. Одна
часть документов, которая была достаточно проработана, была выпущена рабочей
группой, а другая часть была не готова к выпуску в качестве стандартов. Было
решено, что драфт 17, последняя версия документов, выпущенных рабочей группой,
должен быть выложен для общего доступа. В настоящее время эти документы могут
быть найдены на сайте Винфрида Трампера (Winfried Trümper) [27].
Несколько производителей UNIX систем реализовали различные части расширений
безопасности и в результате к версии операционной системы добавлялся ярлык
УtrustedФ (доверенный), например Trusted Solaris, Trusted Irix, Trusted AIX.
В настоящее время поддержка ACL реализована на различных файловых системах
практически на всех UNIX-подобных системах. Некоторые из этих реализаций
совместимы с драфтом 17, в то время как остальные совместимы с более ранними
версиями. К несчастью, это отразилось в некоторых коренных различиях среди
различных реализаций.
Проект TrustedBSD (
Коньков К.А., Введение в операционные системы (Лекция 16. Защитные
механизмы операционных систем),
Кулябов Д.С., Учебно-методическое пособие по курсу УЗащита информации в
компьютерных сетяхФ Часть 1, М., 2004 Козинин Ф.А., Модели
политики безопасности,
6. Marius Aamodt Eriksen: Mapping Between NFSv4 and Posix Draft ACLs.
Internet Draft, October 2002.
8. Andreas Grünbacher: Preserving ACLs and EAs in editors and file
managers. February 18, 2003.
25. Robert N. M. Watson: Introducing Supporting Infrastructure for Trusted
Operating System Support in FreeBSD. BSDCon 2000, Monterey, CA, September 8,
2000.
26. Robert N. M. Watson: Personal communication. March 28, 2003.
27. Winfried Trümper: Summary about Posix.1e. Publicly available copies of
POSIX 1003.1e/1003.2c. February 28, 1999.
http://wt.xpilot.org/publications/posix.1e/