论坛登陆名: Stone 3 K8 X* y; V. _提交者邮件地址: Stone@126.com/ j! v8 S" q0 y( A
提交者QQ号码: + c9 p# M) R; F- f3 X
版权:文章属中华安全网http://www.safechina.net和作者共同所有,转载请注明出处!! 2 [% j- [; u, }. v& q标题: 探秘Windows Server2003安全性 $ z: l1 E! l6 H l% r. E 4 h; u; V8 k" O! W- m 早在2002年1月,微软启动了“可信赖计算”这一针对Windows平台安全性的计划。这一计划直接影响了微软下一批产品(建立在.NET框架之上)的发行日期,不过额外增加的数月开发时间确实使新产品的安全性、稳定性超过了它们的前辈。 : s7 d; ]" r2 H n" m6 D. a
2 Y& h, s( w! ?, r' l5 M$ F四、身分验证 4 @3 d' O; G- s( T# I2 c1 Y" Q " \4 R% _) i6 R 身分验证方面的增强涵盖了基于本地系统的身份验证和基于活动目录域的身份验证。 - d6 K" d6 g* e' h* r: p7 L( L% U& K% ?* u
在本地系统验证方面,默认的设置限制不带密码的本地帐户只能用于控制台。这就是说,不带密码的帐户将不能再用于远程系统的访问,例如驱动器映射、远程桌面/远程协助连接。 + p4 G4 t! d0 W9 V7 J& L 5 S- ?7 W9 W0 I6 U8 B5 Y$ f 活动目录验证的变化在跨越林的信任方面特别突出。跨越林的信任功能允许在林的根域之间创建基于Kerberos的信任关系(要求两个林都运行在Windows 2003功能级别上)。在 Windows Server 2003林中,管理员可创建一个林,将单个林范围外的双向传递性扩展到另外一个Windows Server 2003林中。在Windows Server 2003林中,这种跨越将两个断开连接的Windows Server 2003林链接起来建立单向或双向可传递信任关系。双向林信任用于在两个林中的每个域之间建立可传递的信任关系。 & X J5 n. C- F& _' |2 E
2 t" |3 V2 P+ f
林信任具有许多优点: . k( @! j# T2 q d' l9 e0 P9 u" I8 K+ ]8 A+ Z1 m$ f
⑴ 通过减少共享资源所需的外部信任数,使得跨越两个 Windows Server 2003林的资源的管理得以简化。 5 j$ \. {0 m/ I3 g& A" v: D8 r , j( ]! l( X) B& r" l, F P. x+ X; u% p, T. z ⑵ 每个林中每个域之间的完全的双向信任关系。 ) z& G: @( w6 I# P; Z6 B+ i( [, ^7 ^# a/ N; R- I
⑶ 使用跨越两个林的用户主体名称(UPN)身份验证。 P: B/ ?3 a3 N1 M/ k) w) b 3 F7 J; n6 I- O3 H" d) P/ ^ ⑷ 使用Kerberos V5和NTLM身份验证协议,提高了林之间传递的授权数据的可信度。 7 c6 h0 r7 U7 j4 ]/ R% J& I+ W
7 K! e6 m% r# t# o
⑸ 灵活的管理。每个林的管理任务可以是唯一的。 5 l2 H2 ~2 x% u( r' @
6 e, ~5 F; O2 K3 E 林信任只能在两个林之间创建,不能隐式扩展到第三个林。也就是说,如果在林1和林2之间创建了一个林信任,在林2和林3之间也创建了一个林信任,则林1和林3之间没有隐式信任关系。 , F6 p0 q$ O0 ?/ b" S8 e
- l% C P' r0 M2 l& K 注意:在Windows 2000林中,如果一个林中的用户需要访问另一个林中的资源,管理员可在两个域之间创建外部信任关系。外部信任可以是单向或双向的非传递信任,因此限制了信任路径扩展到其他域的能力。但在Windows Server 2003 Active Directory中,默认情况下,新的外部信任和林信任强制SID筛选。SID筛选用于防止可能试图将提升的用户权限授予其他用户帐户的恶意用户的攻击。强制SID筛选不会阻止同一林中的域迁移使用SID历史记录,而且也不会影响全局组的访问控制策略。 ) I0 v- D& {- l' ?# }; y
# O5 f2 Q4 l* S9 J; ^0 [
在默认配置下,身分验证是在林的级别上进行的,来自其他林的责任人将被授予与本地用户和计算机同样的访问能力。但无论是谁,都受到设置在资源上的权限的约束。 " m2 T- a! i6 t1 ~) o2 w7 d9 F& O U! ] ^/ M( f
如果上述默认配置不能满足要求,你可以配置选择性验证,不过这要有Windows 2003的林功能级别。在这种配置方式中,你可以指定哪些来自其他林的用户或组允许通过验证,以及选择本地林的哪些资源可用来执行验证。具体设置分两步进行。 : z6 R% _' E5 p6 ~( @. [+ g. e( [1 E
第一步是授予来自其他林的责任人允许验证的权限。例如,假设有两个Windows 2003功能级别的林ForestA和ForestB,两者之间有信任关系。ForestA中DomainA域的UserA用户需要访问ForestB中DomainB域ServerB服务器的ShareB共享资源。要达到这个目标,必须按如下方式操作: 9 z) P ]) k5 Z3 V
, h( I2 s6 ~; M- S, w ⑴ DomainA的管理员在DomainA域中创建一个全局组(例如GroupA),其中包含成员UserA。虽然可以直接授予UserA适当的权限(这种方式的优点之一是透明),但如果用户数量较多,直接配置各个用户的话效率就很低了。 , f! w4 M8 f) L. u# g, ~% B4 ?% ]) |! Z" n' ?) o
⑵ 启动Active Directory用户和计算机管理器,找到DomainB,再找到ServerB,双击ServerB的图标,打开它的属性对话框。 ! }! t3 r e. P# R3 N( v
/ S! z) X" l' ?) L
⑶ 转到安全设置页,将DomainA\GroupA加入到窗口上方的清单。在窗口下方,选中“允许验证”和“读取”权限的“允许”选项。第一步的设置到这里完成,我们已经允许DomainA\GroupA的成员访问DomainB\ServerB时执行验证。 / G3 j$ p; f9 L' k3 L; t( V4 S' T9 s' f: G# V
第二步很简单,只要把ServerB服务器ShareB共享资源上适当的权限授予DomainA\GroupA全局组即可(或者,也可以将DomainA\GroupA全局组加入到DomainB域本地组,然后对本地组授权)。 . d$ O6 k7 z6 X9 P% ?! j2 M
5 B- u7 h# \8 a" I. a 结束语:本文只涉及了Windows 2003安全性很小的一方面,许多重要的主题尚未涉及,例如Active Directory安全特性(SID过滤等),以及托管、非托管代码的应用程序代码控制等。尽管如此,我们已经可以体会到微软宣称的“迄今为止微软最强大的Windows服务器操作系统”确实在安全性方面作了许多改进。