Как настроить видимость папок при включенном Access Based Enumeration?
Вопрос по настройке сервера:
На сервере настроена общая папка с включенной опцией Access Based Enumeration. Пользователи имеют права на доступ к определенным подпапкам в этой общей папке.
Проблема: При удалении прав доступа пользователя к определенным подпапкам, он продолжает видеть эти папки в списке, но не может получить к ним доступ. Как настроить систему так, чтобы папки, к которым у пользователя нет прав доступа, становились невидимыми?
Access Based Enumeration (ABE) автоматически скрывает папки, к которым у пользователя нет прав доступа. Чтобы решить проблему видимости папок, необходимо правильно настроить NTFS-разрешения, очистить кэшированные разрешения и проверить наследование прав. Для корректной работы ABE пользователи должны иметь права “Содержимое папки” для всех каталогов от корня до целевой папки.
Содержание
- Что такое Access Based Enumeration
- Настройка ABE в Server Manager
- Настройка ABE через PowerShell
- Настройка ABE через GPO
- Основные проблемы и их решения
- Настройка разрешений для корректной работы ABE
- Очистка кэша и перезагрузка
- Особенности работы с DFS
- Проверка и тестирование
Что такое Access Based Enumeration
Access Based Enumeration (ABE) - это функция Windows Server, которая скрывает файлы и папки, к которым у пользователя нет прав доступа. Вместо отображения полного списка содержимого общего ресурса, пользователи видят только те папки и файлы, на которые у них есть соответствующие разрешения.
Важно: По умолчанию ABE отключена и должна быть явно включена для каждого общего ресурса.
Согласно официальной документации Microsoft, ABE играет критическую роль в обеспечении конфиденциальности данных, гарантируя, что пользователи видят только файлы и папки, на которые у них есть права доступа.
Настройка ABE в Server Manager
Для включения ABE через графический интерфейс Server Manager:
- Откройте Server Manager на вашем сервере Windows
- Выберите роль File and Storage Services
- Перейдите в раздел Shares
- Найдите нужный общий ресурс и щелкните правой кнопкой мыши
- Выберите Properties (Свойства)
- Перейдите на вкладку Settings (Параметры)
- Поставьте галочку Enable access-based enumeration
- Нажмите OK для применения изменений
Как объясняется в статье на Windows OS Hub, этот метод является наиболее простым для быстрого включения ABE на отдельных общих ресурсах.
Настройка ABE через PowerShell
Для управления ABE через PowerShell используйте командлет Set-SmbShare:
Set-SmbShare -Name "ShareName" -FolderEnumerationMode AccessBased
Чтобы проверить текущий режим перечисления папок:
Get-SmbShare | Format-Table Name, FolderEnumerationMode
Для возврата к стандартному режиму:
Set-SmbShare -Name "ShareName" -FolderEnumerationMode AccessBased
Как демонстрирует TheITBros, этот метод особенно полезен для автоматизации развертывания и управления множеством общих ресурсов.
Настройка ABE через GPO
Для массового развертывания ABE в домене используйте групповые политики:
- Откройте Group Policy Management Console (gpmc.msc)
- Создайте новую GPO или отредактируйте существующую
- Перейдите в раздел: Computer Configuration → Preferences → Windows Settings → Network Shares
- Создайте новый элемент Share (Общий ресурс)
- В настройках общей ресурса установите опцию Access-based enumeration
- Примените GPO к нужным OU с серверами
Как указано в статье Tenfold Security, этот метод позволяет централизованно управлять ABE на всех серверах домена.
Основные проблемы и их решения
Проблема: Папки видны, но недоступны
Когда пользователь видит папку, но не может получить к ней доступ, это обычно означает:
- Наследование разрешений: Папка может наследовать разрешения от родительских каталогов
- Кэшированные разрешения: Система использует кэшированные данные о разрешениях
- Права на просмотр: Пользователь имеет право “List Folder Contents” для промежуточных папок
Решение:
-
Отключите наследование разрешений для проблемной папки:
- Щелкните правой кнопкой мыши на папке → Свойства → Безопасность → Дополнительно
- Нажмите Отключить наследование → Преобразовать унаследованные разрешения в явные разрешения
-
Удалите ненужные разрешения явно:
- В разделе Разрешения удалите группы или пользователей, которым не должен быть доступ к папке
- Сохраните изменения
Как объясняется на Server Fault, отключение наследования и явное управление разрешениями часто решает проблему видимости папок.
Настройка разрешений для корректной работы ABE
Для корректной работы ABE пользователи должны иметь право “List Folder Contents” для всех каталогов от корня до целевой папки:
- Убедитесь, что у пользователей есть “List Folder Contents” для родительских папок
- Отключите наследование разрешений для конечных папок, если это необходимо
- Явно назначьте разрешения только тем группам, которым нужен доступ
Важно: Если у пользователя нет права “List Folder Contents” для какой-либо промежуточной папки, ABE работать не будет.
Как указывает Tenfold Security, это критически важный аспект настройки ABE, который часто упускают администраторы.
Очистка кэша и перезагрузка
После изменения разрешений может потребоваться очистка кэша:
-
Очистка кэша Kerberos:
cmdklist purge
-
Перезагрузка клиента:
- Полностью закройте и снова откройте проводник
- Или перезагрузите компьютер пользователя
-
Перезапуск служб на сервере:
powershellRestart-Service LanmanWorkstation Restart-Service LanmanServer
Как отмечают пользователи на Reddit, очистка кэша Kerberos (klist purge) часто решает проблемы с кэшированными разрешениями.
Особенности работы с DFS
При работе с DFS Namespaces настройка ABE имеет особенности:
-
Включите ABE в DFS Management:
- Откройте DFS Management
- Щелкните правой кнопкой мыши на пространстве имен → Properties
- Установите галочку Enable access-based enumeration
-
Настройте разрешения на каждом сервере:
- ABE требует настройки разрешений на автоматически создаваемых папках на каждом сервере пространства имен
- Разрешения не реплицируются автоматически между серверами
Как указано в статье на Reddit, для DFS необходимо явно изменять NTFS-разрешения на структуре папок, автоматически создаваемой на каждом сервере пространства имен.
Проверка и тестирование
После настройки ABE выполните следующие проверки:
-
Проверьте эффективные разрешения:
- Щелкните правой кнопкой мыши на папке → Свойства → Безопасность → Дополнительно
- Нажмите Выбрать пользователя → введите имя пользователя → Проверить
-
Тестирование с разными учетными записями:
- Войдите системой пользователя, которому не должен быть доступ
- Проверьте видимость папок в проводнике
- Убедитесь, что недоступные папки действительно скрыты
-
Используйте разные способы доступа:
- По NETBIOS имени сервера
- По FQDN сервера
- Через UNC-путь
Как объясняет Microsoft Q&A, важно проверять эффективные разрешения, а не только явно заданные, так как ABE основывается на итоговых разрешениях пользователя.
Источники
- Microsoft Learn - Enable Access-based Enumeration on a Namespace
- Windows OS Hub - Enable Access-based Enumeration (ABE) on Shared Folders
- TheITBros - Configure Access Based Enumeration on Windows Server 2016
- Tenfold Security - Access Based Enumeration: How to Enable ABE for Windows Server
- Server Fault - Access-based enumeration not working with share-subfolders
- Reddit - Access Based Enumeration is ignored when accessing new server unless by FQDN
- Microsoft Q&A - Access based Enumeration NOT working
Заключение
Для корректной настройки видимости папок с включенным Access Based Enumeration необходимо:
- Включить ABE на общем ресурсе через Server Manager, PowerShell или GPO
- Правильно настроить NTFS-разрешения, отключив наследование для чувствительных папок
- Обеспечить права “List Folder Contents” для промежуточных каталогов
- Очистить кэш Kerberos после изменения разрешений
- Перезагрузить клиентские системы для применения изменений
- Проверить эффективные разрешения для всех пользователей
Если после этих шагов проблема сохраняется, проверьте работу с разными способами доступа (NETBIOS vs FQDN) и убедитесь, что на сервере DFS настроены соответствующие разрешения на каждом сервере пространства имен.