在前两部分文章中,我们讨论了Windows密码政策问题以及它是如何在Active Directory环境被控制等问题,大家应该还记得在默认情况下密码政策和相关的设置位于默认域策略中(Default Domain Policy)。另外同样探讨了可以使用哪些技术破获Windows密码,以及每种攻击方式的限制问题。那么,在本文中,我们将讨论如何让Windows密码变得更加安全,以及如何能够解决在前两部分文章中出现的所有问题。本文将涉及Windows2002/2003/2008Active Directory默认安装带来的可能性以及其他能够整体提高密码安全的技术。
第一件事,很简单
密码的要素其实很简单,它们必须容易被记住,容易输入和容易获取更长的密码,用户可能使用的典型的密码就是:
Am3r1c@
这种特殊密码确实能够符合密码复杂度要求,但是这很难记住也很难输入,这样一来,用户可能会将这种密码写下来贴在监视器或者键盘上,在笔者看来,下面这种类型的密码更加值得推崇:
I am a Group Policy MVP. 或者I went to Germany on my last vacation.
注意:
你可以尝试阅读上面三种密码短语,然后尝试在电脑上输入这三个密码,你会发现有实际意义的词组更容易输入和记住。
在这最后的文章中,我们将讨论一个好的密码政策应该是怎样的,如何确保该密码政策的部署;如何确保在所有的电脑上都部署着相同的密码政策,以及能够确保部署良好密码的其他技术。
确保密码政策在所有域和本地用户帐户都是一致的
内置的Active Directory配置能够确保所有的用户帐户(包括存储在AD和存储在每台电脑和服务器上的本地SAM中的帐户)都具有相同的密码政策,但是,这可能由于在企业单位(OU)级别连接和配置GPO时被改变,因为OU中有很多计算机帐户存储在其中。在这种情况下,计算机和服务器(不是域控制器)可以让本地SAM的用户帐户使用不同的密码政策,而不包括域用户帐户。
为了让所有用户帐户的密码政策保持一致,我们可以“强迫修改”负责域用户帐户的密码政策设置的GPO,同样的,在默认情况下,GPO是位于Default Domain Policy的,右键单击GPO,选择执行菜单选项,图1显示的就是配置这一过程的图示。
图1:执行Default Domain Policy可以确保位于本地SAM中的所有用户帐户使用相同的密码政策
使用微软技术为每个域设置多个密码政策
微软公司已经提高了相关技术,可以在单个AD域中实行多个密码政策,这虽然不是什么新鲜事,但是这也像是吹来的一股清新的空气。这种技术只能适用于Windows Server2008域,所有的域控制器都运行Windows server2008。此外,域必须运行在Windows Server2008的功能级别,这种技术被称为细粒度密码政策。
如果你的环境符合上述要求,你就可以配置多个密码政策,这就意味着你可以拥有以下设置:
·IT用户必须使用25字符的密码
·人力资源部门用户必须使用20字符长度的密码
·所有的用户必须使用17字符长度的密码
这种技术的缺点在于,并没有在组策略中进行配置,相反的,你必须在密码设置器(Password Settings Container)下面创建额外的AD对象,你可以使用ADSIEDIT.MSC来查看和配置这些新对象,如图2所示。
图2:ADSIEDIT.MSC可以被用来在Windows Server 2008域中创建更多的细粒度密码政策。
要想创建更多的对象,你必须右键单击密码设置器,然后选择新建,然后选择对象,该向导会引导你完成所有需要配置的选项。
将密码政策运用于下一级别
微软公司为我们提供了多年的密码政策控制,而现在,通过Windows server2008 细粒度密码政策,我们能够部署更多的控制了。如果你希望通过Windows域密码政策设置来给你带来对密码的完全控制,你需要使用一种类似Password Policy的工具,这种工具可以在AD中无缝运作并插入组策略中,这样就能帮助你全面控制密码。
有了这个工具,你可以配置以下内容:
·设置任何密码限制组合:小写、大写、数字和特殊字符等
·为每种策略部署不同的密码失效规则,通常被称为密码期限
·不允许密码中出现连续字符
·不允许增量密码
·自动发送密码过期电子邮件
·附加密码政策要求;正则表达式;不允许使用词表的后词,不允许数字作为最后一个字符等。
图3显示的是Password Policy工具界面的外观
图3:Specops公司的Password Policy是为Windows域设计的颗粒密码政策工具
总结
Windows的密码总是受到各种攻击,许多工具都可以被攻击者用来发起攻击,很多攻击都是简单而有效的,因此,我们必须保护我们自己的密码以及你管理的网络中用户的密码。Windows环境中的默认配置需要进行更改,特别是围绕LanManager验证的密码。你需要告诉你的用户不要将自己的密码写在纸上贴在醒目的位置,因为这很容易让别人看到,并教导用户如何创建良好的、坚实的、复杂的长效密码。使用工具在相同域中部署多个密码政策,以及强制执行复杂和严格的密码,可以帮助确保密码更加安全。