Открыть сервис

ACL

ACL (от англ. Access Control List — список управления доступом) — это механизм, используемый в компьютерных системах, сетевом оборудовании и операционных системах для разграничения прав доступа субъектов (пользователей, процессов, устройств) к объектам (файлам, каталогам, сетевым интерфейсам, портам). ACL представляет собой упорядоченный набор правил (записей), каждое из которых определяет, разрешить или запретить определённое действие (например, чтение, запись, выполнение, подключение) для конкретного субъекта или группы субъектов.

История

Концепция списков управления доступом возникла в 1970-х годах в рамках развития систем защиты операционных систем. Одной из первых реализаций ACL стала система Multics, разработанная в Массачусетском технологическом институте (MIT). В Multics каждый файл и каталог имел ассоциированный ACL, который позволял гибко настраивать права для отдельных пользователей, а не только для владельца, группы и всех остальных, как в более простых моделях (например, в Unix).

В 1980-х годах механизмы ACL были внедрены в операционные системы семейства Unix (включая POSIX-совместимые системы) и в протоколы сетевого управления, такие как IP-фильтрация в маршрутизаторах. В 1990-х годах с развитием Windows NT компания Microsoft (организация признана нежелательной в РФ) включила ACL в свою модель безопасности, основанную на NTFS. С тех пор ACL стали стандартным компонентом современных ОС (Linux, FreeBSD, macOS, Windows) и сетевого оборудования (Cisco, Juniper, MikroTik).

Классификация ACL

ACL делятся на несколько типов в зависимости от области применения:

По типу субъектов и объектов

По способу задания правил

По порядку обработки

Устройство и характеристики

Структура записи ACL

Каждая запись ACL (ACE — Access Control Entry) содержит:

Порядок применения

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

Наследование в файловых ACL

В файловых системах (например, NTFS, ext4 с поддержкой ACL) правила могут наследоваться от родительского каталога к дочерним объектам. Это упрощает администрирование: достаточно задать ACL на корневом каталоге, и все вложенные файлы и папки унаследуют эти правила, если не заданы явные исключения.

Применение

В операционных системах

В сетевом оборудовании

В базах данных

Примеры

Пример файлового ACL (Linux)

`` user::rw- user:john:rwx group::r-- group:developers:rwx mask::rwx other::--- `` В этом примере:

Пример сетевого ACL (Cisco)

`` access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80 access-list 100 deny ip any any `` Этот ACL разрешает HTTP-трафик (порт 80) из сети 192.168.1.0/24 на любой адрес, а весь остальной трафик запрещает.

Критика и ограничения

Несмотря на широкое распространение, ACL имеют ряд недостатков:

Альтернативы

В современных системах всё чаще используются более гибкие модели управления доступом:

Тем не менее, ACL остаются базовым механизмом для большинства операционных систем и сетевых устройств благодаря своей простоте и прозрачности.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →