stringtranslate.com

Список контроля доступа

В компьютерной безопасности список контроля доступа ( ACL ) представляет собой список разрешений [a] , связанных с системным ресурсом (объектом или средством). ACL определяет, каким пользователям или системным процессам предоставлен доступ к ресурсам, а также какие операции разрешены на данных ресурсах. [1] Каждая запись в типичном ACL определяет субъекта и операцию. Например,

Реализации

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

Списки управления доступом файловой системы

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

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

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

POSIX-список контроля доступа

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

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

NFSv4 ACL

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

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

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

Списки контроля доступа Active Directory

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

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

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

Реализации SQL

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

Сравнение с RBAC

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

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

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

Смотрите также

Примечания

  1. ^ Например, разрешения файловой системы , разрешение на выполнение определенного действия.

Ссылки

  1. ^ R. Shirey (август 2007 г.). Internet Security Glossary, версия 2. doi : 10.17487/RFC4949 . RFC 4949 . Получено 19 мая 2023 г. .
  2. ^ Ричард Э. Смит. Элементарная информационная безопасность . стр. 150.
  3. ^ Дейли, Р. К.; Нойман, П. Г. (1965). «Универсальная файловая система для вторичного хранения». AFIPS '65 (осень, часть I): Труды осенней объединенной компьютерной конференции 30 ноября — 1 декабря 1965 г., часть I. ACM Press. стр. 213. doi :10.1145/1463891.1463915.
  4. ^ "Управление авторизацией и контролем доступа". Microsoft Learn . 2009-09-11 . Получено 2024-05-15 .
  5. ^ "PSI Pacer Software, Inc. Gnet-II revision 3.0". Communications. Computerworld . Vol. 18, no. 21. 1984-05-21. p. 54. ISSN  0010-4841 . Retrieved 2017-06-30 . В новой версии Gnet-II (revision 3.0) добавлен механизм безопасности линии, который реализован в подсистеме Primos ACL.
  6. ^ Грюнбахер, Андреас. «Списки контроля доступа POSIX в Linux». Usenix . Получено 12 декабря 2019 г.
  7. ^ wurtzkurdle. "Почему POSIX.1e был отозван?". Unix StackExchange . Получено 12 декабря 2019 г.
  8. ^ Трюмпер, Винфрид (28 февраля 1999 г.). "Резюме о Posix.1e". Архивировано из оригинала 2008-07-23.
  9. ^ "Red Hat Enterprise Linux AS 3 Release Notes (x86 Edition)". Red Hat . 2003. Архивировано из оригинала 2013-12-02 . Получено 2013-04-08 . Функциональность EA (Extended Attributes) и ACL (Access Control Lists) теперь доступна для файловых систем ext3. Кроме того, функциональность ACL доступна для NFS.
  10. ^ "NFSv4 ACLs". FreeBSD . 2011-09-12 . Получено 2013-04-08 .
  11. ^ "Глава 8 Использование ACL и атрибутов для защиты файлов ZFS". Oracle Corporation . 2009-10-01 . Получено 2013-04-08 .
  12. ^ Грюнбахер, Андреас (май 2008 г.). "Собственные списки контроля доступа NFSv4 в Linux". SUSE . Архивировано из оригинала 2013-06-20 . Получено 08.04.2013 .
  13. ^ Грюнбахер, Андреас (июль–сентябрь 2010 г.). «Richacls – Собственные списки контроля доступа NFSv4 в Linux». bestbits.at. Архивировано из оригинала 20.03.2013 . Получено 08.04.2013 .
  14. ^ "ACL". Linux NFS .
  15. ^ «Соответствие между NFSv4 и проектом ACL Posix».
  16. ^ "vfs_nfs4acl_xattr(8)". Руководство Samba .
  17. ^ «[MS-ADTS]: Техническая спецификация Active Directory».
  18. ^ Свифт, Майкл М. (ноябрь 2002 г.). «Улучшение детализации контроля доступа для Windows 2000 ». ACM Transactions on Information and System Security . 5 (4): 398–437. doi :10.1145/581271.581273. S2CID  10702162.
  19. ^ Дж. Баркли (1997) «Сравнение простых моделей контроля доступа на основе ролей и списков контроля доступа», в «Трудах второго семинара ACM по контролю доступа на основе ролей», страницы 127–132.
  20. ^ G. Karjoth, A. Schade и E. Van Herreweghen (2008) «Реализация политик на основе ACL в XACML», в «Ежегодной конференции по приложениям компьютерной безопасности 2008 года».

Дальнейшее чтение