Chr*_*ski 13 security active-directory schema
我本质上是在 Active Directory 中的任何 OctetString 属性中存储一个私钥 (Hash)。
我的问题是,默认情况下什么属性是安全的,并且在那里保留私有数据是有意义的?这个值应该被认为类似于密码,即使是管理员也不应该有访问权限(如果可能),就像当前的 AD 密码一样。
下面是在 Windows 2008R2 + Exchange 2010 域上默认启用的属性列表的开始。

更新:
有谁知道默认情况下不会向域中的所有用户公开“读取”权限的八位字节字符串属性?我不想公开存储我的散列并允许某人基于散列构建彩虹表。
Chr*_*ski 13
大多数人在 AD 中存储数据时面临的问题是
扩展架构(通常具有公司政治影响)
使用现有属性并编辑权限(这会导致 AD/ACL 膨胀,从而增加 DIT 和后续复制大小)
还有一个替代方案……我认为最好的选择是使用 AD 的这个鲜为人知的功能来获取现有属性并将其标记为机密。
以下是该过程的详细信息
Active Directory 中的默认权限使得经过身份验证的用户具有对所有属性的全面读取访问权限。这使得很难引入一个应该被保护以免被每个人读取的新属性。
为了缓解这种情况,Windows 2003 SP1 引入了一种将属性标记为机密的方法。此功能通过修改架构中属性的 searchFlags 值来实现。SearchFlags 包含表示属性的各种属性的多个位。例如,位 1 表示该属性已编入索引。新的第 128 位(第 7 位)将属性指定为机密。
注意:您不能在基本架构属性(从“top”派生的属性,例如 common-name)上设置此标志。您可以通过使用LDP查看对象并检查对象的systemFlags属性来确定对象是否为基础架构对象。如果设置了第 10 位,则它是一个基本架构对象。
当目录服务执行读取访问检查时,它会检查机密属性。如果有,那么除了 READ_PROPERTY 访问之外,目录服务还需要对属性或其属性集的 CONTROL_ACCESS 访问。
默认情况下,只有管理员具有对所有对象的 CONTROL_ACCESS 访问权限。因此,只有管理员才能读取机密属性。用户可以自由地将此权利委托给他们想要的任何特定组。这可以通过 DSACL 工具、脚本或 LDP 的 R2 ADAM 版本来完成。在撰写本文时,无法使用 ACL UI 编辑器分配这些权限。
将属性标记为 Confidential 并添加需要查看该属性的用户的过程有 3 个步骤
确定要标记机密的属性,或添加属性以标记机密。
标记为机密
授予正确的用户 Control_Access 权限,以便他们可以查看属性。
有关更多详细信息和分步说明,请参阅以下文章:
922836 如何在 Windows Server 2003 Service Pack 1 中将属性标记为机密
http://support.microsoft.com/default.aspx?scid=kb;EN-US;922836
| 归档时间: |
|
| 查看次数: |
10685 次 |
| 最近记录: |