你刚被A公司录用,老管理员已经不在了。请求开始通过将用户添加到 Internet 限制组。当您查看这些组时,没有一个名称是有意义的,也没有文档可以解释每个组的权限和作用。这会引起我的担忧。为了安全起见,您如何知道每个人是否都拥有正确的权利。
您将如何发现这些团体拥有哪些权利?是否有工具可以为您找到这些信息?
你刚被A公司录用,老管理员已经不在了。请求开始通过将用户添加到 Internet 限制组。当您查看这些组时,没有一个名称是有意义的,也没有文档可以解释每个组的权限和作用。这会引起我的担忧。为了安全起见,您如何知道每个人是否都拥有正确的权利。
您将如何发现这些团体拥有哪些权利?是否有工具可以为您找到这些信息?
让我以“没有简单的解决方案”作为开头可能会是一个冗长的答案。
解决这个问题需要一些战略性的工作(这就是为什么我建议不要将它转移到 SF)。
现在我将解释原因。
Windows 的核心主要基于访问控制的DAC 模型。
操作系统中的所有内容都可以通过 ACL 保护 - 文件、文件夹、注册表、命名管道、套接字、共享等。
使用 AD 组可以将其抽象为 RBAC 类型的模型,但在内部它仍然是 DAC 模型。(我的意思是,您可以为组(即角色)创建一个 ACE(访问控制条目),但您仍在创建一个 ACE——这将在访问时得到验证)。
强调“大部分”。
有几个明显的例外:
但是等等,这只是在操作系统本身...
Windows 作为一个平台,允许并鼓励应用程序(第 3 方、MS 产品和操作系统插件)使用 AD 组成员身份作为 RBAC 机制:
开始明白我的意思了吗?
我不想说这毫无希望,但是...
回顾一下:
为了找到特定组拥有的最终权限列表,您(或工具)需要递归检查以下所有内容(并且,不要忘记递归组成员身份):
这是完整的吗?
可悲的是没有。例如,我没有包括审查组织中的所有桌面,因为这些桌面不应该设置特定的 AD 组级别权限(除了管理员和 HelpDesk)——但请注意,他们经常这样做。
但这不是一个完整的列表......
这是使用 DAC 模型的一大缺点——“ D
”也可以用于“分布式”,因为没有中心位置可以查找所有这些 ACL。
正如我在 RBAC 和 DAC/ACL 之间有什么区别?:
- DAC 定义通常附加到数据/资源,而 RBAC 通常在两个地方定义:代码/配置/元数据(角色访问)和用户对象(或表 - 每个用户拥有的角色)。
现在,关于解决方案:
并且,对那些有幸在您当前发现自己的不愉快情况之前出现的最后一个警告:
一定要考虑集中式授权平台,例如 IdM/IAM/EAM 产品。(请注意,有些比其他的要好得多,有些甚至也无法解决这种情况。)
tl; 博士:你是正确和真正搞砸的。往上看。;)
(但所有的希望都没有失去......)
答案取决于您希望如何查看/管理这些数据。我的建议是 PowerShell 来获得所有这些。
如果您确实选择使用 PowerShell,则可以使用本机 AD Cmdlet 或 Quest 的免费 Cmdlet (http://www.quest.com/powershell/activeroles-server.aspx)。要使用本机 Cmdlet,您的域中必须至少有一个 Windows Server 2008 R2 域控制器,或者在 Windows Server 2008 R2 服务器上运行的 AD LDS 配置集中至少有一个实例 - 请参阅http://technet。 microsoft.com/en-us/library/ee617195.aspx了解详情。
实际上,您所要做的就是递归检查特定组访问级别的文件夹 ACL。人们在几个地方(这里和这里)进行尝试,但考虑到这可能是脚本必须导航的大量文件结构,这肯定需要一些时间。对于嵌套组,它变得更加复杂。
编辑:@AviD 对原始命令语法很准确,而且它完全做错了事!编辑为更切题。
这可以通过 Windows 命令提示符完成,如下所示:
转到您要保存报告的目录,如果没有选择它应该默认为登录用户的目录。一个例子是cd C:\Users\Administrator\Desktop
使用以下命令生成报告:
gpresult /s servername /user INTERNAL\user1 /h gpreport.html
上述命令将根据 GPOS 和应用于选择报告的用户的规则生成报告。该用户应该是某个组的成员,或者您可以创建一个测试用户来测试某个组的设置。
找到此信息的另一种方法是编辑 GPO,在 Windows 2008 上,您应该可以选择查看所有设置并按状态对其进行排序,然后您可以记录 GPO 的所有启用设置。
对于您提供的示例,IMO 最快的 DIY 方式是:
请注意,每次添加组时都需要注销/登录。此外,根据组织的规模,您可能需要稍等片刻才能在服务器集群中传播权限,然后才能测试成功添加的每个组。要了解这可能需要多长时间,请创建您自己的安全组来执行诸如阻止启动 MS Word 或创建 PST 之类的操作,并查看在测试帐户上实施安全组需要多长时间。