Включение Access Based Enumeration в Windows Server 2012R2

  • Михаил
  • 12 мин. на прочтение
  • 99
  • 10 Dec 2015
  • 10 Dec 2015

Технология Access Based Enumeration (ABE) дословно переводится как ″Перечисление на основании доступа″ и позволяет на общих сетевых папках (шарах) скрыть от пользователя те файлы\папки, к которым у него нет прав доступа. Дело в том, что при наличии доступа к общей папке пользователь может видеть все находящиеся в ней объекты (файлы и папки), независимо от наличия к ним доступа.

По умолчанию процесс доступа к сетевой папке происходит таким образом:

  • Пользователь подключается к серверу и запрашивает доступ к общей папке;
  • Сервер (точнее служба LanmanServer, отвечающая за общий доступ к файлам и папкам) проверяет, есть ли у пользователя разрешения файловой системы на чтение\листинг данной папки, и при их наличии возвращает список всех файлов и папок, в ней находящихся;
  • Пользователь выбирает из списка интересующий его объект (файл или папку) и пытается его открыть;
  • Сервер проверяет, есть ли у пользователя необходимые права доступа. Если права есть — то пользователю возвращается требуемый объект, если нет — выдается ошибка доступа.

При такой последовательности действий сервер сначала выдает пользователю список всего содержимого папки, а права доступа к отдельным файлам\папкам внутри нее проверяет потом, при попытке доступа к ним. Конечно, без необходимых прав пользователь все равно на сможет получить доступ к объекту, но гораздо гуманнее будет скрыть от него то, к чему у него все равно нет доступа.

Как раз для этого и предназначена технология Access Based Enumeration. При активации ABE сервер начинает проверять права пользователя на содержимое папки перед тем, как отправить ему список. Таким образом пользователю будут перечислены только те ресурсы, на которые у него есть необходимые права — просмотр содержимого (list contents) для папок и чтение (read) для отдельных файлов.

Включение Access Based Enumeration

Процедура включение ABE крайне проста. Для настройки на отдельном сервере открываем Server Manager и на главной странице выбираем роль сервера «File and Storage Services».

Примечание. Для включения Access Based Enumeration необходима роль сервера File and Storage Services.

 

Затем переходим в раздел «Shares» и выбираем из списка шару, для которой надо включить ABE. Кликаем на ней правой клавишей и в открывшемся меню выбираем пункт «Properties».

 

И затем в свойствах шары ставим галку в поле «Enable access-based enumeration».

 

При управлении общими папками централизованно, через предпочтения групповых политик (Group Policies Preferences), в свойствах папки также есть возможность указать, будет ли включен для нее ABE.

 

Ну и в качестве примера — так выглядит папка с включенной ABE для администратора сервера

 

А так для обычного пользователя.

 

Таким образом, технология ABE облегчает жизнь как пользователям, так и администраторам. Пользователь избавлен от излишней информации и у него не возникает соблазна получить к ней доступ, а администратор больше не должен отвечать на вопросы по поводу отсутствия доступа. Кроме того, ABE крайне проста в настройке и практически не имеет особых требований к серверу и клиенту. Однако есть у ABE и недостаток — дополнительная нагрузка на сервер. Нагрузка напрямую зависит от количества пользователей на сервере и количества объектов в просматриваемом каталоге. При большой нагрузке скорость открытия папки может заметно уменьшиться.

Заключение

В заключение несколько замечаний по поводу использования ABE:

  • ABE контролирует только список содержимого общих папок, но не скрывает от пользователей список этих папок на сервере. Поэтому при подключении к серверу пользователь будет видеть все общие папки. Если вам необходимо создать скрытую шару, то можно просто добавить к ее имени знак $, например Doc$;
  • ABE не работает при локальном входе в систему или при подключении по RDP;
  • Члены группы локальных администраторов всегда видят полный список содержимого папки.