微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
2000　Vol.19　No.6　P.25-28




从体系结构论Windows NT和
Novell IntranetWare的安全性策略
彭红
摘要：从体系结构的角度分析了Windows NT和IntranetWare在网络客户机、网络文件服务器和网络企业级应用服务器方面的安全结构和特性。
关键词：体系结构　安全性　Windows NT IntranetWare　网络平台
　　随着Internet技术的迅速发展，基于Internet和Intranet的计算环境也在不断增多，选择一个网络平台时有许多较迫切的要求需要考虑。因此，当今网络操作系统平台不仅应提供文件和打印资源共享，而且要有同后台应用服务器相互作用的前台应用主机以及具有可伸缩性、可靠性、高性能和安全性的工作站服务。尽管安全性仅是在选择Intranet平台时需要考虑的因素之一，但它却日益重要。
　　Windows NT4.0和Novell IntranetWare 4.11是目前较流行和使用较广泛的网络操作平台。本文从体系结构入手，分析Windows NT和IntranetWare操作系统的安全性体系和特性。
1  体系结构
1.1 Windows NT
　　Windows NT是一个多用途的服务器操作系统，它除文件和打印机共享服务外，还提供应用和通信服务。Windows NT服务器和Windows NT工作站具有相同的安全体系结构和一组类似的安全特征，如图1所示。因此，基于Windows NT工作站和服务器的网络是一个对等网络，一般来说，服务器上有效的功能对客户机同样有效。

图1  Windows NT网络体系结构
　　Windows NT提供全分布式安全模式，在此模式下，每个用户或进程必须验证，且每个对象能够使用访问控制进行自身保护。Windows NT核心确保仅允许通过验证的用户能使用自己所具有的权力和特权来访问对象，应用程序使用Windows NT提供的安全服务完成认证访问。用户无论是获得本地资源还是远程资源的访问，验证和存取控制均为无缝的和透明的。类似地，工作站和服务器端均能审核系统事件。
1.2 IntranetWare
　　如图2所示，IntranetWare体系结构是一个明确的客户机／服务器模式，即客户端向服务器发出请求，服务器完成这些请求后对客户机返回结果。IntranetWare的设计思想是客户机和服务器均作为物理上独立的机器。执行这种体系结构时，应用程序典型地运行在客户机上，而服务器允许这些应用安全地共享文件和打印机资源，服务器上并不运行应用程序。因此，该结构非常适合需要多个客户共享文件和打印机资源的模式。

图2  IntranetWare体系结构
　　由于IntranetWare仅在服务器而不在客户工作站上运行，因此，服务器提供的功能通常与客户机上的不一样，客户端所具有的安全性功能将依赖于所选择的客户工作站。
2  网络客户工作站体系结构
　　典型的客户平台上运行的应用需要共享网络中由服务器控制的数据和资源，这些应用需要相互保护并能保护自身的数据，因此，安全核心必须与这些应用隔开以预防错误或蓄意的程序破坏操作系统或攻击安全机制。此外，客户机有责任通过接收用户的口令来识别和认证用户，并使用该口令登录到工作站和服务器上，当客户机存储口令并将其传送到服务器时，应保护它免遭破坏。
　　为了检测或恢复非法入侵，管理员应能够审核客户机上包括诸如启动和停止进程等事件的所有活动的能力，因为网络攻击很少仅攻击1个网络组件。为了把与攻击有关的事件拼合在一起，管理员应能复验所有组件的审核跟踪，这就要求每个网络组件的审核跟踪具有一致性。事实上，客户工作站需要多用途操作系统的所有功能和整套安全机制。
2.1 Windows NT
　　实际上，Windows NT工作站使用与Windows NT服务器一样的平台和软件。因此，它提供一组相似的安全性能，即用户在获得对系统资源的任何访问之前需被识别和认证，其后访问资源则通过访问控制表来控制。此控制表指出了那些用户可以访问那些对象以及是什么类型的访问，每次访问是可审核的，且审核记录总包含唯一的用户标识。
　　Windows NT工作站允许非授权应用运行而不破坏操作系统或其它应用软件。这是因为程序被限制在仅能访问自己的地址空间，且不能获得对操作系统或其它应用的数据或代码进行处理的权限。
　　操作系统位于应用程序不能进入的单独执行域中，当应用需要调用操作系统服务时，它使用明确的程序设计界面发出请求，这些界面允许操作系统控制用户对系统服务的接收访问。Windows NT工作站也需要与服务器进行安全通信，安全通道功能由分布式安全组件目标模型和安全Socket层提供。
2.2 IntranetWare
　　IntranetWare是一个不包括客户软件的服务器操作系统，Novell公司也没提供客户操作系统。因此，IntranetWare网络集成商有责任选择或开发一个合适的安全客户软件。Novell公司已公布了选择设计一个安全客户的报告。
设计自己的安全工作站软件与IntranetWare网络通信是一件较困难的事，因为按以前的规定，工作站应能完成用户验证、保护口令、提供有关客户资源的访问控制、保护核心安全、预防应用程序相互干扰和完成审核。在Novell发布的白皮书中，介绍了几种可选择的体系结构，一些是基于降低工作站自身的安全性功能，而另一些则是把专用硬件添加到工作站中，还有一种方法建议通过修改Intel体系结构来使工作站安全可靠。
3  文件服务器体系结构
　　文件服务器允许客户工作站上应用程序共享服务器控制的文件和打印机资源，为此，它要求能用完全访问控制系统保护这些资源，同时也要求是一个能检测和跟踪企图入侵系统的审核设备。由于验证用户的口令通常存储在服务器上，因此，当服务器上存储的口令通过通信线路传送时，也应能提供保护以防网络攻击。
　　以下简述一个文件服务器的关键性安全要求，并从二个平台的角度对每种要求进行描述。
3.1 认  证
3.1.1 Windows NT
　　Windows NT使用加密技术保护服务器上传送和存储的口令，它总是要求认证用户。NT服务器能配置成限制网络连接，也能设置为限制用户使用专门的帐号、在指定时间里登录；NT引入安全注意顺序(对登录处理的信任路径)的概念，从而确保了特洛伊木马形式的黑客渗透。基于NT的系统能被锁住，使得用户不能从控制台关机。为取消启动时选择操作系统，引导顺序也能设置为总是从硬盘启动。
3.1.2 IntranetWare
　　IntranetWare口令也使用加密技术进行保护，但它不要求用户在服务器控制台上识别或认证，因此，访问IntranetWare服务器控制台的任何用户均可发命令，这意味着IntranetWare服务器需要的物理保护比Windows NT那样的认证服务器要多得多，因为控制台命令可用来重新配置服务器、禁止网络连接或完全关闭网络。IntranetWare也能设置成限制用户使用专门的帐号和工作站在特定的时间里登录。
3.2 存取控制
3.2.1 Windows NT
　　Windows NT通过对象服务器控制提供存取控制，用户能指定其它用户或用户组读、写或修改系统对象。在Windows NT中，每个受保护的对象由相同类型的结构来描述，对象的存取使用相同的存取控制机制。这种方法具有高可靠性，且存取所有受保护的对象均使用独立的存取控制机制来实现。
3.2.2 IntranetWare
　　IntranetWare也通过对象服务器控制来提供存取控制，用户能指定其它用户或用户组读、写或修改对象。IntranetWare存在二种主要类型的对象――NetWare或Novell目录服务对象和文件系统对象，每种对象使用不同的存取控制机制来控制存取，这种方法结构上不太可靠。
3.3 审  核
3.3.1 Windows NT
　　Windows NT的审核记录在客户机和服务器中是一样的，并能在任何客户端或服务器上使用基于GUI的事件查看器在本地浏览审核记录，存取审核记录由DAC存取控制表机制控制。
3.3.2 IntranetWare
　　尽管Windows NT和IntranetWare都需要物理保护，但由于服务器控制台完全依赖物理保护而使IntranetWare环境显得尤为重要。因为能够获得控制台物理存取的任何人均可发出任何控制台命令而无需认证，所以，审核系统不能记录发出命令的每个用户。
　　IntranetWare中处理IntranetWare服务器的审核跟踪没有基于服务器的工具，因此审核器使用基于客户机的工具（例如AUDITCON）来代替，以便查看审核跟踪和显示所选择的审核事件。AUDITCON工具是基于命令行的，要求具有专门的命令知识，所以管理员的培训要比基于GUI工具的培训要求高得多。IntranetWare中存取审核记录由任意的存取控制表机制来控制。
3.4 安全性分区
3.4.1 Windows NT
　　Windows NT把操作系统放在核心方式执行域中，用户在用户方式下运行，用户软件不能获得对核心方式的存取。
3.4.2 IntranetWare
　　由于IntranetWare中用户应用程序在客户机而非服务器上运行，因此服务器操作系统实际上已被划分成二个完全独立的系统。IntranetWare文件服务体系结构用牺牲灵活性来最大限度地增加保护措施，因为多个用户（例如Web服务器）共享的后台应用程序不能安全地在服务器上运行。
4  企业级应用服务器体系结构
　　应用服务器体系结构包括下列特性：
　　(1)通过执行和实施安全性分区来保护操作系统和应用程序。
　　(2)使用分级控制，尽可能少地把操作系统特权分配给用户，以便让风险降到最低。
　　(3)应用开发者使用开发工具把现有操作系统的安全性功能加入到应用中以扩展受托边界。
4.1 安全性分区
　　许多最有效的电脑黑客渗透是把可执行代码插入到目标系统中实现的，例如特洛伊木马、病毒或蠕虫，一旦它们在服务器上运行，攻击代码经常能获取足够多的特权来存取口令、敏感数据，甚至降低整个系统的性能。因此，服务器操作系统应具有通过实施安全分区来保护自身及其它应用以免遭错误或恶意程序破坏的能力。
4.1.1 Windows NT
　　Windows NT体系结构把系统划分成2个独立的地址空间――核心空间和用户空间。应用程序在用户空间运行，不能直接访问核心空间的数据或代码，所有用户请求通过定义明确的界面汇集到操作系统。如果由于出错而使应用中断，则操作系统不会受到影响，程序不能破坏操作系统或其它应用程序。口令和其它敏感数据仅在受保护的核心空间维护。
4.1.2 IntranetWare
　　尽管IntranetWare在作为一个文件服务器时提供了较好的安全性(因为应用程序仅运行在客户工作站上)，但作为安全的企业级服务器是不可取的，这并不因为安全机制不合适，而是传统的体系结构没考虑到主机应用。
　　IntranetWare最大的问题是应用程序与操作系统共享相同的地址空间，而事实上应用程序并不一定打算在服务器上运行，与Windows NT不同，IntranetWare上的主机应用程序可作为设备驱动器进行查看，因此，本质上，它们变成了操作系统的一部分，其明显的含义是应用程序与操作系统具有完全相同的权限。安全分区的缺陷意味着恶意的程序能破坏或入侵系统处理的任何安全机制，从而损害系统试图保护的数据。相同原因，应用程序易受其它应用的攻击，因为所有应用程序共享相同的地址空间。基于此情况，国际计算机安全中心在对照C2级安全性要求评估IntranetWare 4.11后，发布了限制性声明，即“Netware 4.11服务器不包含和不支持不信任的软件”，因此，IntranetWare仅满足服务器上不运行应用时的C2级安全性要求。
4.2 特权控制
　　安全系统的一个重要设计目标是要为给定的应用程序提供有限的操作系统特权，即限制特权。这个概念以Unix系统中的root特权这样的反例来说明，即具有root特权的用户或程序能完成特许硬件指令、修改任何地址空间、访问和修改任何有效文件以及在系统上做任何事情，但程序几乎很少需要这么多的权限。因此，限制应用所带特权的系统在执行时更安全且不致于滥用和出错。而对于在系统上运行且无受限特权的应用程序，为了完成它们要求的活动，经常给予多余的许可，这样的环境经常导致特权滥用。
4.2.1 Windows NT
　　Windows NT通过下列机制实现特权限制：
　　(1)划分核心和用户域，在用户域有限的地址空间中运行应用程序。
　　(2)应用程序能在特定的用户帐号下运行，在此情况下，仅仅该帐号所具有的权限对程序有效。
　　(3)特权允许应用程序使用一个特殊用户或组的特权运行，用户或组特权能由系统管理员控制。
　　(4)安全模式允许应用程序模仿客户机访问服务器上的资源，这个特性确保了应用只具有特殊客户的特权和权力。
　　这些操作系统特性通过应用程序所拥有的系统特权来提供分级控制，因此，一个应用程序仅需获得完成自己功能所需要的特权，从而避免了恶意程序导致的破坏。
4.2.2 IntranetWare
　　IntranetWare没有受限特权的任何概念，因为文件服务器体系结构不允许划分服务器上的特权，所有处理有相同的特权且访问相同的指令，这意味着即使最简单的应用程序也有全部核心特权。
4.3 可扩充性
　　1台应用服务器是作为诸如Web和数据库服务器的各种企业级应用的主机，它应该提供前面所描述的全部操作系统服务和安全性功能。作为企业级服务器还应为软件开发者把服务器功能集成到应用中提供相应机制，这对安全性尤为重要。因为应用程序的安全性功能越多，它们结合得就越紧密，从这方面来讲，安全性将遍及整个系统，而不仅仅在底层操作系统上。当应用程序在所有地方使用评估操作系统机制即受限安全性机制时，系统集成商可获得较高层次的保证，而开发者把已存在的机制结合到应用程序代码中实际上就扩展了安全性范围。此外，当应用程序使用操作系统的安全性输出特性时，操作系统中央管理能确保执行一个有效的安全性策略。
4.3.1 Windows NT
　　当在Intranet或Internet上开发应用程序时，重要的一点是操作系统应尽可能多地提供程序所需要的安全性功能。在这方面，NT操作系统能提供已评估、测试和已证明可正常工作的一组统一的安全性功能。
　　Windows NT的输出服务可提供扩展性、灵活性和统一性，软件开发者能调用API来完成用户认证、对目标的访问控制检查和与其它服务器进行通信的安全性认证，把此安全性功能集成到应用程序中的能力使得安全性解决方案更健壮、更透彻，开发者不需要产生它们自己的安全性机制。
　　Windows NT中对软件开发者有效的一些安全机制包括：SSPI(Security Support Provider Interface)、GINA(Graphical Identification and Authentication)、认证RPC、访问控制和密码系统服务等。
4.3.2 IntranetWare
　　IntranetWare向运行应用程序的客户端提供服务，因此，安全性服务不提供给服务器上的应用程序。
5  结束语
　　IntranetWare对文件和打印服务器要求提供了一个明确的安全解决方案，但在企业级网络环境中，由于文件服务器体系结构没有变而受到限制；同时，由于IntranetWare要求独立的安全客户工作站、服务器上无力支持后台应用的安全性主机以及整个安全模式缺乏统一性而使其对于非常注重安全性的企业级网络平台很不适宜。
　　Windows NT不仅提供了安全的文件和打印服务，还提供了1组对Windows NT工作站和服务器均有效的统一的安全特性和1套包括把密码功能与应用程序结合起来的安全性功能，因此，对等体系结构的灵活性、认证、审核、安全性分区和管理能力，使得Windows NT成为安全性网络环境的极佳解决方案。从NCSC完成的目前通用评估结果来看，Windows NT将是唯一提供了全部C2级安全性的网络系统，这些特性使得Windows NT成为现代企业级网络的可选平台。
彭红（武汉中南财经大学网络中心430064）
1999-12-29
