ACL — список управления доступом¶
ACL (англ. Access Control List, список управления доступом) — это механизм контроля доступа в компьютерных системах и сетях, определяющий, какие пользователи, группы или системы имеют право на выполнение операций с конкретным объектом — файлом, папкой, сетевым устройством, интерфейсом или программным ресурсом. ACL реализуется в виде списка правил, каждое из которых связывает субъект доступа (пользователя, группу, процесс) с набором разрешённых действий (чтение, запись, выполнение, изменение прав и т. д.).
¶Принцип работы
ACL хранится как часть метаданных защищаемого объекта или в отдельной системной базе. При попытке доступа система сверяет запрос субъекта со списком правил и разрешает либо запрещает операцию. В отличие от дискреционного контроля доступа (DAC), где права назначает сам владелец объекта, в моделях с обязательным контролем доступа (MAC) правила назначает централизованно администратор или политика безопасности, а пользователь не может изменить их самостоятельно.
¶Виды ACL
| Тип | Объект применения | Пример |
|---|---|---|
| Файловые ACL | Файлы и каталоги ОС | NTFS, ext4, ZFS |
| Сетевые ACL | Маршрутизаторы и коммутаторы | Cisco IOS, Junos |
| Веб-серверные ACL | HTTP-запросы | Apache, Nginx |
| Облачные ACL | Облачные ресурсы | AWS S3, Яндекс Облако |
¶Файловые ACL
В Windows-системах ACL реализованы в файловой системе NTFS: каждая папка и файл хранят список ACE (Access Control Entry — запись управления доступом), где указаны SID пользователя или группы и набор прав (чтение, запись, изменение, полный доступ). В Linux-системах расширенные файловые ACL (extended ACL) поддерживаются файловыми системами ext4, XFS и ZFS и расширяют классическую модель «владелец — группа — остальные».
¶Сетевые ACL
На маршрутизаторах и коммутаторах ACL применяются для фильтрации трафика по IP-адресам, протоколам и номерам портов. Правила упорядочены и применяются последовательно: первый совпавший шаблон определяет судьбу пакета. Сетевые ACL используются для сегментации сети, ограничения доступа к служебным интерфейсам и защиты от неавторизованного трафика.
¶Стандартные и расширенные ACL
В сетевом оборудовании Cisco принято деление ACL на два типа:
- Стандартные — фильтруют трафик только по исходному IP-адресу.
- Расширенные — учитывают также протокол, адрес и порт назначения, флаги TCP и другие параметры.
Расширенные ACL размещают ближе к источнику трафика, чтобы не расходовать полосу пропускания на ненужную пересылку.
¶Порядок правил
Правила в ACL применяются сверху вниз. Как только трафик совпал с каким-либо правилом, дальнейшая проверка прекращается. По умолчанию во многих системах действует неявное правило «запретить всё, что не разрешено явно» (default deny), поэтому порядок правил имеет принципиальное значение: более специфичные правила размещают выше общих.
¶Преимущества и ограничения
К достоинствам ACL относятся гибкость настройки, детальный контроль над каждым объектом и возможность централизованного управления политикой. Ограничения связаны со сложностью администрирования при большом числе правил, трудностью аудита и риском конфликтов между правилами. В сложных инфраструктурах ACL дополняют системами ролевого доступа (RBAC) и специализированными средствами управления политиками.
¶Применение
ACL используются повсеместно: в файловых системах настольных и серверных ОС, в сетевом оборудовании корпоративных сетей, в веб-серверах для ограничения доступа к разделам сайта, в базах данных для разграничения прав на таблицы и представления, а также в облачных платформах для управления доступом к объектам хранилищ и вычислительным ресурсам.
¶Источники
- Таненбаум Э., Бос Х. Современные операционные системы.
- RFC 4301: Security Architecture for the Internet Protocol.
- Cisco. Configuring IP Access Lists.
- Microsoft Docs. Access Control in Windows.
- POSIX.1-2017, раздел об управлении доступом к файлам.
