Курсовая: Списки управления доступом

РОССИЙСКИЙ УНИВЕРСИТЕТ ДРУЖБЫ НАРОДОВ
           Факультет физико-математических и естественных наук           
Направление             прикладная математика и информатика                 
Кафедра                                                
систем телекоммуникаций                            
                                 Курсовая работа                                 
                        Списки управления доступом (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/