Access-Based Enumeration (ABE, перечисление на основе доступа) это опция файлового сервера Windows, которая позволяет скрыть от пользователя файлы и папки, к которым у него доступа. Это позволяет скрыть структуру каталогов и имена папок и файлов в общей сетевой папке.
Как включить Access Based Enumeration в Windows Server
Рассмотрим сценарий, когда на файловом сервере Windows есть некая общая сетевая папка с каталогами нескольких отделов. Все пользователи могут просматривать список директорий в этой папке (для этого на корневую папку даны права List folder или Traverse folder для группы Users). Но пользователи могут зайти только в каталоги, в списки доступа NTFS которых они добавлены.
Предположим, пользователь добавлен в группы доступа AD, назначенные на 2 каталога Public и Salary.
Группы безопасности AD добавлены в NTFS разрешения соответствующих подкаталогов в общей папки. Из ACL убраны разрешения, дающие доступ к подпапкам для групп Domain Users или Builtin\Users.
Чтобы включить ABE, откройте консоль Server Manager -> выберите роль File and Storage Services -> Shares. Отройте свойства общей папки и на вкладке Settings включите опцию Enable access-based enumeration.
Обновите содержимое общей папки у пользователя. Теперь пользователеь видит только два каталога, к которым ему предоставлен доступ. Оставшиеся папки скрыты от пользователя.
Кроме того, вы можете включать ABE на компьютерах домена AD с помощью групповых политик. Для этого используется GPP в секции: Computer Configuration -> Preferences -> Windows Settings -> Network Shares).
Если включить опцию Access-Based Enumeration, то для сетевой папки, опубликованной с помощью данной GPO, будет включен режим ABE.
Управление Access Based Enumeration из командной строки (PowerShell)
Можно включить ABE для сетевой папки из командной строки PowerShell.
Например, чтобы включить режим перечисления для общей папка с именем Docs, выполните команду:
Get-SmbShare Docs | Set-SmbShare -FolderEnumerationMode AccessBased
Вывести список опубликованных сетевых папок (включая общие административные папки Windows) и статус опции ABE:
Get-SmbShare | Select-Object Name,FolderEnumerationMode
Значение FolderEnumerationMode =
AccessBased
указывает, что Access Based-enumeration для них включен.
Отключить ABE для папки:
Get-SmbShare Docs | Set-SmbShare -FolderEnumerationMode Unrestricted
smb.conf
опции:
hide unreadable = Yes access based share enum = Yes
В корпоративной среде ABE часто применяется для папок DFS, скрывая от пользователей «ненужные» папки и предоставляя более удобную структуру дерева общих папок. Включить ABE на пространстве имен DFS можно с помощью консоли DFS Management или утилиты dfsutil.exe:
dfsutil property abde enable \\<namespace root>
Другие особенности и ограничений Access-based Enumeration в Windows
- Включение ABE на файловых серверах может увеличить нагрузку на сервер. Особенно заметна будет задержка отображения списка файлов в каталогах, которые содержат тысячи файлов (например, при наличии 15000 объектов в общей папке, скорость ее открытия замедлится на 1-3 секунды).
- ABE не работает при локальном просмотре каталогов на сервере.
- Члены локальной группы администраторов файлового сервера всегда видят полный список объектов в сетевой папке.