Access-Based Enumeration (ABE, перечисление на основе доступа) это опция файлового сервера Windows, которая позволяет скрыть от пользователя файлы и папки, к которым у него доступа. Это позволяет скрыть структуру каталогов и имена папок и файлов в общей сетевой папке.
Содержание:
- Как включить Access Based Enumeration в Windows Server
- Управление Access Based Enumeration из командной строки (PowerShell)
Как включить 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.
Это в том числе позволяет включить Access-Based enumeration для сетевых папок, опубликованных на обычных рабочих станциях с десктопными версиями Windows 10 и 11.
Например, чтобы включить режим перечисления для общей папка с именем 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
В Samba сервере на Linux для включения Access-based Enumeration нужно добавить в конфигурационный файл
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 не работает при локальном просмотре каталогов на сервере.
- Члены локальной группы администраторов файлового сервера всегда видят полный список объектов в сетевой папке.
Если у Вас на сервере Windows Server, есть расшаренная папка, в которой есть множество других папок, при этом доступ к ним распределяется на уровне NTFS прав и вам необходимо скрыть недоступные конкретному пользователю папки, то данный метод Вам подойдет
К примеру расшарена у вас папка \\server\folders\ пользователь видит все папки находящиеся в ней:
Это список папок, доступных пользователям. Нам требуется скрыть недоступные, конкретным пользователям. Для этого на сервер запускаем оснастку storagemgmt.msc. Заходим в свойства шары, нажимаем Advanced и ставим гапочку Access based enumeration. Выглядит это примерно так:
������� � ������
In some cases, you may require hiding the C drive from ordinary users like students from a university campus. This tutorial is specifically written for this purpose. It has following the two parts and it assumes you are familiar with creating OU’s (Organisational Units).
- Creating a Group Policy Object or GPO and then.
- Link a GPO to OU.
Creating a Group Policy Object
Step 1: Open server manager dashboard and click Group Policy Management.
Step 2: Expand the Tree: <domain name> node and right-click Group Policy Objects. Click New.
Step 3: Provide a meaningful name and click OK.
Step 4: Right-click the GPO (Group Policy Object) you created in above step and click Edit.
Step 5: Go to User Configuration > Administrative Template > Windows Components > File Explorer. Right-click Hide these specified drives in My Computer and click Edit.
Step 6: Choose Restrict C drive only and click Apply and then OK.
Linking a GPO (GroupPolicy Object) to an OU (Organisational Unit)
Step 1: Right-click the OU (In my case it is Students) you need to apply the policy and click Link an Existing GPO.
Step 2: Choose the GPO you created in above steps and click OK and you are done.
Testing the Group Policy
Step 1: Login to a client machine with a user and you will notice there is no C drive in My Computer. Make sure the user is from OU you chose in above steps.
Проблема:
Общеизвестно, что Windows показывает пользователям ВСЕ файлы и папки из общих папок, несмотря на то, что некоторым из них у пользователя все равно нет доступа. Пользователь пытается открыть папки с запрещенным доступом и у него возникают вопросы — «а почему у меня к этой папке нет доступа?». Некоторые же «продвинутые» пользователи пытаются «взломать» доступ.
Так вот, чтобы не возникало таких вопросов и попыток взлома, хотелось бы скрыть из общих ресурсов папки и файлы к которым у пользователя нет доступа. То есть нужно сделать так, чтобы каждый пользователь видел ТОЛЬКО то, что ему разрешено видеть.
Решение:
Для этого предназначен функционал Access-based Enumeration (ABE), который позволяет решить проблему избыточного отображения файлов и папок на сетевых ресурсах, к которым у конечного пользователя все равно нет доступа.
После активации ABE сервер начинает проверять права пользователя на ресурсы ДО ТОГО, как высылает клиенту список имеющихся в общей папке ресурсов. Соответственно, в список попадают только те файлы и папки, которые пользователь может открыть, и ничего лишнего пользователь больше не видит.
Функционал Access-based Enumeration (ABE) уже встроен в Windows 2008 R2 Server.
Чтобы включить этот функционал на Windows 2008 R2 Server:
-
Заходим в Панель управления -> Администрирование -> Управление общими ресурсами и хранилищами:
-
-
Выбираем желаемый сетевой ресурс -> свойства
-
-
На вкладке «Доступ«, открываем «Дополнительно» и ставим галочку «Включить перечисление на основе доступа» (Server Manager -> Roles -> File Services -> Share and Storage Management -> свойства шары -> Advanced) -> ставим галочку )Enable Access-Based Enumeration):
-
У Windows 2003 R2 Server такого встроенного функционала нет
однако Microsoft выпустила дополнение для возможности использования Access-based Enumeration (ABE), скачать которое можно отсюда или здесь:
После установки пакета ABEUI.msi, в свойствах папки появляется дополнительная вкладка «Access-based Enumeration«, на которой можно включить ABE для этой папки, установив галочку )Enable Access-Based Enumeration.
Так же можно применить настройки ABE этой папки для всех расшаренных ресурсов данного компьютера, установив галочку «Apply this folder’s setting to all existing shared folders on this computer«
Клиентские OS (XP, Vista, 7 и Microsoft также прекрасно поддерживают ABE.
Чтобы его включить, необходимо воспользоваться утилитой abecmd.exe, потому что никаких вообще средств настройки ABE на клиентах нет.
Поскольку пакет управления ABE для Windows Server 2003 на Windows Vista / 7 не устанавливается, сначала устанавливаем его на Windows Server 2003. Затем с сервера из папки %systemroot%\system32 копируем утилиту abecmd.exe на клиента уже в локальную папку %systemroot%\system32. 32-разрядная утилита abecmd.exe прекрасно работает на 64-разрядных системах. Скачать abecmd.exe[/i] можно отсюда:
Очень хорошо функционал Access-based Enumeration (ABE) описан здесь
У меня есть 2 пользователя Admin и User
Есть общая IT папка на файловом сервере //Server/IT и в ней 2 папки
USER и ADMIN
Как мне сделать, чтоб папка ADMIN была невидима и недоступна для пользователя User.
ЦЕЛЬ
При заходе в папку IT:
Admin видит: USER, ADMIN
User видит: USER
-
Вопрос задан
-
634 просмотра
Пригласить эксперта
ЕМНИП, невидимой в Windows её никак не сделать. Можно только настроить права на папку так, что user в неё не сможет зайти. Естественно, шара должна быть настроена с парольным доступом.
Настроить Access Based enumeration на шаре и правильные права доступа
Собственно навесить правильные права доступа и включить перечисление на основе прав
вообще можно и две шары создать. с разными правами доступа.
Войдите, чтобы написать ответ
-
Показать ещё
Загружается…