操作系统安全第三章 windows系统安全要素课件.ppt
第三章 Windows系统安全要素,Windows系统安全要素,一、目的要求1.掌握Windows系统各种安全要素的概念,内涵和原理。2.掌握各种安全要素的管理操作及使用方法。二、工具器材Windows Server 2003,Windows XP操作系统三、学习方式建议 理论学习+上机操作,3.1 Windows系统安全模型,影响Windows系统安全的要素有很多:安全模型,文件系统,域和工作组,注册表,进程和线程等等,其中Windows系统安全模型是核心。,Windows系统安全模型,Windows系统的安全性根植于Windows系统的核心(Kernel)层,它为各层次提供一致的安全模型。Windows系统安全模型是Windows系统中密不可分的子系统,控制着Windows系统中对象的访问(如文件、内存、打印机等)。在Windows系统中,对象实质上是指一系列信息集合体,封装了数据及处理过程,使之成为一个可被广泛引用的整体。当对象用于网络环境时,称之为资源;当对象在网络中共享时,称之为共享资源。,Windows 安全模型基于安全对象。操作系统的每个组件都必须确保其负责的对象的安全性。Windows 安全模型主要基于每个对象的权限,以及少量的系统级特权。安全对象包括(但不限于)进程、线程、事件和其它同步对象,以及文件、目录和设备。,对于每种类型的对象,一般的读、写和执行权限都映射到详细的对象特定权限中。例如,对于文件和目录,可能的权限包括读或写文件或目录的权限、读或写扩展的文件属性的权限、遍历目录的权限,以及写对象的安全描述符的权限。,3.1.1 Windows系统安全模型组件,安全标识符 (SID,Security Identifiers)安全标识符标识一个用户、组或登录会话。每个用户都有一个唯一的 SID,在登录时由操作系统检索。当你重新安装系统后,也会得到一个唯一的SID。 SID由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定,以保证它的唯一性。,访问令牌(Access Token),用户通过验证后,登录进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给Windows 系统,然后系统检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,系统将会分配给用户适当的访问权限。访问令牌是用户在通过验证的时候由登录进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。,访问令牌(Access Token),每个进程都有一个访问令牌,访问令牌描述进程的完整的安全上下文。它包含用户的 SID、用户所属组的SID、登录会话的 SID,以及授予用户的系统级特权列表。默认情况下,当进程的线程与安全对象交互时,系统使用进程的主访问令牌。但是,一个线程可以模拟一个客户端帐户。当一个线程模拟客户端帐户时,它除了拥有自己的主令牌之外还有一个模拟令牌。模拟令牌描述线程正在模拟的用户帐户的安全上下文。模拟在远程过程调用 (Remote Procedure Call, RPC) 处理中尤其常见 .,访问令牌(Access Token),描述线程或进程的受限制的安全上下文的访问令牌被称为受限令牌。受限令牌中的 SID 只能设置为拒绝访问安全对象,而不能设置为允许访问安全对象。此外,令牌可以描述一组有限的系统级特权。用户的 SID 和标识保持不变,但是在进程使用受限令牌时,用户的访问权限是有限的。CreateRestrictedToken 函数创建一个受限令牌。,访问令牌(Access Token),受限令牌对于运行不可信代码(例如电子邮件附件)很有用。当您右键单击可执行文件,选择“运行方式”并选择“保护我的计算机和数据不受未授权程序的活动影响”时,Microsoft Windows XP 就会使用受限令牌。,安全描述符(Security Descriptors),每个命名的 Windows 对象都有一个安全描述符,一些未命名的对象也有。它保存对象的安全配置。安全描述符描述对象的所有者和组SID,以及对象的 ACL。对象的安全描述符通常由创建该对象的函数创建。譬如当驱动程序调用 IoCreateDevice 或 IoCreateDeviceSecure 例程来创建设备对象时,系统将一个安全描述符应用于创建的设备对象并为对象设置 ACL。,访问控制列表(Access Control Lists),访问控制列表 (ACL) 允许细粒度地控制对对象的访问。ACL 是每个对象的安全描述符的一部分。每个 ACL 包含零个或多个访问控制条目 (ACE)。而每个 ACE 仅包含一个 SID,用来标识用户、组或计算机以及该 SID 拒绝或允许的权限列表。,访问控制列表有两种:任意访问控制列表(Discretionary ACL)、系统访问控制列表(System ACL)。任意访问控制列表包含了用户和组的列表,以及相应的权限:允许或拒绝。每一个用户或组在任意访问控制列表中都有特殊的权限。而系统访问控制列表是为审核服务的,包含了对象被访问的时间。,访问控制项(Access Control Entries),访问控制项(ACE)包含了用户或组的SID以及对象的权限。访问控制项有两种:允许访问和拒绝访问。拒绝访问的级别高于允许访问。,3.1.2 Windows系统安全模型构成,Windows的安全系统提供了对事件的审核及详细的跟踪手段来监控网络上资源的访问和应用。Windows系统安全模型由登录流程(Logon Process,LP)、本地安全认证(Local Security Authority,LSA)、安全账号管理器(Security Account Manager,SAM)和安全引用监视器(Security Reference Monitor,SRM)组合而成。,1登录流程 登录流程接受本地用户的本地登录请求或者远程用户的远程登录请求,使用户和系统之间建立联系。如图3.1所示。,登录开始,Windows系统的Winlogon进程会显示一个安全性交互对话框,要求用户输入用户名、口令和用户希望登录的服务器域。如果用户信息有效,系统将开始确认用户身份。Windows系统把用户信息通过安全系统传输到安全账号管理器,并对用户身份进行确认。,登录开始,Windows系统的Winlogon进程会显示一个安全性交互对话框,要求用户输入用户名、口令和用户希望登录的服务器域。如果用户信息有效,系统将开始确认用户身份。Windows系统把用户信息通过安全系统传输到安全账号管理器,并对用户身份进行确认。,安全账号管理器把用户登录信息与服务器里的安全账号管理数据进行比较,如果两者匹配,服务器将通知工作站允许用户进行访问。Winlogon进程将调用Win32子系统为用户产生一个新的进程,同时服务器还将记录用户的一些信息,如用户享用的特权、主目录所在位置及工作站参数等。,然后本地安全认证开始构造访问令牌(Access Token),与用户进行的所有操作相连接。用户进行的操作与访问令牌一起构成一个主体(Subject)。当用户要求访问一个对象时,主体的访问令牌的内容将与对象的存取控制列表通过一个有效性访问程序进行比较,这个程序将决定允许或拒绝用户发出的访问要求。,2本地安全认证本地安全认证是Windows系统的核心,它通过确认安全账号管理器中的数据信息来处理用户从本地或远程的登录。,LSA负责本地和网络登录的用户认证,要么和域控制器通信,要么和本地SAM比较。LSA首先确定是否要在本地进行认证,或提交的凭证是否应和域控制器比较进行确认。如果认证属于本地系统,LSA把凭证和SAM数据库相比较;否则LSA把认证请求传送到域控制器以核实证书。,认证成功后,本地安全机构产生和提交与用户凭证关联的安全标识符清单,并把这些标识符合并到用户的安全令牌中。令牌发出后,大多数访问控制决策直接发生在用户进程和安全引用监视器之间。除了认证工作外,LSA还负责把SRM产生的安全事件记入事件日志中。,调用所有的认证包,检查在注册表HKLMSYSTEMCurrentControlSetControlLSA下Authentication Packages下的值,并调用该DLL进行认证(MSV_1.DLL)。在4.0版里,Windows NT会寻找HKLMSYSTEMCurrentControlSetControlLSA 下所有存在的SecurityPackages值并调用。重新找回本地组的SIDs和用户的权限。创建用户的访问令牌。管理本地安装的服务所使用的服务账号。,储存和映射用户权限。管理审核的策略和设置。管理信任关系。,3 安全账号管理器安全账号管理器维护账号的安全性管理数据库,即SAM数据库,又称目录数据库(Directory Database)。该数据库包含所有用户和组的账号信息,其中包含安全标识(Securityldentifier,SID)。安全标识在账号新建时被创建,直到账号被删除。一旦用户账号被删除,就不能被重建,因为原先的账号不再存在了。用相同的名字新建的账号将被赋予不同的安全标识,不会保留原有的权限。,安全账号管理器提供本地安全认证使用的用户有效身份服务,使用安全账号管理器数据库来审计用户登录时输人的信息,并给用户返回一个安全标识及用户所属组的安全标识。当用户登录入网时,本地安全认证将创建一个访问令牌,该访问令牌包含用户名、用户所属的组及安全标识等信息,用户所有的程序将拥有访问令牌的拷贝。当用户要求访问一个对象时,系统将把访问令牌中的安全标识与对象的访问控制列表(Access Control List,ACL)进行对比,以确认用户是否具有对对象的访问权限.,根据网络的配置,在一个或多个Windows系统中可能存在不同的安全账号管理数据库。在登录时存取的安全账号管理数据库取决于用户是以工作站上的用户账号登录,还是以网络账号登录。当一个用户在每一台工作站上都有独立账号时,登录时存取的安全账号管理数据库就位于用户登录的工作站上。,在一个有集中存放的用户账号的网络设置(如单域模式)中,在域控制器上有一个集中的安全账号管理数据库。如果以工作站上的账号登录,存取在工作站上的安全账号管理数据库;如果以域上的账号登录,则存取在域控制器上的安全账号管理数据库。,在另一种有集中存放用户账号的网络设置(如主控域的网络设置)中,在主域控制器(MasterDomain Controller)上有一个被同时复制到该域的所有备份域控制器(Backup DomainController)上的安全账号管理数据库。如果以工作站上的用户账号登录,访问工作站上的安全账号管理数据库;如果以域上的用户账号登录,那么访问在主域控制器或备份域控制器上的安全账号管理数据库。备份域控制器分担主域控制器上用户请求的有效性确认工作。被设置为单列服务器(Stand Alone Server)的Windows系统不做用户在域内的身份验证工作。,4安全引用监视器安全引用监视器是Windows系统的一个组成部分,它以内核模式(Kernel Mode)运行,负责检查Windows系统的存取合法性,以保护资源,使其免受非法存取和修改。安全引用监视器为对象的有效访问提供服务并为用户提供访问权限,同时还能够阻止非授权用户访问对象。,为了确保所有类型对象都得到保护,安全引用监视器在系统中只维护一个有效性的复制访问代码。用户在要求访问对象时,必须通过安全引用监视器的有效验证,而不能直接访问对象。安全引用监视器对用户是透明的,它是系统维护合法性检验的唯一组件,并能保护所有的对象。安全引用监视器还产生由本地安全权威记载的日志信息。,3.1.3 Windows Vista的安全模型,Windows Vista 为用户帐户引进了一种新的安全模型。此模型也在 Windows 7 和 Windows Server 2008 中使用,提供了一种更安全可信的环境。与 Windows XP 相似,新的安全模型包括标准用户帐户和管理员帐户。,新的安全模型不会在所有时间都授予管理特权。甚至当管理员执行不需要更高特权的非管理任务时,也是在标准特权下运行。这样做更加安全,因为用户不再使用可能被恶意利用的不必要的特权来运行。此功能称为“用户访问控制”,或简称为 UAC。,默认情况下,操作系统以“管理员批准模式”运行。在管理员批准模式下,无论您是作为标准用户还是管理员运行,每当您尝试执行需要管理员特权的操作时,都会出现 UAC 对话框。如果您是作为标准用户运行,则 UAC 对话框会提示您输入继续运行所需的管理员帐户名和密码。如果是作为管理员运行,UAC 对话框会要求您确认您想要使用当前管理员凭据来执行过程。该对话框还提供了一个输入新管理员帐户名和密码来继续执行操作的选项。,3.2.1 对象,对象(Objects)是Windows系统安全环境中基本的操作单元。Windows系统的各种资源以对象的形式来组织,例如File Object, Driver Object, Device Object等等,但实际上这些所谓的“对象”在系统的对象管理器(Object Manager)看来只是完整对象的一个部分对象实体(Object Body)。Windows XP中有31种不同类型的对象,Object Body反映了某一类型对象的特征信息。,对象为Windows系统提供了较高的安全级。从外部来看,它们把数据隐藏起来并只按对象的功能所定义的方式提供信息,建立起一个保护层,可以有效地防止外部程序对网络数据的直接访问。Windows系统正是通过阻止程序直接访问对象来获得较高的安全级的,所有对对象的操作都必须事先得到授权并由Windows系统来执行,在Windows系统中,可以用安全描述器(Security Descriptor)或访问令牌来设定对象的属性,从而使对象得到保护。对象有两种类型:复合对象和原子对象。包含其它对象作为其组成成分的对象称为复合对象,复合对象更增强了抽象数据类型的能力;原子对象则不能容纳别的对象。例如,目录是复合对象,而文件则是原子对象。在父对象中生成的子对象可以拥有父对象所拥有的许可权限。,3.2.2 共享资源,共享资源(Shared Resource)是指提供出来以便通过网络进行应用的任何对象。最常用的共享资源包括:文件、目录和打印机等,Windows系统也会建立一些特殊的共享对象。建立共享对象的用户或进程被称为共享对象的所有者(Owner)。共享资源的所有者能够进一步决定共享对象的权限。当用户需要共享某一个对象时,用户必须为共享资源选择一个唯一(Unique)的名字,然后赋予其他的用户和组以不同的访问权限。在该系列过程设定以后,通常Windows系统会为共享资源创建安全描述符(Security Descriptor),安全描述符包含一组安全属性,以确保共享资源阻止非授权访问。,共享资源的访问权限(Share Permissions)共有以下几种。1完全控制(Full Control):用户可以读取、修改、添加新文件,修改目录及修改该文件的许可权。用户还可拥有该目录及其文件的所有权。2拒绝访问(No Access):用户被拒绝访问。3读取(Read):用户可以读取文件,但不能修改现有文件的内容。4更改(Change):用户可以读取文件,将文件添加给目录,并可以修改现有文件的内容。,3.3.1 FAT文件系统,1FAT16文件系统FAT16文件系统是最早用于小型磁盘和简单文件结构的简单文件系统。FAT16文件系统得名于它的组织方法:采用FAT16文件系统格式化的卷(卷是格式化后由文件系统使用的分区或分区集合)以簇的形式进行分配。默认簇的大小由卷的大小决定。对于FAT16文件系统,簇数目必须可以用16位的二进制数字表示,并且是2的乘方。,如果用户使用Windows 95、MS-DOS、OS2等操作系统,建议使用FAT16文件系统格式。不过,需要注意的是,FAT16文件系统最好用在较小的卷上,因为在不考虑簇大小的情况下,使用FAT16文件系统,卷不能大于2GB。,较之FATl6,FAT32最大的优势是它支持分区的能力远远大于FATl6。FATl6最大只能支持4GB,而FAT32却可达到2047GB(其中4GB用于分区容量的扩充),但在Windows 2000中的FAT32最大只能使用32GB。FAT32比FAT16支持更小的簇和更大的卷,这就使得FAT32卷的空间分配更有效率。,3.3.2 NTFS,NTFS(New Technology File System)文件系统最早出现在1993年的Windows NT操作系统中,它的出现大幅度地提高了微软原来的FAT文件系统的性能。NTFS是一个日志系统,这意味着除了向磁盘中写入信息,该文件系统还会为所发生的所有改变保留一份日志。这一功能让NTFS文件系统在发生错误的时候(比如系统崩溃或电源供应中断)更容易恢复,也让这一系统更加强壮。在这些情况下,NTFS能够很快恢复正常,而且不会丢失任何数据。,NTFS另一个引人注目的特点,即良好的安全性,是NTFS成为Windows网络中最常用的文件系统的最主要的原因。NTFS的安全系统非常强大,可以对文件系统中对象的访问权限(允许或禁止)做非常精细的设置。NTFS Master File Table (MFT)中包含了一个NTFS分区中所有文件的记录。,每个MFT入口都有一个特殊的metadata标签,叫做SD(security descriptor,安全描述符),这个标签中包含了谁可以访问这个文件或文件夹的所有控制信息。每个SD标签都包含了一个用户列表,这个列表被称为Access Control List (ACL访问控制列表),只有包含在这个列表里的用户才被允许访问该对象。,NTFS是一个元数据驱动的系统。事实上,当你第一次创建NTFS分区的时候,很多元数据文件就被创建了,每个元数据文件都帮助跟踪文件系统中某个特定的对象。每个NTFS分区都会有一个Master File Table,这个关联文件被命名为$MFT。事实上,NTFS创建了两个MFT文件。第一个是$MFT,被存放在NTFS分区的开头。为了增强可靠性,NTFS分区还有一个名为$MFTMirr的MTF文件。在Windows NT 4.0及其后的版本中,这个文件都被存放在NTFS分区的末尾。在Windows NT 3.51及以前的版本中,这个MFT镜像文件被存放在分区的中间。,3.3.3 其他常用文件系统,1CIFS通用Internet文件系统(Common Internet File System,CIFS)是Internet迅猛发展的直接结果,是计算机用户在企业内部网和因特网上共享文件的标准方法。CIFS作为一种协议为Internet网络间文件、对象的共享操作提供了无缝联结。CIFS是一种开放、跨平台的技术,它基于Microsoft Windows和其他PC操作系统内嵌的本地文件共享协议服务器消息块(Server Message Block,SMB),并进行了增强,而且获得了广泛的平台支持,包括UNIX,VMS和Macintosh。,2EFSEFS(Encrypting File System,加密文件系统)是NTFS5的一个新属性,可为文件或目录进行加密。它提供了在磁盘上存储NTFS文件的核心文件加密技术。EFS加密技术是基于公开密钥并以整体的系统服务形式运行,加密和解密都是在文件操作过程中进行的。任何不知晓密文的用户,试图去访问加密文件的行为都是徒劳的,系统将会产生“访问拒绝”的信息框来拒绝该用户的访问。这样就能使它易于管理而难于被攻击,并且对文件所有者是透明的。,EFS是Windows 2000/ Windows 2003/XP/VISTA所特有的一个实用功能,对于NTFS卷上的文件和数据,都可以直接被操作系统加密保存。如果硬盘上的文件已经使用EFS进行了加密,即使一个攻击者能访问到硬盘上,由于没有解密的密钥,文件也是不可用的,在很大程度上提高了数据的安全性。这种特性对于移动用户、通过宽带连接的用户、对敏感数据有更高安全要求的机构的益处是显而易见的。,EFS可以被认为是除NTFS外的第二层防护,为访问一个被加密的文件,用户必须有访问到文件的NTFS权限。有相关NTFS权限的用户能看到文件夹中的文件,但不能打开文件,除非有相应的解密密钥。同样,一个用户有相应的密钥但没有相应的NTFS权限也不能访问到文件。所以一个用户要能打开加密的文件,同时需要NTFS权限和解密密钥。,3. DFS分布式文件系统(Distributed File System,DFS)是Windows 2000以后版本中的一个功能强大的工具。利用分布式文件系统,系统管理员可以使用户更加方便地访问和管理那些在物理上跨网络分布的文件,而用户则无需知道文件的确切物理位置。它允许从不同的物理系统创建一个单一逻辑目录树,使已有的数据更具合理化结构,从而便于用户访问网络文件资源、加强容错能力和网络负载均衡。用户查找资源不用去登录多个服务器,管理员也只要在单一地点就可以管理多个共享文件夹,使用非常方便。,通过DFS可以有效地组织共享文件夹并简化对共享文件夹的访问。只要用户拥有对共享文件夹的访问权限,他就可以进入DFS树的子目录,就像他正在原来的某个子目录下,而且还可通过该网络而进入其他某个服务器的共享区中。这主要是因为DFS为可能在网络上任何位置的文件系统资源创建了一个有层次、有逻辑、可查询的目录树,使用户能从一个单一位置管理多个共享文件夹。作为一个访问点,用户能简便地访问网络资源而不用考虑资源的实际位置。因此在Windows 2000中,通过DFS,网络和文件系统结构对用户变得非常清晰,用户能够集中和优化对以一个单一树结构为基础的资源的访问。,3.4 域和工作组,在Windows系统中,有两种类型的网络配置:域和工作组,它们分别适宜于不同的网络和用户规模。3.4.1 域域在活动目录AD(Active Directory)中定义安全边界。它所代表的是一个广义的局域网系统,因为它可以将一个计算机组扩展到一定区域。所以,域的定义是:由许多网络服务器计算机与工作站计算机所连接而成的群组,这个群组内的所有成员均使用相同的软硬件系统设置、账户系统和其他共享资源。用户不需要一台一台地登录到域的某服务器计算机上,只要登录该域,就可以共享该域的各项资源。,域是共享公共安全策略和用户账户数据库的计算机集合。域为该域中所有的计算机提供了一种公共的安全性边界。如果用户在登录Windows 2000 Server域时输入一个域名,那么用户的帐户必须在该域中。有关用户帐户的所有安全性信息都存储在域中称做域控制器的计算机上,而且用户可以登录到域中任何一台计算机上。,同时,域是网络服务器和其他计算机的逻辑分组。在域中用户每次登录的是整个网域,而不是登录到网域中的某个服务器。安全数据库中存储域中所有的安全机制信息和用户帐户信息,并且也存储在服务器中,并复制到备份的服务器,通过有规律的同步处理来保证数据库的安全。用户账户和安全策略可以看作一个公共的,集中式的数据库。在Windows 2003 Server 以前的网络中,域数据库是SAM数据库。从Windows 2003 Server开始,域数据库变成了活动目录Active Directory。,3.4.2域控制器,一台服务器之所以称为域控制器,是因为在域控制器上存放着包含域的所有信息的域数据库,以数据库为基础对域进行管理的组件称为活动目录,即Active Directory(简称为AD),它是域的安全管理数据库。活动目录是高度伸缩的、分布式的、采用Internet标准技术建立并在操作系统级完全集成的企业级目录服务。,它为运行在Windows上的应用程序提供全面的目录服务,同时它还被设计成一个统一的合并点,用于隔离、迁移和集中管理企业拥有的目录并减少目录的数目。这使得活动目录能在任何系统中正常工作,支持从只有几百个对象、一台服务器的小系统到拥有数百万个对象、上千台服务器的庞大系统,使其成为企业信息共享和网络资源通用管理的理想平台。AD在作为域控制器的服务器上运行。通过AD的操作界面,管理员可以对网络实施有效的组织与管理。,在域模型中有3种不同的服务器类型:主域控制器、后备域控制器和服务器。在Windows 2000域中,运行Windows 2000 Server并安装了AD(活动目录)的计算机就是一个域控制器。域控制器存储目录数据,管理用户和域之间的交互(包括用户登录、验证和目录搜索)。域控制器的多少可以根据网络的规模决定,但是使用多个域控制器可以提高域的可用性和容错性。,1主域控制器(PDC,Primary Domain Controller)每个域都需要有一个主域控制器,并且只能有一个主域控制器,它是整个域的控制中心,它为域保存主账户数据库和安全性政策,账户库中的所有改动都必须在主域控制器上进行,同时它负责一个域中用户的合法性检验。,2后备域控制器(BDC,Backup Domain Controller)后备域控制器是用于保持PDC目录数据库副本的服务器,该BDC周期性地、自动地与PDC保持同步。BDC也可以协助PDC对用户登录操作进行身份验证,分担PDC的工作,减轻网络流量。同时,当PDC关机或出了故障时,BDC可以升级为PDC,但如果一个BDC升级为PDC,则在最后一次从原来的PDC拷贝目录数据库之后,用户对目录数据库所进行的更改都将会丢失。一个域可以有多个BDC。主域控制器、后备域控制器都可作为文件、打印和应用程序的服务器。,3独立的服务器(Stand Alone Server)在域中不作为主域控制器和后备域控制器的域服务器称为独立的服务器,它可以用做专用文件、打印和应用程序的服务器。服务器保存自身的数据库,域中的账户可被授权访问服务器上的资源。在Windows 2000 Server以上版本中,已经没有主域控制器和备份域控制器的区别,在活动目录中只有域控制器,所有的域控制器都是平等的,管理员对任何一个域控制器的更改都会复制给别的域控制器。,这其中的主要原因是活动目录(Active Dictionary)是基于多主复制(Multimaster Replication),所有的域控制器都是平等的,Active Dictionary的复制中已去掉了主域控制器和备份域控制器之间的差别,这就是说,所有对象都可以在域中的任意一台域控制器上创建和修改,并且在创建或修改之后又可复制到其他的域控制器上。,3.4.3 域和委托,Windows系统的域之间可以建立委托(Trust)关系,当域的委托关系建立起来之后,一个域就可以识别其他的域中的全局用户(Global User Accounts)和全局组(Global Groups),这样,用户只需要一个登录标识便可以访问其他域中的资源。例如域A委托域B,那么所有域B中的账号可以用来从本地或远程登录域A,除非有其他设置来阻止这种访问。在所有的委托关系中,一个域为受托域,另外一个域就是委托域。,受托域:又称账户域,账户被放在受托域中。受托域的用户和组允许在委托域中拥有用户权力、资源权限和本地组员身份。委托域:委托资源通常总放在委托域中,委托域允许其他域(受托域)的用户访问其资源。委托域(Trusting Domain)又称信任域,含有可用的资源,也称为资源域。委托与受托的概念差别可以从资源的角度考虑。通过建立恰当的委托关系和授予访问的权限,资源所在域可委托另外一个域的用户,并允许他们使用这些资源。,域之间的委托关系可以有单向和双向两种。1单向委托关系一个域委托其他域中的用户使用其资源。更准确地说,一个域委托其他域中的域控制器来确认用户账户,以使用户能使用其资源。这样,可用的资源被保存在委托域中,而利用这些资源的账户却在受托域中。如果委托域中的用户账户需要使用受托域中的资源,则需要双向委托关系。,2双向委托关系相当于两个单向委托关系,每个域都委托对方域中的用户账户,用户可从任一个域的计算机登录到他们的域账户中,每个域都有自己的账户和资源。全局用户账户和全局组可用来从任何一个域中得到授权来访问其中任何一个域中的资源。,3.4.4工作组,工作组(Workgroup)的概念是从Windows 3.0开始引入的,并在Windows 3.1l for Workgroup中得到增强。工作组网络共享虽然不如Windows系统域模型安全,但它对于小规模的网络环境还是颇具吸引力的。它是资源和管理都分布在整个网络上的一种网络模式。这种网络被称为“对等网”,即在工作组模型中,每台计算机的地位都是平等的,每台计算机既可用做服务器,也可用做工作站,每台计算机都有自己的账户和对象。,工作组是单独的系统或不属于一个域中的多系统的有组织的单元。在工作组中,系统各自独立管理自己的用户账号和组账号的信息及它们的安全账号管理数据库,它们不与别的系统共享这些信息。如果一个系统不是一个域的组成部分,那么它就自动地成为了工作组的一部分。加入工作组的所有用户称为全局用户(Global User)。工作组模型适宜于管理要求不太复杂的环境。,3.5 用户账号,1账号的概念由于Windows系统的安全模型是基于用户级的(User-Level)而不是共享式的(Share-Level),因此每个要访问Windows系统控制的资源的用户必须由系统管理员建立一个账号。Windows为每一个用户分配了一个唯一的安全识别码(SecurityID,简称SID),SID由用户的帐户、密码、所属群组以及网络资源的访问权限等数据构成。在用户登录系统时,系统会检查用户的帐户和密码在确定无误后,系统会产生一个包含帐户及密码等信息的安全存取令牌(Security Access Token,简称SAT)。,无论用户进行任何操作都会得到安全访问标记的一个拷贝,在启动应用程序或读取文件之前,系统会用SAT与程序或文件的存取清单上的访问控制清单(Access Control List,简称ACL)进行比较,如果用户的SID在ACL的清单中,用户就可以执行这个操作。,SID是不会被重复使用的,当把帐户删除之后,其SID仍然会被保留。因此在删除一个帐户后,即使再添加一个与其相同名称的帐户,它也不会拥有原来该帐户的权限设置,因为它们的SID不同,必须对新产生帐户的权限等有关信息进行重新定义。,根据网络所采用的域模型,一个用户可以拥有一个或几个账号,以不同的访问等级和访问权限共享工作组或域中的资源。如果用户的账号属于工作组,那么用户的账号信息存储在用户自己的机器上;如果属于域,则存储在域控制器或服务器上,账号的运行方式要比储存方式重要。用户的账号决定着对资源的访问权限。系统管理员通过授予特定用户的资源访问权限建立起授权机制。只有当用户拥有适当的授权时,他才有可能进行资源访问。Windows系统也利用用户账号产生审核及日志跟踪信息。,2账号类型在Windows Server 2003中有三种类型的用户账号:内置账户内置账户是在安装windows server 2003时由系统预先设置的,系统默认的两个内置账户是Administrator和Guest 。Administrator账户可以重新命名,但不可以删除;该账户是系统预设的系统管理员,具有对整个域和计算机进行设置的超级权限。Guest账户可以更名和禁用,但不能删除,该用户可作为匿名帐户来临时访问计算机。,本地用户账户本地用户账户只具有登录到创建该本地用户账户的计算机上且只访问这台计算机资源的权限。创建本地用户账户的同时也会在本地计算机安全数据库中创建本地用户。当本地用户账户创建后,创建此用户的计算机就会通过本地安全数据库来验证本地用户。因为本地用户账户不能被域识别,所以不能在作为域成员的计算机创建本地用户。,当Windows Server 2003工作在“工作组”模式下或者作为域中的成员服务器时,在计算机操作系统中存在的是本地用户和本地组。本地用户账户的作用范围仅限于在创建该账户的计算机上,以控制用户对该计算机上的资源的访问。所以当需要访问在“工作组”模式下的计算机时,必须在每一个需要访问的计算机上都有其本地账户。其中本地账户都存储在%SystemRoot%system32configSam数据库中。,域用户账户域用户账户具有使用域内资源的权限。域用户账户的信息被存放在域控制器的活动目录数据库中,活动目录服务器利用这些信息来鉴别用户身份。管理员可以设置域用户帐户在限定的计算机上登录,或在域网络中任一计算机上登录。登录时,活动目录服务为具有登录权限的用户创建具有用户属性的安全设置信息的访问令牌。访问令牌用于确认用户是否可以登录到运行windows server 2003域控制器的计算机上。,域用户账户是用户访问域的唯一凭证,因此在域中必须是唯一的。域用户账户保存在AD(活动目录)数据库中,该数据库位于在DC(域控制器)上的%systemroot%NTDS文件夹下。这一点需要特别注意。当一台服务器一旦安装AD成为域控制器后,其本地组和本地账户是被禁用的。,3.5.2用户管理,Windows系统的用户管理可以运行用户管理器(User Manager)或域用户管理器(Domain User Manager)。域用户管理器是Windows系统域服务器中的管理工具;用户管理器则出现在工作站或独立服务器的管理工具中。通过这些图形界面的管理工具,系统管理人员可以方便地进行用户和组的更改和审核。,3.6 用户组,自Windows 2000开始引入了组的概念,通过组来对网络中的众多用户进行管理。组在许多情况下是非常有用的。例如:公司的财务部门可以具有访问存储在计算机上所有财务信息的权限,因此应该在域用户管理器中创建一个称为“财务”的用户组,并且使财务部门的每个人都成为该组的一名成员。财务组的每个成员都将具有所有财务数据的访问权限。,组是指一种目录对象,也可以包含其他目录对象。如用户、计算机、联络地址以及其他组。它是活动目录(Active Directory)中特别重要的对象。合理地创建组结构就可以在用户众多和权限较复杂的网络环境中简化网络的维护和管理。,1组的种类组在Windows Server 2003中分为安全组和通信组。(1) 安全组安全组列在定义资源和对象权限的随机访问控制表(DACL)中它将用户、计算机和其他组对象作为一个可管理的单位。管理员为资源指派权限时,可以只对组作为一个单位来定义权利和权限,而不用对组中的每个用户进行操作。安全组可用作电子邮件实体,当给这种组发送电子邮件时也会将该邮件发给组中的所有成员。,(2) 通信组通信组是只用于发送电子邮件并且没有启用安全性的组。不能将通信组列在用于定义资源和对象权限的随机访问控制列表(DACL)中。通信组只能和电子邮件程序一起使用,以便将电子邮件发送到用户集合。如果需要组来控制对共享资源的访问,则创建安全组。,2组的作用域组在域树或域林中的应用范围称为组的作用域它有三种类型:(1) 通用组有通用作用域的组称为通用组。通用组的成员是域树或域林中任何域,且都可获得权限的账户。(2) 全局组有全局作用域的组称为全局组。全局组的成员可包括只在其中定义该组的域中的其他组和账户,而且可在林中的任何域中指派权限。(3) 本地组有本地作用域的组称为本地组,本地组的成员是本地域的账户。本地组主要用来指定其所属域内的存取权限。,3.7.1 注册表概述,注册表(Registry)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。,3.7.2 注册表的功能及结构,