В компьютерной безопасности , список управления доступом ( ACL ) представляет собой список разрешений , связанных с ресурсом системы (объекта). ACL определяет, каким пользователям или системным процессам предоставляется доступ к объектам, а также какие операции разрешены для данных объектов. [1] Каждая запись в типичном ACL определяет тему и операцию. Например, если у файлового объекта есть ACL, содержащий(Алиса: читать, писать; Боб: читать), это даст Алисе разрешение на чтение и запись в файл и только Бобу разрешение на его чтение.
Реализации
Многие типы операционных систем реализуют списки ACL или имеют историческую реализацию. Первый из которых был в файловой системе в Multics в 1965 г. [2]
Списки управления доступом к файловой системе
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 определяются фактически опубликованным стандартом как часть сетевой файловой системы .
Списки контроля доступа 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] Как и в случае с POSIX ACL, NFSv4 ACL обычно хранятся как расширенные атрибуты в Unix-подобных системах.
Списки контроля доступа NFSv4 организованы почти так же, как списки контроля доступа Windows NT, используемые в NTFS. [13] Списки контроля доступа NFSv4.1 представляют собой надмножество как списков контроля доступа NT, так и черновых списков контроля доступа POSIX. [14] Samba поддерживает сохранение NT ACL файлов, совместно используемых SMB, разными способами, одним из которых является ACL с кодировкой NFSv4. [15]
Списки контроля доступа Active Directory
Microsoft «s Active Directory Служба каталогов реализует 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 ACL также управляют группами и наследованием в иерархии групп. Таким образом, «современные ACL» могут выражать все, что выражают RBAC, и обладают особенно мощной (по сравнению со «старыми» ACL-списками) способностью выражать политику контроля доступа с точки зрения того, как администраторы рассматривают организации.
Для обмена данными и для «сравнений высокого уровня» данные ACL могут быть переведены в XACML . [19]
Смотрите также
- Cacls
- Безопасность на основе возможностей
- C-список
- Запутанная депутатская проблема
- DACL
- Расширенные атрибуты файла
- Контроль доступа на основе ролей (RBAC)
Рекомендации
- ^ RFC 4949
- ^ Элементарная информационная безопасность Ричарда Э. Смита, стр. 150
- ^ «Управление авторизацией и контролем доступа» . Microsoft Technet . 2005-11-03 . Проверено 8 апреля 2013 .
- ^ "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.
- ^ Грюнбахер, Андреас. «Списки контроля доступа POSIX в Linux» . Usenix . Проверено 12 декабря 2019 .
- ^ wurtzkurdle. "Почему был отозван POSIX.1e?" . Unix StackExchange . Проверено 12 декабря 2019 .
- ^ Трумпер, Винфрид (28 февраля 1999 г.). "Краткое содержание Posix.1e" . Архивировано из оригинала на 2008-07-23.
- ^ «Примечания к выпуску Red Hat Enterprise Linux AS 3 (x86 Edition)» . Красная шляпа . 2003 . Проверено 8 апреля 2013 .
Функциональность EA (расширенные атрибуты) и ACL (списки контроля доступа) теперь доступна для файловых систем ext3. Кроме того, для NFS доступна функция ACL.
- ^ «Списки контроля доступа NFSv4» . FreeBSD . 2011-09-12 . Проверено 8 апреля 2013 .
- ^ «Глава 8 Использование списков контроля доступа и атрибутов для защиты файлов ZFS» . Корпорация Oracle . 2009-10-01 . Проверено 8 апреля 2013 .
- ^ Грюнбахер, Андреас (май 2008 г.). «Собственные списки ACL NFSv4 в Linux» . SUSE . Архивировано из оригинала на 2013-06-20 . Проверено 8 апреля 2013 .
- ^ Грюнбахер, Андреас (июль – сентябрь 2010 г.). «Richacls - собственные списки ACL NFSv4 в Linux» . bestbits.at. Архивировано из оригинала на 2013-03-20 . Проверено 8 апреля 2013 .
- ^ «ACL» . Linux NFS .
- ^ «Сопоставление между NFSv4 и Posix Draft ACL» .
- ^ "vfs_nfs4acl_xattr (8)" . Руководство по Samba .
- ^ «[MS-ADTS]: Техническая спецификация Active Directory» .
- ^ Свифт, Майкл М. (ноябрь 2002 г.). «Повышение детализации контроля доступа для Windows 2000». Транзакции ACM по информационной и системной безопасности (Tissec) . 5 (4): 398–437. DOI : 10.1145 / 581271.581273 . S2CID 10702162 .
- ^ Дж. Баркли (1997) « Сравнение простых моделей управления доступом на основе ролей и списков управления доступом », В «Протоколах второго семинара ACM по управлению доступом на основе ролей», страницы 127-132.
- ^ 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 .