如何在Active Directory中增加最小字符密码长度(15+)策略
Kent Ickler //
作为安全意识强烈的“Windows专家”视角下Windows管理系列的开篇,我将带您了解如何配置AD DS PSO(密码安全对象),以及如何在实际环境中实施它们,以强制执行超出原生AD GPO支持的合理密码限制。
背景:对更长密码的需求驱动
当您刚完成SOX-DSS-HIPAA-Omnibus-PCI-CJIS-FBI-CIA-BYOBeer审计发现的审查时,善解人意的审计员提出了“15字符最小密码”的进阶要求。可能是因为去年“14字符最小密码”的策略变更和执行太过“有趣”,以至于不得不成为年度体验,您知道头疼即将来临。作为Active Directory管理员,您将了解到向后兼容性的关键问题及其如何限制当今的安全平台。
向后兼容性限制安全性
给千禧后一代的历史课
回到Windows 95/98时代,密码使用LM哈希存储。LM哈希方法在当时是安全的——密码会被转换为相同大小写,填充至14字符,分成两个7字符的半部分,每半部分用于加密一个静态字符串。最终的两个加密结果组合在一起,形成存储的LM哈希密码。可以说,LM哈希和昔日的加密功能是存储密码和数据的足够机制,没有及时暴力破解的威胁。如今,一个精简构建的hashcat系统可以在瞬间暴力破解100个LM哈希。
虽然微软系统最终退役了LM哈希,转向更安全(但仍可破解)的哈希函数,但向后兼容的加密技术在NT4之后仍保留多年,使系统带着密码漏洞进入新千年,并限制了可接受的组策略配置。原生Active Directory组策略密码设置仍未摆脱14字符的限制,这在尝试设置“15字符最小密码”时最为相关。
组策略限制
别担心,热爱Windows 2012 GUI的死忠管理员:Active Directory可以原生支持15+字符的最小密码,全部通过GUI完成,无需头疼!Windows 2008 AD DS引入了“精细密码策略”或密码设置对象(PSO)。PSO不是使用计算机对象的组策略,而是针对特定的Active Directory用户账户或用户组。然而,在Windows 2008中创建PSO仍然是为ADSI编辑器和PowerShell高手保留的(参见底部更多信息)。在Windows 2012中,该功能从后端Active Directory管理移至前端GUI,隐藏在很少使用的Active Directory管理中心的深处。更重要的是,在我们克服密码字符限制要求的探索中,PSO允许最小密码字符长度的最大值为255字符,有效防止密码更改。
Windows 2012+中的PSO
在Windows 2012+中设置PSO很容易,并且不会影响用户,直到他们尝试下一次密码更改。
但请注意,始终测试您的工作;参见底部的注意事项。
控制面板 -> 系统和安全 -> 管理工具 -> Active Directory管理中心
域名 -> 系统 -> 密码设置容器
右键单击 -> 新建 -> 密码设置
完成PSO设置并分配用户或用户组目标。要将策略分配给所有用户,使用“域用户”。注意在此测试中,我们指定了20字符作为可接受密码的最小长度。
测试您的工作: 使用新的15字符密码更改密码:
测试您的工作: 使用新的20字符密码更改密码:
注意事项和考虑
使用PSO配置密码要求时,有几个严重的考虑因素。在管理和故障排除方面,PSO在RSOP中并不友好,因此如果您的支持台听到密码更改的抱怨,请确保您的管理员知道检查PSO。要知道,由于PSO针对域用户账户而不是域计算机账户,工作站/服务器本地用户账户不会受到影响,域计算机账户也不会受到影响。因此,同时运行典型的Active Directory组策略和PSO以限制可接受密码非常重要。
除了使用PSO设置密码策略以限制可接受密码外,还有其他替代方案。有HKLM注册表黑客可以强制顺从的系统到特定密码长度。还有一个十年之久的解决方案是构建自定义密码过滤器库并在系统中注册它。关于向后兼容性和LM哈希,组策略和HKLM中也有解决方案。
随着微软慢慢关闭向后兼容性的安全差距,我们可能最终会发现原生AD DS组策略中的密码策略将开始赶上当今的安全标准,强制执行7、14、15、255、500字符的最小密码将不再头疼——或者,我们都将只是在雕刻石板。
最后一点,确保请您的内部审计员和渗透测试员吃早餐。
更多信息
在Windows 2008中创建PSO:https://technet.microsoft.com/en-us/library/cc754461(v=ws.10).aspx
LM哈希信息:https://technet.microsoft.com/en-us/library/hh994558(v=ws.10).aspx
防止使用LanMan哈希:https://support.microsoft.com/en-us/kb/299656