如何在删除之前检查 AD 中的组/用户的访问权限?

zen*_*zen 3 security permissions active-directory access-control-list best-practices

我正在清理一个没有很好记录的继承域。如何检查特定组或用户在整个 AD 中是否没有 ACE?

诸如在 DACL/SACL 中搜索 AD 对象和文件服务器对象之类的事情。管理员甚至会做那种尽职调查吗?

[编辑] 我还不能添加评论,但我要感谢 Ben 和 Jim 的回复。准备如此周到的答案需要很长时间,因此我尊重他们的慷慨和分享经验的意愿。

感谢您提供检查基于 AD 权限的位置列表 - 非常有帮助。

如果访问被无意中删除,我很欣赏保留空组以重新填充的建议。我已经编写了一些 C# 代码来枚举组成员身份,所以我有那个备份。(我发现它比 PowerShell 更容易使用。)我还使用 sysinternals 工具,如 ShareEnum。

备注/描述字段 - 它们是什么?说真的,我知道它们是什么,但我的前辈没有使用它们。他们也没有使用嵌套组。

Ben*_*row 6

这很难。很难。您可以执行一些操作,例如编写脚本来遍历文件系统并评估权限,但这会有些麻烦——您必须在每台服务器上运行它,并且可能需要很长时间,具体取决于服务器上的文件数量。

看看群里的成员。他们主要是来自一个部门的一群人吗?这可能会为您指明正确的方向,如果您有一个神秘的组名(例如HSGD Super UsersHSGD部门 LOB 应用程序在哪里),您可以询问这对他们是否有意义。

检查组的Notes字段以查看它是否包含任何有用的内容(提示:该字段非常有用,我建议您继续使用它)。

为了进行彻底检查,您将不得不检查除文件系统权限之外的其他内容。任何能够使用 Windows 权限的东西都需要检查,不幸的是我可以保证你会忘记一些东西(每个人总是忘记硬件设备)。不过,我的头顶是:

  • 文件系统权限
  • 数据库服务器
  • 微软交换
  • 您的防病毒软件(主要是服务器管理控制台,如果适用)
  • 计划任务
  • 视窗服务
  • Active Directory 委派权限
  • 在单个工作站上为特定 AD 用户/组授予的权限
  • 备份软件登录帐户
  • 硬件设备(使用 AD 帐户进行身份验证)
  • Linux 机器/服务(类似地,在其上运行的服务可以使用 LDAP 并使用专用帐户进行身份验证)
  • 您使用的任何和所有 LOB 应用程序

我还应该指出一些非常重要的事情,那就是你不应该忘记来自嵌套组的用户间接组成员身份。相信我,这是一个真正的踢球者 - 我以前做过。

最后,当我在对您的问题的评论中说这句话时,我有点轻率,所以请根据您的意愿提出建议。如果您有要删除的群组,请记下群组成员,然后将他们全部从群组中删除。重要的是您不要立即删除该组,因为如果该组在所有地方都被授予权限并且您造成严重破坏,您将希望通过重新添加所有人来快速修复它。如果您删除该组,您首先必须弄清楚找出授予权限的位置(您不知道)并应用与以前完全相同的权限,这可能不是默认权限(同样,您不知道)。