НейроАгент

Access Based Enumeration: настройка видимости папок

Полное руководство по настройке Access Based Enumeration в Windows Server. Узнайте, как скрыть папки, к которым у пользователей нет прав доступа, и решить проблемы с видимостью после отмены разрешений.

Вопрос

Как настроить видимость папок при включенном Access Based Enumeration?

Здравствуйте, коллеги!

У меня возникла проблема с настройкой Access Based Enumeration на сервере. На общей папке включена данная функция, и у пользователей есть права на доступ к определенным подпапкам.

Проблема: когда у пользователя удаляются права на доступ к подпапкам, он продолжает видеть эти папки в списке, но не может к ним получить доступ. Как настроить систему так, чтобы после отмены прав доступа пользователь перестал видеть папки, к которым у него нет доступа?

НейроАгент

Access Based Enumeration (ABE) в Windows Server скрывает файлы и папки, к которым у пользователя нет прав доступа, но для правильной работы необходимо правильно настроить наследование разрешений. Проблема видимости папок после отмены прав доступа обычно возникает из-за унаследованных разрешений от родительских каталогов, которые продолжают предоставлять базовые права на чтение.

Содержание

Что такое Access Based Enumeration и как она работает

Access Based Enumeration (ABE) — это функция Windows Server, которая автоматически скрывает файлы и папки из списка содержимого общей папки, если у текущего пользователя нет прав на доступ к этим объектам [source]. Эта функция работает на уровне протокола SMB и предоставляет пользователю только те ресурсы, к которым у него действительно есть доступ.

ABE работает следующим образом:

  • Пользователь запрашивает список содержимого общей папки
  • Сервер проверяет разрешения NTFS для каждого объекта
  • Возвращаются только те объекты, к которым у пользователя есть права на чтение или перечисление
  • Пользователи не видят объекты, к которым у них нет доступа

Важно: ABE защищает содержимое, а не саму шару. Даже если пользователь видит папку в списке, он не сможет получить к ней доступ без соответствующих разрешений [source].

Основные причины видимости папок при отмене прав доступа

Наиболее распространенные причины, по которым папки остаются видимыми после отмены прав доступа:

1. Унаследованные разрешения от корневого каталога

Разрешения наследуются от корневого каталога системы и предоставляют группе DOMAIN\Users права на чтение. В результате, даже после включения ABE, все папки в пространстве имен остаются видимыми для всех пользователей домена [source].

2. Права на перечисление содержимого

Если для пользователя или группы сохраняются права на перечисление содержимого (List folder contents), папки будут оставаться видимыми, даже если права на доступ к содержанию удалены.

3. Наследование разрешений не отключено

При создании папки DATA_AUTH\USER1 она наследует права чтения от DATA_AUTH. Отключение наследования не удаляет эти разрешения — они остаются “дедовскими” (grandfathered), поэтому USER_2_Group может их читать [source].

4. Разрешения на родительском уровне

Пользователи могут видеть папки, если у них есть права на доступ к родительским каталогам, даже если права на конкретные подпапки отменены.

Правильная настройка наследования разрешений

Чтобы ABE работала правильно, необходимо правильно настроить наследование разрешений:

Отключение наследования на уровне папок

Для каждой папки, которую нужно скрыть от определенных пользователей:

  1. Откройте свойства папки
  2. Перейдите на вкладку “Безопасность”
  3. Нажмите “Дополнительно”
  4. Снимите галочку “Унаследовать от родительского объекта разрешения…”
  5. Выберите “Удалить все унаследованные разрешения”

Установка явных разрешений

После отключения наследования установите явные разрешения только для групп, которым доступ должен быть предоставлен:

  • Удалите группу DOMAIN\Users из списка разрешений
  • Добавьте только конкретные группы или пользователей, которым нужен доступ
  • Предоставьте минимально необходимые права (Read, Write и т.д.)

Пример правильной структуры разрешений

Папка Project_A:
- Группа Project_A_Team: Full Control
- Группа Domain Users: Нет разрешений

Папка Project_B:
- Группа Project_B_Team: Full Control  
- Группа Domain Users: Нет разрешений

Пошаговая настройка ABE через Server Manager

Включение ABE на общей папке

  1. Откройте Server Manager
  2. Выберите File and Storage ServicesShares
  3. Выберите нужную общую папку
  4. Откройте свойства папки
  5. Перейдите на вкладку Settings
  6. Установите галочку Enable access-based enumeration
  7. Нажмите Apply и OK [source]

Проверка настройки ABE

После включения ABE проверьте работу функции:

  1. Подключитесь к общей папке от имени пользователя без прав доступа
  2. Убедитесь, что видны только те папки, к которым есть доступ
  3. Попробуйте получить доступ к скрытым папкам — должно быть запрещено

Настройка ABE через PowerShell

Включение ABE для существующей общей папки

powershell
Set-SmbShare -Name "Data" -FolderEnumerationMode AccessBased

Проверка текущего режима перечисления папок

powershell
Get-SmbShare | Format-Table Name, FolderEnumerationMode

Отключение ABE

powershell
Set-SmbShare -Name "Data" -FolderEnumerationMode Default

Массовая настройка ABE для нескольких шаров

powershell
Get-SmbShare | Where-Object { $_.Path -like "*Projects*" } | 
    Set-SmbShare -FolderEnumerationMode AccessBased

Решение проблем с видимостью папок в DFS

Настройка ABE для пространств имен DFS

  1. Откройте DFS Management
  2. Выберите пространство имен
  3. Кликните правой кнопкой мыши → Properties
  4. На вкладке Advanced установите галочку Enable access-based enumeration
  5. Нажмите OK [source]

Автоматизация настройки ABE в DFS

Для автоматизации настройки ABE на DFS-ссылках можно использовать следующий скрипт PowerShell:

powershell
# Dfs-SetLinkACEsToTargetACEs.ps1
# Автоматизация Access-Based Enumeration для DFS-ссылок

Param (
    [Parameter(Mandatory=$true)]
    [string]$DfsRootPath
)

Get-ChildItem $DfsRootPath | ForEach-Object {
    $DfsTargetPath = $_.FullName
    $AccessGrant = @()
    $AccessDeny = @()
    
    (Get-Acl $DfsTargetPath).Access | ForEach-Object {
        # Обработка разрешений для ABE
    }
}

Проблемы с наследованием разрешений в DFS

В средах DFS часто возникают проблемы с видимостью папок из-за того, что:

  • Разрешения наследуются от корневого каталога системы
  • Пользователи получают права на чтение от DOMAIN\Users
  • Даже после включения ABE все папки остаются видимыми [source]

Решение — отключение наследования и установка явных разрешений на каждом уровне DFS-структуры.

Проверка и отладка работы ABE

Проверка эффективных прав доступа

Используйте инструмент эффективного доступа для проверки прав пользователей:

  1. Откройте свойства папки
  2. Перейдите на вкладку “Безопасность”
  3. Нажмите “Дополнительно”
  4. Выберите пользователя и нажмите “Эффективный доступ”
  5. Убедитесь, что у пользователя нет прав на доступ к скрытым папкам

Тестирование с разными пользователями

Тестируйте работу ABE с учетными записями разных пользователей:

  • Пользователь с правами доступа: должен видеть все разрешенные папки
  • Пользователь без прав доступа: должен видеть только разрешенные папки
  • Пользователь с частичными правами: должен видеть только папки с доступными разрешениями

Логирование событий ABE

Для отладки включите расширенное логирование событий:

  1. Откройте Event Viewer
  2. Перейдите в Applications and Services LogsMicrosoftWindowsSMBServer
  3. Настройте уровень логирования Verbose
  4. Мониторируйте события, связанные с доступом к файлам

Распространенные проблемы и их решения

Проблема Причина Решение
Папки видны даже после отмены прав Унаследованные разрешения Отключите наследование и установите явные разрешения
ABE не работает на DFS-пространствах Не включен ABE для DFS Включите ABE через DFS Management
Пользователи видят папки, но не могут получить доступ Права на перечисление есть, но права на доступ отсутствуют Проверьте и корректно настройте оба типа разрешений

Заключение

Access Based Enumeration — мощный инструмент для повышения безопасности файловых серверов, но его правильная настройка требует внимания к деталям наследования разрешений. Ключевые моменты успешной настройки:

  1. Всегда отключайте наследование разрешений на папках, которые нужно скрыть от определенных пользователей
  2. Удаляйте группу DOMAIN\Users из списка разрешений на уровне папок
  3. Устанавливайте явные разрешения только для групп, которым доступ действительно необходим
  4. Тестируйте работу ABE с учетными записями разных пользователей после каждой настройки
  5. Используйте эффективные права доступа для проверки корректности настроек

Для решения проблемы видимости папок после отмены прав доступа необходимо тщательно проверить и переconfigure наследование разрешений, отключив его на уровне проблемных папок и установив явные разрешения только для авторизованных групп.

Источники

  1. Access Based Enumeration: How to Enable ABE for Windows Server - Tenfold Security
  2. Enable Access-based Enumeration on a Namespace - Microsoft Learn
  3. Using Inherited Permissions with Access-based Enumeration - Microsoft Learn
  4. Enable Access-based Enumeration (ABE) on Shared Folders (SMB) - Windows OS Hub
  5. Configure Access Based Enumeration on Windows Server 2016 – TheITBros
  6. Display only Folders that a User has Access: Configuring Access Based Enumeration on Windows Server 2012/2016 - SID-500
  7. What am I doing wrong? access-based enumeration not working with share-subfolders - Server Fault
  8. How to hide folders from local Administrators using Access-based Enumeration? - Super User
  9. How to work with Access-Based enumeration in Dfs? - Server Fault
  10. Access based Enumeration NOT working - Microsoft Q&A