简介
与Windows的其它版本(例如Windows3.x和9x)不同,WindowsNT/2000具有一个完整的
安全系统,它是操作系统不可分割的一部分,而且不能被禁用。Windows2000的安全系统负
责在用户登录系统时验证用户的身份;控制用户能够访问哪些资源、文件和应用程序;负责
维护对用户活动期间生成的安全时间进行审核跟踪。在Windows2000安全的所有这些方面,
注册表都扮演着一个非常重要的角色。 Windows2000安全的基础
Windows2000的安全分为三个主要的部分:用户的访问令牌,安全帐号管理器(Security
AccountsManger,SAM)的注册表项中有关每个用户访问权限的信息,以及对系统管理员有
可能审核的安全事件的记录。
1.访问令牌
访问令牌是由Windows2000安全系统创建的软件对象,它包含用户在当前工作站以及网
络中其它计算机上的特权信息。访问令牌包括的信息保存在注册表中,并可在注册表中直接
进行操作。访问令牌包括下列信息:
.用户安全ID(UserSecurityID,SID)
.组安全ID(GroupSecurityID)
.用户特权
.所有者的SID
.主组(PrimaryGroup)的SID
.缺省的访问控制列表(AccessControlList,ACL)
2.SAM注册表项
有关用户安全设置的信息保存在注册表配置单元HKEY_LOCAL_MACHINE的一个名为
SecurityAccountsManager的子项中。SAM是Windows2000负责验证来自各种系统工具用户
界面的用户登录信息有效性的服务,同时还提供包含在每个用户访问令牌中的信息。SAM注
册表项中的信息通常不会被直接操作,而是通过各种管理工具,例如系统策略编辑器,操作。
3.审核
Windows2000系统无论何时发生涉及安全的活动,都有可能产生安全事件,这些事件被
158使用Windows2000注册表管理
依次写入一个日志文件,以便日后由系统管理员审核。这个日志文件由事件查看器控制,但
是其设置是在注册表中,而且在需要时可以查看。潜在的安全事件包括:
.创建新用户/组成员变更
.程序执行/资源被访问
.登录/注销
.安全策略变更
.特权的使用
.系统事件对安全造成了影响
登录
Windows2000的安全特性在用户试图登录到Windows2000工作站的那一刻就开始工作
了。输入到登录对话框中的信息被提交给本地安全授权(LocalSecurityAuthority,LSA),这
是一种根据SAM数据库(既可以是本地的也可以是远程的,我们将在下一部分介绍)验证登录
信息有效性的系统安全服务。如果该过程成功,那么就会为该用户创建一个访问令牌并激活
它。这个令牌与一个或多个可执行程序相结合创建一个主题,接着该主题就开始访问系统。
LSA使用注册表项来确定这个过程是怎样进行的(尤其是登录过程中显示的用户界面)。
Netlogon服务
Windows2000支持多台通过Netlogon服务连接到网络上的工作站使用一个安全数据库。
Netlogon需要基于域的网络和主域控制器(primarydomaincontroller,PDC)提供的服务。在这
种情况下,登录对话框会显示一个额外的编辑控件,允许输入用来进行Netlogon验证的域名。
Netlogon的各种特性可以通过直接操作注册表来控制。
关机
安全问题还会在用户从一台工作站注销并有可能关机时发生。某些用户可能只会看到一
个注销对话框,而另外一些用户会看到对话框中有关闭工作或关闭电源的选项。注册表中包
含有控制这些特性的条目。
定位安全事件日志文件
Windows2000提供了把有关安全的事件写入日志文件的能力。注册表包含有控制这个日
志文件怎样创建和维护的设置。要查看这个日志文件的位置可以按照下面的步骤进行操作:
1)打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows
2000的根目录(通常是WINNT)为止。进入System目录并找到Regedt32.exe,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2)选择“窗口”菜单项HKEY_LOCAL_MACHINE,其子窗口显示。最大化该窗口以便
于使用。
3)使用左窗口的树型控件定位到SYSTEM\CurrentControlSet\Services\EventLog\Security
子项。单击该子项选取它,在右窗口中显示其值。
4)定位到值File的条目。File的值包含用来保存安全事件日志文件的路径和文件名。
提示Windows2000事件查看程序可以用来更改Security子项中值File的设置。
确定安全事件日志文件的最大尺寸
Windows2000提供了把有关安全事件写入日志文件的能力。注册表包含有控制这个日志
文件怎样创建和维护的设置。要查看安全事件日志文件以千字节计的最大尺寸可以按照下面
的步骤进行操作:
1)打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows
2000的根目录(通常是WINNT)为止。进入System目录并找到Regedt32.exe,将其选入对话框并
单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中。
2)选择“窗口”菜单项HKEY_LOCAL_MACHINE,其子窗口显示。最大化该窗口以便
于使用。
3)使用左窗口的树型控件定位到SYSTEM\CurrentControlSet\Services\EventLog\Security
子项。单击该子项选取它,在右窗口中显示其值。
4)定位到值MaxSize的条目。MaxSize的值包含安全事件日志文件所能达到的以千字节计
的最大尺寸。
提示Windows2000事件查看程序可以用来更改Security子项中值MaxSize的设置。
MaxSize的缺省值为512。
检查安全事件日志中事件的生存期
Windows2000提供了把有关安全的事件写入日志文件的能力。注册表包含有控制这个日
志文件怎样创建和维护的设置。要查看安全事件日志文件中事件被覆盖前将保存多长时间可
以按照下面的步骤修改注册表:
1)打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows
2000的根目录(通常是WINNT)为止。进入System目录并找到Regedt32.exe,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2)选择“窗口”菜单项HKEY_LOCAL_MACHINE,其子窗口显示。最大化该窗口以便
于使用。
3)使用左窗口的树型控件定位到SYSTEM\CurrentControlSet\Services\EventLog\Security
子项。单击该子项选取它,在右窗口中显示其值。
4)定位到值Retention的条目。Retention的值指定事件保存在日志文件中的秒数;日志文
件中任何比这个值“新”的事件都不会被覆盖,而比这个值“老”的则会被覆盖。如果某个
事件无法添加到已有的日志文件中,则发生一个日志满事件。
提示Windows2000事件查看程序可以用来更改值Retention的设置。Retention的缺
省值是604800秒(7天)。
确定一个Windows2000服务是否日志安全事件
Windows2000提供了把有关安全的事件写入日志文件的能力。注册表包含有控制这个日
志文件怎样创建和维护的设置。要确定一个Windows2000服务是否将其事件记录到安全日志
文件中可以按照下面的步骤完成操作:
1)打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows
2000的根目录(通常是WINNT)为止。进入System目录并找到Regedt32.exe,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2)选择“窗口”菜单项HKEY_LOCAL_MACHINE,其子窗口显示。最大化该窗口以便
于使用。
3)使用左窗口的树型控件定位到SYSTEM\CurrentControlSet\Services\EventLog\Security
子项。单击该子项选取它,在右窗口中显示其值。
4)定位到值Sources的条目。Sources的值包含目前将事件记录到安全事件日志中的所有服
务、应用程序、应用程序组的名称。
警告Sources的值是动态的,由Eventlog服务维护。
定位安全事件日志中的事件描述
Windows2000提供了把有关安全的事件写入日志文件的能力。注册表包含有控制这个日
志文件怎样创建和维护的设置。要解密某个服务或应用程序写到日志中的事件标识符,你可
以查看该应用程序提供的文本文件。要找到文本文件的位置,可以按照下面的步骤操作:
1)打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows
2000的根目录(通常是WINNT)为止。进入System目录并找到Regedt32.exe,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2)选择“窗口”菜单项HKEY_LOCAL_MACHINE,其子窗口显示。最大化该窗口以便
于使用。
3)使用左窗口的树型控件定位到SYSTEM\CurrentControlSet\Services\EventLog\Security [appname]子项,其中[appname]是用引号括起的应用程序或服务的名称。单击该子项选取它,
在右窗口中显示其值。
4)定位到值EventMessageFile的条目。EventMessageFile的值包含文档的路径和文件名,
而该文档包括对安全事件日志文件标识符的事件描述。
定位安全事件日志的类别描述
Windows2000提供了把有关安全的事件写入日志文件的能力。注册表包含有控制这个日
志文件怎样创建和维护的设置。要解密某个服务或应用程序写到日志中的类别标识符,你可
以查看该应用程序提供的文本文件(或者定位到一个与该应用程序相关的DLL并由附带的应用
程序提供描述)。要找到文本文件的位置,可以按照下面的步骤修改注册表:
1)打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows
第11章Windows2000的安全用用161
2000的根目录(通常是WINNT)为止。进入System目录并找到Regedt32.exe,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2)选择“窗口”菜单项HKEY_LOCAL_MACHINE,其子窗口显示。最大化该窗口以便
于使用。
3)使用左窗口的树型控件定位到SYSTEM\CurrentControlSet\Services\EventLog\Security [appname]子项,其中[appname]是用引号括起的应用程序或服务的名称。单击该子项选取它,
在右窗口中显示其值。
4)定位到值CategoryMessageFile的条目。CategoryMessageFile的值包含着文档的路径和
文件名,而该文档包括对安全事件日志文件标识符的类别描述。
提示类别和事件描述有可能被放在同一个文件中。
检测Windows2000的某种服务所支持的所有安全事件类别
Windows2000提供了把有关安全的事件写入日志文件的能力。注册表包含有控制这个日
志文件怎样创建和维护的设置。要查看某个服务或应用程序可以向日志中写入多少种类别标
识符,可以按照下面的步骤完成:
1)打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows
2000的根目录(通常是WINNT)为止。进入System目录并找到Regedt32.exe,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2)选择“窗口”菜单项HKEY_LOCAL_MACHINE,其子窗口显示。最大化该窗口以便
于使用。
3)使用左窗口的树型控件定位到SYSTEM\CurrentControlSet\Services\EventLog\Security [appname]子项,其中[appname]是用引号括起的应用程序或服务的名称。单击该子项选取它,
在右窗口中显示其值。
4)定位到值CategoryCount的条目。CategoryCount的值包含该应用程序在安全事件日志文
件标识符中所使用的类别描述的总数。
确定Windows2000的某种服务所支持的安全事件类型
Windows2000提供了把有关安全的事件写入日志文件的能力。注册表包含有控制这个日
志文件怎样创建和维护的设置。要查看某个服务或应用程序可以将哪种事件类型写入日志,
可以按照下面的步骤完成注册表的修改: