如何在Windows服务器上启用基于访问的枚举(ABE)?

时间:2020-01-09 10:46:21  来源:igfitidea点击:

允许基于NTFS的文件夹(ABE)的用户(ABE)对共享文件夹(或者文件夹)没有访问权限。因此,我们可以为存储在共享文件夹中的数据提供额外的保密性(由于隐藏了文件夹和文件的结构和名称),提高了它的可用性,因为用户不会看到奇怪的数据(他们无权访问),而且,更重要的是,让系统管理员免受用户不断提出的问题“为什么我不能访问这个文件夹!!!”. 让我们详细地考虑一下这项技术、配置特点以及ABE在各种Windows版本中的使用。

Windows下如何访问共享文件夹?

Windows中网络共享文件夹技术的一个缺点是,默认情况下,所有用户至少可以看到它的结构和文件夹中所有文件和目录的列表,包括那些他们没有NTFS权限访问的文件和目录(当试图打开这样的文件或者文件夹时,用户收到错误“拒绝访问”)。为什么没有权限访问这些文件夹的用户?基于访问权限的枚举可以帮助实现这一点。通过在共享文件夹上启用ABE,可以确保不同的用户根据用户的个人访问权限(ACL)在同一网络共享中看到不同的文件夹和文件列表。

通过SMB访问共享文件夹时,客户端和服务器之间的交互是如何发生的?

客户端请求服务器访问网络共享文件夹中的目录;

服务器上的LanmanServer服务检查用户访问该文件夹的权限;

如果允许访问(NTFS权限:列出内容、读或者写),则用户看到目录内容;

然后用户以同样的方式请求访问某个文件或者子文件夹(我们可以查看是谁在这样的网络文件夹中打开了特定文件);

如果拒绝访问,则相应地通知用户。

根据该方案,服务器首先向用户显示文件夹的全部内容,只有当用户试图打开特定的文件或者文件夹时才会检查NTFS权限。

基于访问的枚举( ABE允许在用户收到文件夹内容列表之前检查文件系统对象的访问权限。因此,最终的列表只包括那些用户有NTFS权限访问的对象(至少是只读权限),所有不可访问的资源都不会显示(隐藏)。

这意味着来自一个部门(如仓库)的用户将看到共享文件夹(\filesrv1\docs)中的一个文件和文件夹列表。如我们所见,仅为用户显示两个文件夹:Public和Warehouse。

对于来自另一个部门的用户,例如IT部门(包含在另一个Windows安全组中),会显示不同的子文件夹列表。除了Public和Warehouse目录外,这个用户在同一个网络文件夹中还看到5个目录。

在Windows文件服务器上使用ABE的主要缺点是 服务器上的额外负载。它在高负载文件服务器中尤为突出。查看的目录中的对象越多,打开文件的用户越多,延迟就越长。根据微软的说法,如果显示的文件夹中有15000个对象(文件和目录),文件夹打开速度慢了1-3秒。这就是为什么在设计共享文件夹结构时,建议特别注意使子文件夹结构清晰、层次分明,以便在打开文件夹时延迟不太明显。

**注意事项。**我们应该明白,基于访问权限的枚举不会隐藏文件服务器上的网络共享文件夹列表,它只隐藏它们的内容。如果需要对用户隐藏共享文件夹,则必须在共享名末尾添加$符号。

我们可以从命令提示符( **abecmd.exe文件)实用程序),从GUI、PowerShell或者特殊API。

基于访问的枚举限制

Windows上基于访问权限的枚举在以下情况下不起作用:

如果我们使用没有Service Pack 1的Windows XP或者Windows Server 2003作为文件服务器;

如果我们正在本地查看目录(直接从服务器);

对于本地文件服务器管理员组的成员(他们始终可以看到文件的完整列表)。

在Windows Server 2008/2008 R2上使用ABE

在Windows Server 2008/R2中,要使用基于访问权限的枚举功能,无需安装其他组件,因为ABE管理功能已内置到Windows GUI中。要为Windows Server 2008/2008 R2中的某个文件夹启用基于访问权限的枚举,请打开MMC管理控制台 共享和存储管理(开始–>程序–>管理工具->共享和存储管理)。转到所需共享的属性。然后进入 高级设置,勾选 启用基于访问的枚举

在Windows Server 2012 R2/2015上配置基于访问权限的枚举

Windows Server 2012 R2/2015中的ABE配置也非常简单。要在Windows Server 2012中启用ABE,首先必须安装 文件和存储服务角色,然后转到服务器管理器中的共享属性。

设置部分勾选 启用基于访问的枚举选项。

在windowsserver2003上实现基于访问的枚举

在WindowsServer2003(现在)中,ABE从 服务包1开始得到支持。若要在WindowsServer2003SP1(或者更高版本)中启用基于访问权限的枚举,我们必须下载并安装以下链接的包http://www.microsoft.com/en-us/download/details.aspx?内径=17510. 在安装过程中,我们必须指定是为服务器上的所有共享文件夹启用ABE,还是手动配置它。如果选择第二个选项,则安装后网络共享属性中将出现一个新选项卡“基于访问权限的枚举”。

要激活某个文件夹的ABE,请选中其属性中的选项 在此共享文件夹上启用基于访问权限的枚举

值得一提的是,Windows2003支持基于DFS的基于访问的枚举,但只能使用cacls从命令提示符进行配置。

通过命令提示符管理ABE

我们可以使用以下命令从命令提示符管理基于访问权限的枚举设置Abecmd.exe文件实用性。此工具是WindowsServer2003SP1基于访问权限的枚举包的一部分(请参阅上面的链接)。

Abecmd.exe文件允许一次激活所有目录的ABE,或者只激活其中某些目录的ABE。下一个命令为所有共享启用基于访问权限的枚举:

abecmd /enable /all