转自微软白皮书。由于字数限制,只能分两次发了。可以根据这些解释来进行分析。
1.Windows 检查<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

(1). 管理员组成员资格

该检查将确定并列出属于本地管理员组的用户帐户。如果检测出的单个管理帐户数量超过两个,则该工具将列出这些帐户名,并将该检查标记为一个潜在的安全漏洞。一般来说,我们建议应将管理员的数量保持在最低限度,因为管理员实际上可以对计算机具有完全控制权。

(2). 审核

该检查将确定在被扫描的计算机上是否启用了审核功能。Microsoft Windows 具有一个审核特性,可跟踪和记录您的系统上的特定事件,如成功的和失败的登录尝试。通过监视系统的事件日志,您可以发现潜在的安全问题和恶意活动。

(3). 自动登录

该检查将确定在被扫描的计算机上是否启用了自动登录功能,以及登录密码是在注册表中以加密还是以明文形式存储的。如果自动登录已启用并且登录密码以明文形式存储,那么安全报告就会将这种情况作为一个严重的安全漏洞反映出来。如果自动登录已启用而且密码以加密形式存储在注册表中,那么安全报告就会将这种情况作为一个潜在的安全漏洞标记出来。

注意:如果您看到一条“Error Reading Registry”(读取注册表时出错)消息,则表示您的远程注册表服务可能还未启用。

自动登录将您的登录名和密码存储在注册表中,这样,您就可以自动登录到 Windows 2000 Windows NT,而不必在登录用户界面时输入您的用户名或密码。然而,自动登录也会允许其他用户访问您的文件,并使用您的姓名在系统上进行恶意破坏(例如,可在物理上接触该计算机的任何人都可以启动操作系统并进行自动登录)。如果您启用了自动登录功能,而又不想改变这种情况,则要确保在该计算机上没有存储任何敏感的信息。由于在物理上能够接触您的计算机的任何人都可以使用自动登录功能,因此您只能在非常值得信赖和安全的环境中使用这项功能。

您可以将用来进行自动登录的密码以明文形式存储在注册表中,也可以将其加密为本地安全认证(LSA)机密。

(4). 自动更新

该检查将确定是否在被扫描的计算机上启用自动更新功能以及在启用的情况下如何进行配置。自动更新功能可以使您的计算机自动与 Windows 的最新更新保持同步,即将更新程序从 Windows Update 站点(或者如果您在托管环境中,就可以从本地 Software Update Services (SUS) 服务器进行下载)直接传递到您的计算机上。自动更新可用于 Windows 2000 SP3 及更高版本。

自动更新可以配置为在计算机上自动下载和安装更新;自动下载但在安装前通知用户即将进行的更新;或在计算机上下载和安装更新前通知用户。

(5). 检查是否存在不必要的服务

该检查将确定被扫描计算机上的 services.txt 文件中是否包含有已启用的服务。services.txt 文件是一个可配置的服务列表,这些服务都不应该在被扫描的计算机上运行。此文件由 MBSA 安装并存储在该工具的安装文件夹中。该工具的用户应配置 services.txt 文件,以便包括在各台被扫描的计算机上所要检查的那些特定服务。默认情况下,与该工具一起安装的 services.txt 文件包含下列服务:

MSFTPSVC (FTP)

TlntSvr (Telnet)

W3SVC (WWW)

SMTPSVC (SMTP)

服务是一种程序,只要计算机在运行操作系统,其就在后台运行。服务不要求用户必须进行登录。服务用于执行不依赖于用户的任务,如:等待信息传入的传真服务)。

(6). 域控制器

该检查将确定正在接受扫描的计算机是否为一个域控制器。

对于 Windows XPWindows 2000 Windows NT 域,域控制器是对域登录进行身份验证,并维护该域的安全策略和安全帐户主数据库的服务器。域控制器负责管理用户对网络的访问,包括登录、身份验证以及对目录和共享资源的访问。域控制器还保存所有域用户帐户,包括关键的管理员帐户。由于这些原因,域控制器应该被视为需要加强保护的关键资源。您应确认自己是否真正需要将这台计算机作为域控制器,并确认您是否采取了相应的步骤来加强这台计算机的访问安全。

(7). 文件系统

该检查将确定在每块硬盘上使用的是哪一种文件系统,以确保其为 NTFS 文件系统。NTFS 是一个安全的文件系统,使您可以控制或限制对各个文件或目录的访问。例如,如果您想允许您的同事查看您的文件,但不允许他们进行更改,那么就可以通过使用 NTFS 提供的访问控制列表(ACL)加以实现。

注意:为了使该检查成功执行,驱动器必须通过管理驱动器共享区来实现共享。

(8). 来宾帐户

该检查将确定在被扫描的计算机上是否启用了内置的来宾帐户。

来宾帐户是一种内置帐户,当一名用户在计算机或域上没有帐户,或者在计算机所在的域信任的任何一个域中没有帐户时,可使用这种帐户登录到运行 Windows 2000 Windows NT 的计算机。在使用简单文件共享的 Windows XP 计算机上,作为安全模型的一部分,网络上的所有用户连接都将映射到来宾帐户。如果在 Windows NTWindows 2000 Windows XP 计算机上(不使用简单文件共享)已启用来宾帐户,则这种情况将在安全报告中作为一个安全漏洞标记出来。如果在使用简单文件共享的 Windows XP 计算机上已启用来宾帐户,则这种情况将不会作为安全漏洞标记出来。

(9). Internet Connection Firewall

这一检查将确定是否在被扫描的计算机(适用于 Windows XP Windows Server 2003)上对所有的活动网络连接启用 Internet Connection FirewallInternet 连接防火墙,ICF),以及是否在防火墙中开放所有的入站端口。ICF 是一个防火墙软件,通过控制在您的计算机和 Internet 或网络中的其他计算机间来回传递的信息,对计算机提供保护。ICF 包含在 Windows XP Windows Server 2003 Standard Edition Enterprise Edition 中。

(10). 本地帐户密码

该检查将找出使用空白密码或简单密码的所有本地用户帐户。这一检查将不在域控制器上进行。作为一项安全措施,Windows XPWindows 2000 Windows NT 操作系统都要求通过密码进行用户身份验证。然而,任何系统的安全都取决于技术和策略(人们对系统进行设置和管理的方式)两个方面。这一检查将枚举所有用户帐户并检查是否有人采用了下列密码:

·          密码为空白

·          密码与用户帐户名相同

·          密码与计算机名相同

·          密码使用“password”一词

·          密码使用“admin”“administrator”一词

该检查还可通知您任何被禁用或者当前被锁定的帐户。

MBSA 将通过使用每一个上述密码来尝试更改目标计算机中的密码。如果此操作成功,则表明该帐户正在使用该密码。MBSA 将不重新设置或永久更改密码,但是将报告您的密码过于简单。

您应该注意到这一检查可能花很长时间,这取决于计算机上的用户帐户数。因此,管理员可能想要在扫描他们所在网络的域控制器前禁用该检查。

注意:如果在计算机上启用审核功能,这一检查可能会在安全日志中产生事件日志记录。

(11). 操作系统版本

该检查将确定在被扫描的计算机上运行的是何种操作系统。Windows XP Windows 2000 为您的所有业务活动带来了更高水准的可靠性和可用性,例如对文件权限更精确的控制。

(12). 密码过期

该检查将确定是否有本地用户帐户设置了永不过期的密码。密码应该定期更改,以降低遭到密码***的可能性。每个使用了永不过期的密码的本地用户帐户都将被列出。

(13). 限制匿名用户

该检查将确定被扫描的计算机上是否使用了 RestrictAnonymous 注册表项来限制匿名连接。

匿名用户可以列出某些类型的系统信息,其中包括用户名及其详细信息、帐户策略和共享名。需要加强安全的用户可以限制此功能,以使匿名用户无法访问信息。

(14). 共享

该检查将确定在被扫描的计算机上是否存在共享文件夹。扫描报告将列出在计算机上发现的所有共享内容,其中包括管理共享及其共享级别和 NTFS 级别的权限。

除非需要,否则您应关闭共享区,或者应通过共享级别和 NTFS 级别权限,仅限特定用户进行访问,从而达到对其共享区进行保护的目的。

2. IIS 检查

(1). IIS 上的 MSADC 和脚本虚拟目录

该检查将确定 MSADC(样本数据访问脚本)和脚本虚拟目录是否已安装在被扫描的 Internet Information Services (IIS)计算机上。这些目录通常包含一些不需要时就应该删除的脚本,将其删除可缩小计算机受***的范围。

IIS 锁定工具将关闭 IIS 中不必要的功能(比如该功能),从而减少系统暴露给***者的机会。

(2). IISADMPWD 虚拟目录

该检查将确定 IISADMPWD 目录是否已安装在被扫描的计算机上。IIS 4.0 能让用户更改他们的 Windows 密码并通知用户他们的密码即将到期。IISADMPWD 虚拟目录包含了此功能所要使用的文件,在 IIS 4.0 中,IISADMPWD 虚拟目录将作为默认 Web 站点的组成部分进行安装。此功能是作为一组 .htr 文件和一个名为 Ism.dll ISAPI 扩展加以实现的,.htr 文件位于 \System32\Inetsrv\Iisadmpwd 目录中。

(3). 域控制器上的 IIS

该检查将确定 Internet Information Services (IIS)是否在一个作为域控制器的系统上运行。这种情况将在扫描报告中作为一个严重安全漏洞加以标记,除非被扫描的计算机是一台小型企业服务器(Small Business Server)。

我们建议您不要在域控制器上运行 IIS Web 服务器。域控制器上有敏感的数据(如:用户帐户信息),不应该用作另一个角色。如果您在一个域控制器上运行 Web 服务器,则增加了保护服务器安全和防止***的复杂性。

(4). IIS 锁定工具

该检查将确定 IIS Lockdown 工具的 2.1 版本(Microsoft Security Tool Kit 的一部分)是否已经在被扫描的计算机上运行。IIS Lockdown 工具的工作原理是关闭 IIS 中不必要的功能,从而缩小***者可以利用的***面。

Windows Server 2003 的全新安装中,IIS 6.0 不需要 IIS Lockdown 工具,因为其已默认锁定(在配置 IIS 角色时,必须由 IIS Administrator 直接启用服务)。对于从 IIS 5.0 安装升级到 IIS 6.0,应该使用 IIS Lockdown 来确保仅在服务器上启用了所需的服务。

(5). IIS 日志记录

该检查将确定 Internet Information Services (IIS)日志记录是否已启用,以及是否已使用了 W3C Extended Log File FormatW3C 扩展日志文件格式)。

IIS 日志记录已经超出了 Windows 的事件日志记录或性能监视功能的范围。日志可以包括诸如谁访问过您的站点,访问者查看了什么内容,以及最后查看信息是在什么时候之类的信息。您可以监视对 Web 站点、虚拟文件夹或文件的访问尝试,包括成功或未成功的。这包括读取文件或写入文件等事件。可以选择要对任何站点、虚拟目录或文件进行审核的事件。通过定期复查这些文件,您可以检测到您的服务器或站点中可能受到***或出现其他安全问题的地方。您可以针对各 Web 站点分别启用日志记录,并选择日志格式。在启用了日志记录之后,也就对该站点的所有文件夹启用了日志记录,但您也可以对特定的目录禁用日志记录。

(6). IIS 父路经

这一检查将确定在被扫描的计算机上是否启用了 ASPEnableParentPaths 设置。通过在 IIS 上启用父路经,Active Server PageASP)页就可以使用到当前目录的父目录的相对路径——即使用 .. 语法的路径。

(7). IIS 样本应用程序

该检查将确定下列 IIS 示例文件目录是否安装在计算机上:

\Inetpub\iissamples

\Winnt\help\iishelp

\Program Files\common files\system\msadc

通常与 IIS 一起安装的样本应用程序会显示动态 HTML (DHTML) Active Server Pages (ASP)脚本并提供联机文档。

3. SQL 检查

MBSA V1.2 对在被扫描的计算机中发现的 SQL Server MSDE 的所有实例进行扫描。

(1). Sysadmin 角色的成员

该检查将确定 Sysadmin 角色的成员数量,并将结果显示在安全报告中。

SQL Server 角色用于将具有相同操作权限的登录组合到一起。固定的服务器角色 Sysadmin 将系统管理员权限提供给它的所有成员。

注意:如果您看到一条“No permissions to access database”(无权访问数据库)错误消息,则您可能没有访问 MASTER 数据库的权限。

(2). 仅将 CmdExec 权限授予 Sysadmin

该检查将确保 CmdExec 权限仅被授予 Sysadmin。其他所有具有 CmdExec 权限的帐户都将在安全报告中列出。

SQL Server 代理是 Windows XPWindows 2000 Windows NT 上的一项服务,负责执行作业、监控 SQL Server 和发送警报。通过 SQL Server 代理,您可以使用脚本化作业步骤来使某些管理任务实现自动化。作业是 SQL Server 代理按顺序执行的一个指定的操作序列。一项作业可以执行范围广泛的活动,其中包括运行 Transact-SQL 脚本、命令行应用程序和 Microsoft ActiveX 脚本。用户可以创建作业,以便运行经常重复或者计划的任务,而作业也可以通过生成警报自动将它们的状态通知给用户。

(3). SQL Server 本地帐户密码

该检查将确定是否有本地 SQL Server 帐户采用了简单密码(如:空白密码)。这一检查将枚举所有用户帐户并检查是否有帐户采用了下列密码:

·          密码为空白

·          密码与用户帐户名相同

·          密码与计算机名相同

·          密码使用“password”一词

·          密码使用“sa”一词

·          密码使用“admin”“administrator”一词

这一检查还通知您任何被禁用或者当前被锁定的帐户。

(4). SQL Server 身份验证模式

该检查将确定被扫描的 SQL Server 上所用的身份验证模式。

Microsoft SQL Server 为提高对该服务器进行访问的安全性提供了两种模式:Windows 身份验证模式和混合模式。

Windows 身份验证模式下,Microsoft SQL Server 只依赖 Windows 对用户进行身份验证。然后,Windows 用户或组就得到授予访问 SQL Server 的权限。在混合模式下,用户可能通过 Windows 或通过 SQL Server 进行身份验证。经过 SQL Server 身份验证的用户将把用户名和密码保存在 SQL Server 内。Microsoft 强烈推荐始终使用 Windows 身份验证模式。

Windows 身份验证模式

该安全模式使 SQL Server 能够像其他应用程序那样依赖 Windows 对用户进行身份验证。使用此模式与服务器建立的连接叫做受信任连接。

当您使用 Windows 身份验证模式时,数据库管理员通过授予用户登录到 SQL Server 的权限来允许他们访问运行 SQL Server 的计算机。Windows 安全识别符(SID)将用于跟踪使用 Windows 进行身份验证的用户。在使用 Windows SID 的情况下,数据库管理员可以将访问权直接授予 Windows 用户或组。

混合模式

SQL Server 中,当客户端和服务器都可以使用 NTLM Kerberos 登录身份验证协议时,混合模式将依赖 Windows 对用户进行身份验证。如果其中某一方不能使用标准 Windows 登录,那么 SQL Server 就会要求提供用户名和密码,并将用户名和密码与存储在其系统表中的用户名和密码进行比较。依赖用户名和密码建立的连接叫做不受信任的连接。

之所以提供混合模式,原因有二:1) 向后兼容 SQL Server 的旧版本;2) SQL Server 安装到 Windows 95 Windows 98 操作系统时实现兼容。(在充当服务器的 Windows 95 Windows 98 计算机上不支持受信任的连接。)

(5). Sysadmin 角色中的 SQL Server BUILTIN\Administrators

该检查将确定内置 Administrators(管理员)组是否被列为 Sysadmin 角色的一个成员。

注意:如果您看到一条“No permissions to access database”(无权访问数据库)错误消息,则可能不具有访问 MASTER 数据库的权限。

SQL Server 角色是一个安全帐户,其是包含有其他安全帐户的一个帐户集合。在对权限进行管理时,可以将之看作是一个单独的单元。一个角色可以包含 SQL Server 登录权限、其他角色和 Windows 用户帐户或组。

固定的服务器角色具有涵盖整个服务器的作用域。这些角色存在于数据库外部。一个固定服务器角色的每个成员都能够向相同角色中添加其他登录。Windows BUILTIN\Administrators 组(本地管理员的组)的所有成员默认情况下都是 sysadmin 角色的成员,从而向其赋予了对您的所有数据库的完全访问权。

(6). SQL Server 目录访问

该检查将验证下列 SQL Server 目录是否都只将访问权授予 SQL 服务帐户和本地管理员:

·          Program Files\Microsoft SQL Server\MSSQL$InstanceName\Binn

·          Program Files\Microsoft SQL Server\MSSQL$InstanceName\Data

·          Program Files\Microsoft SQL Server\MSSQL\Binn

·          Program Files\Microsoft SQL Server\MSSQL\Data

该工具将扫描这些文件夹中每个文件夹上的访问控制列表(ACL),并枚举出 ACL 中包含的用户。如果任何其他用户(除 SQL 服务帐户和管理员以外)具有读取或修改这些文件夹的访问权,则该工具将在安全报告中将此检查标记为一个安全漏洞。

(7). SQL Server 公开的 sa 帐户密码

这一检查将确定 SQL 7.0 SP1SP2 SP3 sa 帐户密码是否以明文形式写入 %windir% %windir%\%temp% 目录的 setup.iss sqlstp.log\sqlspX.log 文件中。在 SQL 2000 中,如果域凭证用于启动 SQL Server 服务,则也会检查 splstp.log\sqlspX.log 文件。

如果在设置 SQL Server 时使用混合模式身份验证,则 sa 密码以明文形式保存在 SQL Server 7.0 SP1SP2 SP3 setup.iss sqlstp.log 文件中。如果使用 Windows 身份验证模式(推荐模式)的管理员选择提供在自动启动 SQL Server 服务时使用的域凭证,他们只会使凭证处于危险境地。

(8). SQL Server 来宾帐户

该检查将确定 SQL Server 来宾 帐户是否具有访问数据库(Mastertempdb msdb 除外)的权限。该帐户具有访问权的所有数据库都将在安全报告中列出。

注意:如果您看到一条“No permissions to access database”(无权访问数据库)错误消息,则您可能不具有访问 MASTER 数据库的权限。

SQL Server 中,一个用户登录帐户必须以下列方式之一获得访问数据库及其对象的授权。

1.  登录帐户可以被指定为一个数据库用户。

2.  登录帐户可以使用数据库中的来宾帐户。

3.  Windows 组登录可以映射到一个数据库角色。然后,属于该组的单个 Windows 帐户都可以连接到该数据库。

db_owner db_accessadmin 数据库角色的成员或者 Sysadmin 固定服务器角色成员都可以创建数据库用户帐户角色。一个帐户可以有多个参数:SQL Server 登录 ID、数据库用户名(可选)和最多一个角色名称(可选)。数据库用户名称可以与用户的登录 ID 不同。如果未提供数据库用户名,则该用户的登录 ID 和数据库用户名完全相同。创建数据库用户后,可以根据需要为该用户分配任意数量的角色。如果未提供角色名称,则该数据库用户只是公共角色的一个成员。

db_ownerdb_accessadmin sysadmin 角色的成员还可以创建来宾帐户。来宾帐户允许任何合法的 SQL Server 登录帐户即使没有数据库用户帐户也能访问数据库。默认情况下,来宾帐户将继承分配给公共角色的所有特权;不过,这些特权可以被更改,使其权限大于或小于公共角色特权。

(9). 域控制器上的 SQL Server

该检查将确定 SQL Server 是否在一个担当域控制器的系统上运行。我们建议您不要在一个域控制器上运行 SQL Server。域控制器包含有敏感数据(如:用户帐户信息),不应该用作另一个角色。如果您在一个域控制器上运行 SQL Server,则增加了保护服务器安全和防止***的复杂性。

(10). SQL Server 注册表项安全

该检查将确保 Everyone(所有人)组对下列注册表项的访问权被限制为读取权限:

HKLM\Software\Microsoft\Microsoft SQL Server

HKLM\Software\Microsoft\MSSQLServer

如果 Everyone 组对这些注册表项的访问权限高于读取权限,则这种情况将在安全扫描报告中被标记为严重安全漏洞。

(11). SQL Server 服务帐户

该检查将确定 SQL Server 服务帐户在被扫描的计算机上是否为本地或域管理员组的成员,或者是否有 SQL Server 服务帐户正在 LocalSystem 上下文中运行。

在被扫描的计算机上,MSSQLServer SQLServerAgent 服务帐户都要经过检查。

注意:如果您看到一条“No permissions to access database”(无权访问数据库)错误消息,则可能不具有访问 MASTER 数据库的权限。