Access-based Enumeration (ABE) или раздаём права на директории правильно

Удивительно, но несмотря на то, что Access-based Enumeration (ABE) появился ещё во времена Windows 2003 (SP1) (в русской редакции эта функция называется "Перечисление на основе доступа"), данной функцией пользуются до сих пор крайне небольшое количество системных администраторов, хотя данный функционал может достаточно сильно сберечь нервы, не отвечая постоянно на вопрос пользователя "а почему меня не пускает в папку Х?". Об этой полезной функции сегодня мы и поговорим.

Немного поговорим о теории и на пальцах разберём как происходит общение между клиентом и сервером в вопросе предоставления файловых данных:
- клиент обращается к серверу с запросом на доступ к определённой директории
- сервер проверяет - есть ли у пользователя разрешение на доступ к этой директории
- если у пользователя доступ к директории (чтение/листинг) разрешён - пользователи видит директории/файлы в этой директории
- по той же схеме пользователь запрашивает доступ к другим директориям/файлам
т.е. можно сделать вывод что проверка прав доступа производится после показа всего содержимого, что не всегда есть хорошо. Расскажу вот абстрактную историю из жизненного опыта: приходит на работу жена ген.директора и пытается совать нос во все дела компании, и естественно хочет получить доступ ко всем данным компании, хранящимся на файловом сервере. С одной стороны - доступ ей давать никто особо и не хочет, по тому что не надо ей туда лезть (ну как максимум - доступ на чтение, но это крайний случай), с другой стороны - жена генерального директора это вам не рядовой менеджер организации и просто так запрос не отклонишь. Но ведь она не в курсе - а что именно хранится на файловом сервер и какая структура данных там существует. Именно в такой ситуации нам и поможет ABE, она позволяет проверять права доступа до обращения к директориям/файлам в директории. Т.е. пользователь заходит в корневую директорию, допустим share и видит всего пару директорий, когда на самом деле все остальные сотрудники (ну кому это положено) видят полную структуру директорий и файлов. Соответственно не возникает вопросов что нет доступа в директорию Х и выдайте мне срочно-срочно права на полный доступ. Это один из тех примеров, когда IT подразделению приходится решать не совсем их проблемы, но чем можно очень сильно облегчить собственную жизнь. Но в принципе эта технология позволяет предотвратить несанкционированные действия в сторону файлового сервера. Ведь многие из вас ни раз встречали среди офисных сотрудников "мини-хакеров", как я люблю их называть. Которые любят позапускать сетевые сканеры, поискать дыры на ваших серверах и вообще - занимаются не работой, а членовредительством.
Настройка в Windows (у меня в данном случае свеженький 2012) достаточно проста:
Включаем данную функцию:
Screenshot 2013-04-16 21.25.54
Ну а дальше остаётся лишь настроить права на директории и всё. Директории, в которые у пользователя доступ есть - видны ему, а в которые доступ запрещён или не выдан - не видны.
Screenshot 2013-04-16 22.36.29
Ну а клиент соответственно видит только то что ему положено
Screenshot 2013-04-16 22.37.40

Настройка в linux ещё более проста, она сводится к включению ABE в конфиге samba:
access based share enum = yes
и выдать так же правильные права на директории.

Что хотелось бы сказать в конце:
Как можно уже логически догадаться - чем больше директорий в корневой директории - тем медленее будет осуществляться доступ к данным. Продумывайте более иерархичной. Microsoft заявляет, что при наличии 15000 файлов осуществляется падение скорости открытия папки на 1-3 секунды. ABE отлично сочетается с DFS, для более удобного администрирования сетевых ресурсов. Облегчайте жизнь себе и своим последователям, делайте администрирование простым, быстрым и удобным.

Это пожалуй первое упоминание Windows Server в моём блоге, но это не значит что я как то игнорирую эту ОС в своей работе, или не знаю её, или она мне на столько не нравится. Да, может быть это конечно в какой то мере и так, но с выходом Windows Server 2012 моё мнение несколько изменилось в лучшую сторону, эта система стала для меня более удобной (ну разве что мне не хватает кнопки пуск и меня бесит Метро-интерфейс) и интересной в плане работы с ней. Так что, возможно, теперь упоминания о ней будут чаще проскакивать в моём блоге 🙂

Добавить комментарий