Windows安全指南之域级别策略

互联网 | 编辑: 2006-02-03 00:00:00转载 返回原文

可在域级别上应用所有的帐户策略组策略设置。在帐户策略、帐户锁定策略和 Kerberos 策略内置的默认域控制器中提供了默认值。请记住,在 Microsoft Active Directory 中设置这些策略时,Microsoft Windows 仅允许一个域帐户策略

Windows安全指南之域级别策略(上)简介

可在域级别上应用所有的帐户策略组策略设置。在帐户策略、帐户锁定策略和 Kerberos 策略内置的默认域控制器中提供了默认值。请记住,在 Microsoft Active Directory 中设置这些策略时,Microsoft Windows 仅允许一个域帐户策略:应用于域树根域的帐户策略。域帐户策略将成为属于该域的任何 Windows 系统的默认帐户策略。此规则的唯一例外情况是,当为组织单位定义了另外一个帐户策略时。组织单位 (OU) 的帐户策略设置将影响到该 OU 中任何计算机上的本地策略。本模块将通篇讨论其中每种类型的设置。

帐户策略

帐户策略是在域级别上实现的。Microsoft Windows Server 2003 域必须有一个针对该域的密码策略、帐户锁定策略和 Kerberos V5 身份验证协议。在 Active Directory 中任何其他级别上设置这些策略将只会影响到成员服务器上的本地帐户。如果有要求单独密码策略的组,应根据任何其他要求将这些组分段到另一个域或目录林。

在 Windows 和许多其他操作系统中,验证用户身份最常用的方法是使用秘密通行码或密码。确保网络环境的安全要求所有用户都使用强密码。这有助于避免未经授权的用户猜测弱密码所带来的威胁,他们通过手动的方法或工具来获取已泄密用户帐户的凭据。这一点对于管理帐户尤其有用。随本指南提供的 Microsoft Excel 工作簿“Windows Default Security and Services Configuration”(英文)为默认设置编制了文档。请单击此处下载

定期更改的复杂密码减少了密码攻击成功的可能性。密码策略设置控制密码的复杂性和寿命。本部分将讨论每个特定的密码策略帐户设置。

注意:对于域帐户,每个域只能有一个帐户策略。必须在默认域策略或链接到域根的新策略中定义帐户策略,并且帐户策略要优先于由组成该域的域控制器强制实施的默认域策略。域控制器总是从域的根目录中获取帐户策略,即使存在应用于包含域控制器的 OU 的其他帐户策略。域的根目录是该域的顶层容器,不要与目录林中的根域相混淆;目录林中的根域是该目录林中的顶层域。

默认情况下,加入域的工作站和服务器(即域成员计算机)还为其本地帐户接收相同的帐户策略。但是,通过为包含成员计算机的 OU 定义帐户策略,可以使成员计算机的本地帐户策略区别于域帐户策略。

可以在组策略对象编辑器中的以下位置配置帐户策略设置:

计算机配置\Windows 设置\安全设置\帐户策略\密码策略

强制密码历史

“强制密码历史”设置确定在重用旧密码之前必须与用户帐户关联的唯一新密码的数量。

该组策略设置可能的值是:

用户指定的值,在 0 至 24 之间

没有定义

漏洞

密码重用对于任何组织来说都是需要考虑的重要问题。许多用户都希望在很长时间以后使用或重用相同的帐户密码。特定帐户使用相同密码的时间越长,攻击者能够通过暴力攻击确定密码的机会就越大。如果要求用户更改其密码,但却无法阻止他们使用旧密码,或允许他们持续重用少数几个密码,则会大大降低一个不错的密码策略的有效性。

为此设置指定一个较低的数值将使用户能够持续重用少数几个相同的密码。如果还没有配置“密码最短使用期限”设置,用户可以根据需要连续多次更改其密码,以便重用其原始密码。

对策

将“强制密码历史”设置成最大值“24”。将此值配置为最大设置有助于确保将因密码重用而导致的漏洞减至最少。

由于此设置在组织内有效,因此不允许在配置“密码最短使用期限”后立即更改密码。要确定将此值设置为何种级别,应综合考虑合理的密码最长使用期限和组织中所有用户的合理密码更改间隔要求。

潜在影响

此设置的主要影响在于,每当要求用户更改旧密码时,用户都必须提供新密码。由于要求用户将其密码更改为新的唯一值,用户会为了避免遗忘而写下自己的密码,这就带来了更大的风险。

密码最长使用期限

“密码最长使用期限”设置确定了系统要求用户更改密码之前可以使用密码的天数。

此组策略设置可能的值是:

用户指定的天数,在 0 至 999 之间

{ad}漏洞

任何密码都可以被破解。凭借当前的计算能力,甚至是破解最复杂的密码也只是时间和处理能力的问题。下列某些设置可以增加在合理时间内破解密码的难度。但是,经常在环境中更改密码有助于降低有效密码被破解的风险,并可以降低有人使用不正当手段获取密码的风险。可以配置密码最长使用期限,以便从不要求用户更改密码,但这样做将导致相当大的安全风险。

对策

将“密码最长使用期限”的天数设置在“30”和“60”之间。通过将天数设置为“0”,可以将“密码最长使用期限”设置配置为从不过期。

潜在影响

密码最长使用期限的值设置得太低将要求用户非常频繁地更改其密码。这实际上可能降低了组织的安全性,因为用户更可能为了避免遗忘而写下自己的密码。将此值设置太高也会降低组织的安全性,因为这可以使潜在攻击者有更充分的时间来破解用户的密码。

密码最短使用期限

“密码最短使用期限”设置确定了用户可以更改密码之前必须使用密码的天数密码最短使用期限的值必须小于密码最长使用期限的值。

如果希望“强制密码历史”设置有效,应将“密码最短使用期限”设置为大于 0 的值。如果将“强制密码历史”设置为“0”,用户则不必选择新的密码。如果使用密码历史,用户在更改密码时必须输入新的唯一密码。

此组策略设置可能的值是:

用户指定的天数,在 0 至 998 之间

没有定义

漏洞

如果用户可以循环使用一些密码,直到找到他们所喜欢的旧密码,则强制用户定期更改密码是无效的。将此设置与“强制密码历史”设置一起使用可以防止发生这种情况。例如,如果设置“强制密码历史”来确保用户不能重用其最近用过的 12 个密码,并将“密码最短使用期限”设置为“0”,则用户可以通过连续更改密码 13 次,以返回到原来使用的密码。因此,要使“强制密码历史”设置有效,必须将此设置配置为大于 0。

对策

将“密码最短使用期限”的值设置为“2 天”。将天数设置为“0”将允许立即更改密码,我们不建议这样做。

潜在影响

将“密码最短使用期限”设置为大于 0 的值时存在一个小问题。如果管理员为用户设置了一个密码,然后希望该用户更改管理员定义的密码,则管理员必须选择“用户下次登录时须更改密码”复选框。否则,用户直到第二天才能更改密码。

Windows安全指南之域级别策略(中)

最短密码长度

“最短密码长度”设置确定可以组成用户帐户密码的最少字符数。确定组织的最佳密码长度有许多不同的理论,但是,“通行码”一词可能比“密码”更好。在 Microsoft Windows 2000 及更高版本中,通行码可以相当长,并且可以包括空格。因此,诸如“I want to drink a $5 milkshake”之类的短语都是有效的通行码,它比由 8 个或 10 个随机数字和字母组成的字符串要强大得多,而且更容易记住。

此组策略设置可能的值是:

用户指定的数值,在 0 至 14 之间

没有定义

漏洞

可以执行几种类型的密码攻击,以获取特定用户帐户的密码。这些攻击类型包括试图使用常见字词和短语的词典攻击,以及尝试使用每一种可能的字符组合的暴力攻击。另外,可通过获取帐户数据库并使用破解帐户和密码的实用程序来执行攻击。

对策

应该将“最短密码长度”的值至少设置为“8”。如果字符数设置为“0”,则不要求使用密码。

在大多数环境中都建议使用由 8 个字符组成的密码,因为它足够长,可提供充分的安全性,同时也足够短,便于用户记忆。此设置将对暴力攻击提供足够的防御能力。提高复杂性要求将有助于降低词典攻击的可能性。下一部分将讨论复杂性要求。

潜在影响

允许短密码将会降低安全性,因为使用对密码执行词典攻击或暴力攻击的工具可以很容易地破解短密码。要求很长的密码可能会造成密码输入错误而导致帐户锁定,从而增加了帮助台呼叫的次数。

要求极长的密码实际上可能会降低组织的安全性,因为用户更有可能写下自己的密码以免遗忘。但是,如果教会用户使用上述通行码,用户应该更容易记住这些密码。

密码必须符合复杂性要求

“密码必须符合复杂性要求”设置确定密码是否必须符合对强密码相当重要的一系列原则。

启用此策略要求密码符合下列要求:

密码长度至少为 6 个字符。

密码包含下列四类字符中的三类:

英语大写字符 (A–Z)

英语小写字符 (a–z)

10 个基数 (0–9)

非字母数字(例如:!、$、# 或 %)

密码不得包含三个或三个以上来自用户帐户名中的字符。如果帐户名长度低于三个字符,因为密码被拒概率过高而不会执行此项检查。检查用户全名时,有几个字符被看作是将名称分隔成单个令牌的分隔符,这些分隔符包括:逗号、句点、短划线/连字符、下划线、空格、磅字符和制表符。对于包含三个或更多字符的每个令牌,将在密码中对其进行搜索,如果发现了该令牌,就会拒绝密码更改。例如,姓名“Erin M. Hagens”将被拆分为三个令牌:“Erin”、“M”和“Hagens”。因为第二个令牌仅包含一个字符,因而会将其忽略。因此,该用户密码中的任何位置都不能包含“erin”或“hagens”子字符串。所有这些检查都是区分大小写的。

这些复杂性要求在密码更改或新建密码时强制执行。

不能直接修改 Windows Server 2003 策略中包括的这些规则。但是,可以创建一个新版本的 passfilt.dll,以应用不同的规则集。关于 passfilt.dll 的源代码,请参阅 Microsoft 知识库文章 151082“HOW TO: Password Change Filtering & Notification in Windows NT”,其网址为:http://support.microsoft.com/default.aspx?scid=151082(英文)。

此组策略设置可能的值是:

启用

禁用

没有定义

漏洞

只包含字母数字字符的密码非常容易被市场上可以买到的实用程序所破解。要防止出现这种情况,密码应该包含其他字符和要求。

对策

将“密码必须符合复杂性要求”的值设置为“启用”。

将此设置与“最短密码长度”值为“8”的设置结合使用,可确保一个密码至少有 218,340,105,584,896 种不同的可能性。这样就很难使用暴力攻击,但也并非不可能,如果某个攻击者具有足够的处理能力,能够每秒测试 100 万个密码,则可以在七天半左右的时间内确定这样一个密码。

潜在影响

启用默认的 passfilt.dll 可能会因帐户锁定而导致帮助台的呼叫次数增加,因为用户可能并没有使用包含字母表以外的字符的密码。但此设置非常灵活,所有用户都应该能够通过短时间的学习来满足这些要求。

自定义的 passfilt.dll 中包括的其他设置是使用非上行符。上行符是指按住 Shift 键并键入任何数字(1 – 10)时键入的字符。

同时,使用 Alt 键字符组合可大大增加密码的复杂性。但是,要求组织中的所有用户都遵守如此严格的密码要求可能会导致用户不满,并将导致帮助台极度繁忙。考虑在组织内实现这样一种要求,即使用 0128 – 0159 范围内的 Alt 字符作为所有管理员密码的一部分。此范围之外的 Alt 字符可表示标准的字母数字字符,而不会另外增加密码的复杂性。

用可还原的加密来存储密码(针对域中的所有用户)

“用可还原的加密来存储密码(针对域中的所有用户)”设置确定 Microsoft Windows Server 2003、Windows 2000 Server、Windows 2000 Professional 和 Windows XP Professional 是否使用可还原的加密来存储密码。

此策略支持使用需要了解用户密码以便进行身份验证的协议的应用程序。根据定义,存储以可还原方式加密的密码意味着可以对加密的密码进行解密。能够破解这种加密的高水平攻击者然后可以使用已被破坏的帐户来登录到网络资源。出于此原因,请永远不要启用此设置,除非应用程序的要求比保护密码信息更为重要。

使用通过远程访问的 CHAP 身份验证或 Internet 验证服务 (IAS) 时要求启用此设置。质询握手身份验证协议 (CHAP) 是 Microsoft 远程访问和网络连接使用的一种身份验证协议。Microsoft Internet 信息服务 (IIS) 的摘要式验证也要求启用此设置。

此组策略设置可能的值是:

启用

禁用

没有定义

漏洞

此设置确定 Windows Server 2003 是否以更容易遭到暴力攻击的一种较弱格式来存储密码。

对策

将“用可还原的加密来存储密码(针对域中的所有用户)”的值设置为“禁用”。

潜在影响

使用通过远程访问的 CHAP 身份验证协议或 IAS 服务。IIS 中的摘要式身份验证要求将此值设置为“禁用”。将使用组策略逐个应用到每位用户是一种极其危险的设置,因为它要求在 Active Directory 用户和计算机管理控制台中打开适当的用户帐户对象。

警告:请永远不要启用此设置,除非业务要求比保护密码信息更为重要。

帐户锁定策略

试图登录到系统时多次不成功的密码尝试可能表示攻击者正在以试错法来确定帐户密码。Windows Server 2003 跟踪登录尝试,而且可以将操作系统配置为通过在预设时间段内禁用帐户来响应这种潜在攻击。随本指南提供的 Microsoft Excel 工作簿“Windows Default Security and Services Configuration”(英文)为默认设置编制了文档。

可以在组策略对象编辑器的以下位置配置帐户锁定策略设置:

计算机配置\Windows 设置\安全设置\帐户策略\帐户锁定策略

帐户锁定时间

“帐户锁定时间”设置确定在自动解锁之前锁定帐户保持锁定状态的时间。可用范围为从 1 到 99,999 分钟。通过将该值设定为“0”,可以指定在管理员明确解锁之前锁定帐户。如果定义了帐户锁定阀值,帐户锁定时间必须大于或等于复位时间。

此组策略设置可能的值是:

用户定义的值,在 0 至 99,999 分钟之间

没有定义

漏洞

如果攻击者滥用“帐户锁定阀值”并反复尝试登录到帐户,则可能产生拒绝服务 (DoS) 攻击。如果配置“帐户锁定阀值”,在失败尝试达到指定次数之后将锁定帐户。如果“帐户锁定时间”设置为 0,则在管理员手动解锁前帐户将保持锁定状态。

对策

将“帐户锁定时间”设置为“30 分钟”。要指定该帐户永不锁定,请将该值设置为“0”。

潜在影响

将此设置的值配置为永不自动解锁可能看上去是一个好主意,但这样做会增加组织支持专家收到的要求解锁意外锁定帐户的请求的数目。

帐户锁定阈值

“帐户锁定阀值”确定导致用户帐户锁定的登录尝试失败的次数。在管理员复位或帐户锁定时间到期之前,不能使用已锁定的帐户。可以将登录尝试失败的次数设置在 1 至 999 之间,或者通过将该值设置为“0”,使帐户永不锁定。如果定义了帐户锁定阀值,帐户锁定时间必须大于或等于复位时间。

在使用 Ctrl+Alt+Delete 或受密码保护的屏幕保护程序进行锁定的工作站或成员服务器上的失败密码尝试,将不作为失败的登录尝试来计数,除非启用了组策略“交互式登录:要求域控制器身份验证以解锁工作站”。如果启用了“交互式登录:要求域控制器身份验证以解锁工作站”,则因解锁工作站而重复的失败密码尝试次数将被计入“帐户锁定阀值”。

此组策略设置可能的值是:

用户指定的值,在 0 至 999 之间

没有定义

{ad}漏洞

密码攻击可能利用自动化的方法,对任何或所有用户帐户尝试数千甚至数百万种密码组合。限制可以执行的失败登录次数几乎消除了这种攻击的有效性。

但是,请务必注意,可能在配置了帐户锁定阀值的域上执行 DoS 攻击。恶意攻击者可编制程序来尝试对组织中的所有用户进行一系列密码攻击。如果尝试次数大于帐户锁定阀值,则攻击者有可能锁定每一个帐户。

对策

由于配置此值或不配置此值时都存在漏洞,因此要定义两种不同的对策。任何组织都应该根据识别的威胁和正在尝试降低的风险来在两者之间进行权衡。有两个选项可用于此设置。

将“帐户锁定阀值”设置为“0”。这可确保帐户永不锁定。此设置可防止故意锁定全部或一些特定帐户的 DoS 攻击。另外,此设置还有助于减少帮助台的呼叫次数,因为用户不会将自己意外地锁定在帐户外。

由于它不能阻止暴力攻击,因此只有在下列要求均得到明确满足时才可以选择此设置:

密码策略强制所有用户使用由 8 个或更多字符组成的复杂密码。

强健的审核机制已经就位,可以在组织环境中发生一系列失败登录时提醒管理员。

如果不满足上述要求,请将“帐户锁定阀值”设置为足够高的值,以便用户能够在意外地错误输入几次密码时不会锁定自己的帐户,但可确保暴力密码攻击仍然会锁定帐户。在这种情况下,将该值设置为 50 次无效登录尝试是一个不错的建议。如上所述,此设置可以避免意外的帐户锁定,从而降低了帮助台的呼叫次数,但不能防止 DoS 攻击。

潜在影响

启用此设置可防止使用已锁定的帐户,直到管理员将该帐户复位或帐户锁定时间到期。此设置很可能会生成许多其他的帮助台呼叫。事实上,在许多组织中,锁定帐户都会为公司帮助台带来数目最多的呼叫。

如果将帐户锁定阀值设置为“0”,则可能检测不到攻击者尝试使用暴力密码攻击来破解密码。

Windows安全指南之域级别策略(下)

复位帐户锁定计数器

“复位帐户锁定计数器”设置确定在登录尝试失败后,将失败登录尝试计数器复位到 0 次失败登录尝试之前所必须经过的时间(以分钟为单位)。如果定义了“帐户锁定阈值”,则此复位时间必须小于或等于“帐户锁定时间”。

此组策略设置可能的值是:

用户定义的数值,在 1 至 99,999 分钟之间

没有定义

漏洞

如果多次错误地输入密码,用户可能会意外地将自己锁定在帐户之外。要减少这种可能性,“复位帐户锁定计数器”设置确定在登录尝试失败后,将无效登录尝试计数器复位到 0 之前所必须经过的时间。

对策

将“复位帐户锁定计数器”的值设置为“30 分钟”。

潜在影响

不设置此值,或者为此值设置的时间间隔太长都可能导致 DoS 攻击。攻击者对组织中的所有用户恶意执行大量的失败登录尝试,以锁定他们的帐户,如上所述。如果没有复位帐户锁定的策略,管理员必须手动解锁所有帐户。如果设置了合理的值,用户将被锁定一段时间,但在这段时间结束后,其帐户将自动解锁。

Kerberos 策略

在 Windows Server 2003 中,Kerberos V5 身份验证协议提供默认的身份验证服务机制,以及用户访问资源并在该资源上执行任务所必需的身份验证数据。通过缩短 Kerberos 票证的寿命,可降低攻击者窃取并成功使用合法用户凭据的风险。但这会增加授权开销。在大多数环境中都不需要更改这些设置。在域级别应用这些设置,在 Windows 2000 或 Windows Server 2003 Active Directory 域默认安装的默认域策略 GPO 中配置这些默认值。随本指南提供的 Microsoft Excel 工作簿“Windows Default Security and Services Configuration”(英文)为默认设置编制了文档。

可以在组策略对象编辑器的以下位置配置 Kerberos 策略设置:

计算机配置\Windows 设置\安全设置\帐户策略\Kerberos 策略

强制用户登录限制

此安全设置确定 Kerberos V5 密钥分布中心 (KDC) 是否根据用户帐户的用户权限策略来验证会话票证的每个请求。验证会话票证的每个请求是可选功能,因为执行额外的步骤会消耗时间,并且可能会降低网络访问服务的速度。

漏洞

如果禁用此设置,可能会为用户授予他们无权使用的服务的会话票证。

对策

将“强制实施用户登录限制”的值设置为“启用”。

此组策略设置可能的值是:

启用

禁用

没有定义

{ad}潜在影响

这是默认设置,没有潜在影响。

服务票证最长寿命

此安全设置确定可以使用所授予的权会话票证来访问特定服务的最长时间(以分钟为单位)。此设置必须大于或等于 10 分钟,并小于或等于“用户票证最长寿命”设置。

如果客户端在请求连接到服务器时显示过期的会话票证,该服务器将返回错误消息。客户端必须向 Kerberos V5 密钥分布中心 (KDC) 请求新的会话票证。但在连接通过验证之后,它将不再关心会话票证是否有效。会话票证只用于验证与服务器之间的新连接。如果验证连接的会话票证在连接期间到期,将不会中断正在进行的操作。

漏洞

如果此设置的值太高,用户可以在其登录时间范围之外访问网络资源,或者其帐户已经被禁用的用户可以使用帐户禁用前发出的有效服务票证来继续访问网络服务。

对策

将“服务票证最长寿命”设置为“600 分钟”。

此组策略设置可能的值是:

用户定义的值(以分钟为单位),在 10 至 99,999 之间,或者为 0,表明服务票证不会过期

没有定义

潜在影响

这是默认设置,没有潜在影响。

用户票证最长寿命

此安全设置确定用户的票证授权票证 (TGT) 的最长有效期(以小时为单位)。当用户的 TGT 到期时,必须请求新 TGT,或者必须“续订”现有 TGT。

漏洞

如果此设置的值太高,用户可以在其登录时间范围之外访问网络资源,或者其帐户已经被禁用的用户可以使用帐户禁用前发出的有效服务票证来继续访问网络服务。

对策

将“用户票证的最长有效期”的值设置为“10 小时”。

此组策略设置可能的值是:

用户定义的值,在 0 至 99,999 分钟之间

没有定义

潜在影响

这是默认设置,没有潜在影响。

用户票证续订的最长寿命

此安全设置确定用户票证授权票证 (TGT) 可以续订的时间期限(以天为单位)。

漏洞

如果此设置的值太高,用户可以续订非常旧的用户票证。

对策

将“用户票证续订的最长寿命”的值设置为“7 天”。

此组策略设置可能的值是:

用户定义的值,在 0 至 99,999 分钟之间

没有定义

潜在影响

这是默认设置,没有潜在影响。

计算机时钟同步的最大容差

此安全设置确定 Kerberos V5 可以承受的客户端时钟时间和运行 Windows Server 2003(提供 Kerberos 身份验证)的域控制器时间之间的最大时间差(以分钟表示)。

漏洞

为了防止“重播攻击”,Kerberos V5 使用时间戳作为其协议定义的一部分。为了使时间戳正常运行,客户端和域控制器的时钟需要尽可能同步。由于两台计算机的时钟经常不同步,管理员可以使用此策略建立 Kerberos V5 可以接受的客户端时钟和域控制器时钟之间的最大时间差。如果客户端时钟和域控制器时钟之间的时间差小于此策略指定的最大时间差,则两台计算机之间的会话所使用的任何时间戳都被认为是可信的。

对策

将“计算机时钟同步的最大容差”的值设置为“5 分钟”。

此组策略设置可能的值是:

用户定义的值,在 1 至 99,999 分钟之间

没有定义

潜在影响

这是默认设置,没有潜在影响。

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑