Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В компьютерной безопасности , список управления доступом ( ACL ) представляет собой список разрешений , связанных с ресурсом системы (объекта). ACL определяет, каким пользователям или системным процессам предоставлен доступ к объектам, а также какие операции разрешены для данных объектов. [1] Каждая запись в типичном ACL определяет тему и операцию. Например, если у файлового объекта есть ACL, содержащий(Алиса: читать, писать; Боб: читать), это даст Алисе разрешение на чтение и запись в файл, а Бобу - только на чтение.

Реализации [ править ]

Многие типы операционных систем реализуют списки ACL или имеют историческую реализацию. Первый из которых был в файловой системе в Multics в 1965 г. [2]

ACL файловой системы [ править ]

ACL файловой системы - это структура данных (обычно таблица), содержащая записи, которые определяют права отдельного пользователя или группы на определенные системные объекты, такие как программы, процессы или файлы. Эти записи известны как записи управления доступом (ACE) в Microsoft Windows NT , [3] OpenVMS и Unix-подобных операционных системах, таких как Linux , macOS и Solaris . Каждый доступный объект содержит идентификатор своего ACL. Привилегии или разрешения определяют конкретные права доступа, например, может ли пользователь читать, записывать или выполнятьобъект. В некоторых реализациях ACE может контролировать, может ли пользователь или группа пользователей изменять ACL для объекта.

Одной из первых операционных систем, предоставляющих списки ACL файловой системы, была Multics . В PRIMOS ACL появились как минимум еще в 1984 году. [4]

В 1990-е годы модели ACL и RBAC были тщательно протестированы [ кем? ] и используется для управления правами доступа к файлам.

POSIX ACL [ править ]

Рабочая группа POSIX 1003.1e / 1003.2c предприняла попытку стандартизировать списки ACL, в результате чего получилось то, что теперь известно как «POSIX.1e ACL» или просто «POSIX ACL». [5] Черновики POSIX.1e / POSIX.2c были отозваны в 1997 году из-за того, что участники потеряли интерес к финансированию проекта и обратились к более мощным альтернативам, таким как NFSv4 ACL. [6] По состоянию на декабрь 2019 г. в Интернете не было живых источников проекта, но его все еще можно было найти в Интернет-архиве . [7]

Большинство Unix и Unix-подобных операционных систем (например, Linux с версии 2.5.46 или ноября 2002, [8] BSD или Solaris ) поддерживают списки ACL POSIX.1e (не обязательно проект 17). ACL обычно хранятся в расширенных атрибутах файла в этих системах.

NFSv4 ACL [ править ]

Списки контроля доступа NFSv4 намного мощнее, чем черновые списки контроля доступа POSIX. В отличие от проектов ACL POSIX, ACL NFSv4 определены фактически опубликованным стандартом как часть сетевой файловой системы .

ACL NFSv4 поддерживаются многими Unix и Unix-подобными операционными системами. Примеры включают AIX , FreeBSD , [9] Mac OS X, начиная с версии 10.4 (« Tiger »), или Solaris с файловой системой ZFS , [10] поддерживают списки ACL NFSv4 , которые являются частью стандарта NFSv4. Существуют две экспериментальные реализации ACL NFSv4 для Linux: поддержка ACL NFSv4 для файловой системы Ext3 [11] и более поздняя версия Richacls, которая обеспечивает поддержку ACL NFSv4 для файловой системы Ext4 . [12] Как и списки ACL POSIX, списки ACL NFSv4 обычно хранятся как расширенные атрибуты в Unix-подобных системах.

Списки контроля доступа NFSv4 организованы почти так же, как списки контроля доступа Windows NT, используемые в NTFS. [13] Списки контроля доступа NFSv4.1 представляют собой надмножество списков контроля доступа NT и черновых списков контроля доступа POSIX. [14] Samba поддерживает сохранение NT ACL файлов, совместно используемых SMB, разными способами, одним из которых является ACL с кодировкой NFSv4. [15]

ACL Active Directory [ править ]

Служба каталогов Active Directory от Microsoft реализует сервер LDAP, который хранит и распространяет информацию о конфигурации пользователей и компьютеров в домене. [16] Active Directory расширяет спецификацию LDAP, добавляя тот же тип механизма списков управления доступом, который Windows NT использует для файловой системы NTFS. Затем Windows 2000 расширила синтаксис записей управления доступом, чтобы они могли не только предоставлять или запрещать доступ ко всем объектам LDAP, но также и к отдельным атрибутам внутри этих объектов. [17]

Сетевые ACL [ править ]

На некоторых типах проприетарного компьютерного оборудования (в частности, маршрутизаторах и коммутаторах ) список управления доступом предоставляет правила, которые применяются к номерам портов или IP-адресам , доступным на хосте или другом уровне 3 , каждый со списком хостов и / или сети, которым разрешено использовать услугу. Хотя дополнительно можно настроить списки управления доступом на основе сетевых доменных имен, это сомнительная идея, поскольку отдельные заголовки TCP , UDP и ICMP не содержат доменных имен. Следовательно, устройство, применяющее список контроля доступа, должно отдельно разрешать именана числовые адреса. Это представляет собой дополнительную поверхность атаки для злоумышленника, который пытается поставить под угрозу безопасность системы, которую защищает список управления доступом. Как отдельные серверы, так и маршрутизаторы могут иметь сетевые ACL. Списки управления доступом обычно можно настроить для управления как входящим, так и исходящим трафиком, и в этом контексте они аналогичны брандмауэрам . Как и брандмауэры, ACL могут регулироваться правилами и стандартами безопасности, такими как PCI DSS .

Реализации SQL [ править ]

Алгоритмы ACL были перенесены на SQL и в системы реляционных баз данных . Многие «современные» (2000-е и 2010-е) системы на основе SQL , такие как системы планирования ресурсов предприятия и управления контентом, использовали модели ACL в своих модулях администрирования.

Сравнение с RBAC [ править ]

Основной альтернативой модели ACL является модель управления доступом на основе ролей (RBAC). «Минимальную модель RBAC», RBACm , можно сравнить с механизмом ACL, ACLg , где в качестве записей в ACL разрешены только группы. Barkley (1997) [18] показал, что RBACm и ACLg эквивалентны.

В современных реализациях SQL списки управления доступом также управляют группами и наследованием в иерархии групп. Таким образом, «современные списки контроля доступа» могут выражать все, что выражают RBAC, и являются особенно мощными (по сравнению со «старыми списками контроля доступа») в своей способности выражать политику контроля доступа с точки зрения того, как администраторы рассматривают организации.

Для обмена данными и для «сравнений высокого уровня» данные ACL могут быть переведены в XACML . [19]

См. Также [ править ]

  • Cacls
  • Безопасность на основе возможностей
  • C-список
  • Запутанная депутатская проблема
  • DACL
  • Расширенные атрибуты файла
  • Управление доступом на основе ролей (RBAC)

Ссылки [ править ]

  1. ^ RFC  4949
  2. ^ Элементарная информационная безопасность Ричарда Э. Смита, стр. 150
  3. ^ «Управление авторизацией и контролем доступа» . Microsoft Technet . 2005-11-03 . Проверено 8 апреля 2013 .
  4. ^ "PSI Pacer Software, Inc. Gnet-II, версия 3.0" . Связь. Компьютерный мир . 18 (21). 1984-05-21. п. 54. ISSN 0010-4841 . Проверено 30 июня 2017 . В новой версии Gnet-II (версия 3.0) добавлен механизм защиты линии, который реализован в подсистеме Primos ACL. 
  5. ^ Грюнбахер, Андреас. «Списки контроля доступа POSIX в Linux» . Usenix . Проверено 12 декабря 2019 .
  6. ^ wurtzkurdle. "Почему был снят POSIX.1e?" . Unix StackExchange . Проверено 12 декабря 2019 .
  7. ^ Trumper, Винфрид (28 февраля 1999). "Резюме о Posix.1e" . Архивировано из оригинала на 2008-07-23.
  8. ^ «Информация о выпуске Red Hat Enterprise Linux AS 3 (x86 Edition)» . Красная шляпа . 2003 . Проверено 8 апреля 2013 . Функциональность EA (расширенные атрибуты) и ACL (списки контроля доступа) теперь доступна для файловых систем ext3. Кроме того, для NFS доступна функция ACL.
  9. ^ "Списки контроля доступа NFSv4" . FreeBSD . 2011-09-12 . Проверено 8 апреля 2013 .
  10. ^ «Глава 8 Использование списков контроля доступа и атрибутов для защиты файлов ZFS» . Корпорация Oracle . 2009-10-01 . Проверено 8 апреля 2013 .
  11. ^ Grünbacher, Andreas (май 2008). «Собственные списки ACL NFSv4 в Linux» . SUSE . Архивировано из оригинала на 2013-06-20 . Проверено 8 апреля 2013 .
  12. ^ Grünbacher, Andreas (июль-сентябрь 2010). «Richacls - собственные списки ACL NFSv4 в Linux» . bestbits.at. Архивировано из оригинала на 2013-03-20 . Проверено 8 апреля 2013 .
  13. ^ "ACL" . Linux NFS .
  14. ^ «Сопоставление между NFSv4 и Posix Draft ACL» .
  15. ^ "vfs_nfs4acl_xattr (8)" . Руководство по Samba .
  16. ^ «[MS-ADTS]: Техническая спецификация Active Directory» .
  17. ^ Свифт, Майкл М. (ноябрь 2002 г.). «Повышение детализации контроля доступа для Windows 2000». Транзакции ACM по информационной и системной безопасности (Tissec) . 5 (4): 398–437. DOI : 10.1145 / 581271.581273 . S2CID 10702162 . 
  18. ^ Дж. Баркли (1997) « Сравнение простых моделей управления доступом на основе ролей и списков управления доступом », В «Протоколах второго семинара ACM по управлению доступом на основе ролей», страницы 127–132.
  19. ^ G. Karjoth, A. Schade и E. Van Herreweghen (2008) « Реализация политик на основе ACL в XACML », В «Ежегодной конференции по приложениям компьютерной безопасности 2008».

Дальнейшее чтение [ править ]

  • Родос, Том. «Списки контроля доступа к файловой системе (ACL)» . Справочник FreeBSD . Проверено 8 апреля 2013 .
  • Майкл Фокс; Джон Джордано; Лори Стотлер; Арун Томас (24 августа 2005 г.). «SELinux и grsecurity: пример сравнения усовершенствований ядра безопасности Linux» (PDF) . Университет Вирджинии . Архивировано из оригинального (PDF) 24 февраля 2012 года . Проверено 8 апреля 2013 .
  • Хинрикс, Сьюзен (2005). «Безопасность операционной системы» . CyberSecurity Spring 2005 . Университет Иллинойса . Архивировано из оригинала на 2012-03-04 . Проверено 8 апреля 2013 .
  • Митчелл, Джон. «Контроль доступа и безопасность операционных систем» (PDF) . Стэнфордский университет . Проверено 8 апреля 2013 .
  • Кларксон, Майкл. «Контроль доступа» . Корнельский университет . Проверено 8 апреля 2013 .
  • Кляйн, Хельге (12 марта 2009 г.). «Разрешения: пример или: DACL, SACL, владелец, SID и ACE с объяснением» . Проверено 8 апреля 2013 .
  • «Списки контроля доступа» . Библиотека MSDN . 2012-10-26 . Проверено 8 апреля 2013 .
  • «Как работают разрешения» . Microsoft Technet . 2003-03-28 . Проверено 8 апреля 2013 .