微软安全评估工具MBSA安全漏洞检查说明

  3.7.4 MBSA安全漏洞检查说明
  MBSA的安全漏洞扫描主要检查以下各项。

  1.Windows检查
  1)管理员组成员资格
  该检查将确定并列出属于本地管理员组的用户账户。如果检测出的单个管理账户数量超过两个,则该工具将列出这些账户名,并将该检查标记为一个潜在的安全漏洞。一般来说,我们建议应将管理员的数量保持在最低限度,因为管理员实际上可以对计算机具有完全控制权。
  2)审核
  该检查将确定在被扫描的计算机上是否启用了审核功能。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 XP、Windows 2000或Windows NT域,域控制器是对域登录进行身份验证,并维护该域的安全策略和安全账户主数据库的服务器。域控制器负责管理用户对网络的访问,包括登录、身份验证以及对目录和共享资源的访问。域控制器还保存所有域用户账户,包括关键的管理员账户。由于这些原因,域控制器应该被视为需要加强保护的关键资源。用户应确认自己是否真正需要将这台计算机作为域控制器,并确认是否采取了相应的步骤来加强这台计算机的访问安全。
  7)文件系统
  该检查将确定在每块硬盘上使用的是哪一种文件系统,以确保其为NTFS文件系统。NTFS是一个安全的文件系统,使用户可以控制或限制对各个文件或目录的访问。例如,如果想允许你的同事查看你的文件,但不允许他们进行更改,那么就可以通过使用NTFS提供的访问控制列表(ACL)加以实现。
  为了使该检查成功执行,驱动器必须通过管理驱动器共享区来实现共享。
  8)来宾账户
  该检查将确定在被扫描的计算机上是否启用了内置的来宾账户。
  来宾账户是一种内置账户,当一名用户在计算机或域上没有账户,或者在计算机所在的域信任的任何一个域中没有账户时,可使用这种账户登录到运行Windows 2000或Windows NT的计算机上。在使用简单文件共享的Windows XP计算机上,作为安全模型的一部分,网络上的所有用户连接都将映射到来宾账户。如果在Windows NT、Windows 2000和Windows XP计算机上(不使用简单文件共享)已启用来宾账户,则这种情况将在安全报告中作为一个安全漏洞标记出来。如果在使用简单文件共享的Windows XP计算机上已启用来宾账户,则这种情况将不会作为安全漏洞标记出来。
  9)Internet Connection Firewall
  这一检查将确定是否在被扫描的计算机(适用于Windows XP和Windows Server 2003)上,对所有的活动网络连接启用Internet Connection Firewall(Internet连接防火墙,ICF),以及是否在防火墙中开放所有的入站端口。ICF是一个防火墙软件,通过控制在用户的计算机和Internet或网络中的其他计算机间来回传递的信息,对计算机提供保护。ICF包含在Windows XP、Windows Server 2003 Standard Edition和Enterprise Edition中。
  10)本地账户密码
  该检查将找出使用空白密码或简单密码的所有本地用户账户。这一检查将不在域控制器上进行。作为一项安全措施,Windows XP、Windows 2000和Windows NT操作系统都要求通过密码进行用户身份验证。然而,任何系统的安全都取决于技术和策略(人们对系统进行设置和管理的方式)两个方面。这一检查将枚举所有用户账户并检查是否有人采用了下列密码。
  n 密码为空白。
  n 密码与用户账户名相同。
  n 密码与计算机名相同。
  n 密码使用“password”一词。
  n 密码使用“admin”或“administrator”一词。
  该检查还可通知用户任何被禁用或者当前被锁定的账户。
  MBSA将通过使用每一个上述密码来尝试更改目标计算机中的密码。如果此操作成功,则表明该账户正在使用该密码。MBSA将不重新设置或永久更改密码,但是将报告用户的密码过于简单。
  这一检查可能花很长时间,这取决于计算机上的用户账户数。因此,管理员可能想要在扫描他们所在网络的域控制器前禁用该检查。如果在计算机上启用审核功能,这一检查可能会在安全日志中产生事件日志记录。
  11)操作系统版本
  该检查将确定在被扫描的计算机上运行的
是何种操作系统。Windows XP和Windows 2000为用户所有业务活动带来了更高水准的可靠性和可用性,例如对文件权限更精确的控制等。
  12)密码过期
  该检查将确定是否有本地用户账户设置了永不过期的密码。密码应该定期更改,以降低遭到密码攻击的可能性。每个使用了永不过期的密码的本地用户账户都将被列出。
  13)限制匿名用户
  该检查将确定被扫描的计算机上是否使用了RestrictAnonymous注册表项来限制匿名连接。匿名用户可以列出某些类型的系统信息,其中包括用户名及其详细信息、账户策略和共享名。需要加强安全的用户可以限制此功能,以使匿名用户无法访问信息。
  14)共享
  该检查将确定在被扫描的计算机上是否存在共享文件夹。扫描报告将列出在计算机上发现的所有共享内容,其中包括管理共享及其共享级别和NTFS级别的权限。
  除非需要,否则用户应关闭共享区,或者应通过共享级别和NTFS级别权限,仅限特定用户进行访问,从而达到对其共享区进行保护的目的。

  2.IIS检查
  1)IIS上的MSADC和脚本虚拟目录
  该检查将确定MSADC(样本数据访问脚本)和脚本虚拟目录是否已安装在被扫描的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
  该检查将确定IIS是否在一个作为域控制器的系统上运行。这种情况将在扫描报告中作为一个严重安全漏洞加以标记,除非被扫描的计算机是一台小型企业服务器(Small Business Server)。
  建议用户不要在域控制器上运行IISWeb服务器。域控制器上有敏感的数据(如用户账户信息),不应该用做另一个角色。如果用户在一个域控制器上运行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日志记录
  该检查将确定IIS日志记录是否已启用,以及是否已使用了W3C Extended Log File Format(W3C扩展日志文件格式)。
  IIS日志记录已经超出了Windows的事件日志记录或性能监视功能的范围。日志可以包括诸如谁访问过你的站点,访问者查看了什么内容,以及最后查看信息是在什么时候之类的信息。用户可以监视对Web站点、虚拟文件夹或文件的访问尝试,包括成功或未成功的。这包括读取文件或写入文件等事件。可以选择要对任何站点、虚拟目录或文件进行审核的事件。通过定期复查这些文件,用户可以检测到你的服务器或站点中可能受到攻击或出现其他安全问题的地方。用户可以针对各Web站点分别启用日志记录,并选择日志格式。在启用了日志记录之后,也就对该站点的所有文件夹启用了日志记录,但用户也可以对特定的目录禁用日志记录。
  6)IIS父路经
  这一检查将确定在被扫描的计算机上是否启用了ASP Enable Parent Paths设置。通过在IIS上启用父路经,Active Server Pages(ASP)页就可以使用到当前目录的父目录的相对路径—使用语法的路径。
  7)IIS样本应用程序
  该检查将确定下列IIS示例文件目录是否安装在计算机上。
  n \Inetpub\iissamples。
  n \Winnt\help\iishelp。
  n \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 XP、Windows 2000和Windows NT上的一项服务,负责执行作业、监控SQL Server和发送警报。通过SQL Server代理,用户可以使用脚本化作业步骤来使某些管理任务实现自动化。作业是SQL Server代理按顺序执行的一个指定的操作序列。一项作业可以执行范围广泛的活动,其中包括运行Transact-SQL脚本、命令行应用程序和Microsoft ActiveX脚本。用户可以创建作业,以便运行经常重复或者计划的任务,作业也可以通过生成警报,自动地将它们的状态通知给用户。
  3)SQL Server本地账户密码
  该检查将确定是否有本地SQL Server账户采用了简单密码(如空白密码)。这一检查将枚举所有用户账户并检查是否有账户采用了下列密码。
  n 密码为空白。
  n 密码与用户账户名相同。
  n 密码与计算机名相同。
  n 密码使用“password”一词。
  n 密码使用“sa”一词。
  n 密码使用“admin”或“administrator”一词。
  这一检查还通知用户任何被禁用或者当前被锁定的账户。
  4)SQL Server身份验证模式
  该检查将确定被扫描的SQL Server上所用的身份验证模式。
  SQL Server为提高对该服务器进行访问的安全性提供了两种模式:Windows身份验证模式和混合模式。
  在Windows身份验证模式下,SQL Server只依赖Windows对用户进行身份验证。然后,Windows用户或组就得到授予访问SQL Server的权限。在混合模式下,用户可能通过Windows或通过SQL Server进行身份验证。经过SQL Server身份验证的用户将把用户名和密码保存在SQL Server内。强烈推荐始终使用Windows身份验证模式。
  5)Windows身份验证模式
  该安全模式使SQL Server能够像其他应用程序那样依赖Windows对用户进行身份验证。使用此模式与服务器建立的连接叫做受信任连接。
  当用户使用Windows身份验证模式时,数据库管理员通过授予用户登录到SQL Server的权限来允许他们访问运行SQL Server的计算机。Windows安全识别符(SID)
将用于跟踪使用Windows进行身份验证的用户。在使用Windows SID的情况下,数据库管理员可以将访问权直接授予Windows用户或组。
  6)混合模式
  在SQL Server中,当客户端和服务器都可以使用NTLM或Kerberos登录身份验证协议时,混合模式将依赖Windows对用户进行身份验证。如果其中某一方不能使用标准Windows登录,那么SQL Server就会要求提供用户名和密码,并将用户名和密码与存储在其系统表中的用户名和密码进行比较。依赖用户名和密码建立的连接叫做不受信任的连接。
  之所以提供混合模式,原因有二:向后兼容SQL Server的旧版本;在SQL Server安装到Windows 95和Windows 98操作系统时实现兼容(在充当服务器的Windows 95或Windows 98计算机上不支持受信任的连接)。
  7)Sysadmin角色中的SQL Server BUILTIN\Administrators
  该检查将确定内置Administrators(管理员)组是否被列为Sysadmin角色的一个成员。
  如果用户看到一条“No permissions to access database”(无权访问数据库)错误消息,则可能不具有访问MASTER数据库的权限。
  SQL Server角色是一个安全账户,它是包含有其他安全账户的一个账户集合。在对权限进行管理时,可以将之看做是一个单独的单元。一个角色可以包含SQL Server登录权限、其他角色和Windows用户账户或组。
  固定的服务器角色具有涵盖整个服务器的作用域。这些角色存在于数据库外部。一个固定服务器角色的每个成员都能够向相同角色中添加其他登录。Windows BUILTIN\- Administrators组(本地管理员的组)的所有成员在默认情况下都是Sysadmin角色的成员,从而向其赋予了对用户的所有数据库的完全访问权。
  8)SQL Server目录访问
  该检查将验证下列SQL Server目录是否都将访问权授予SQL服务账户和本地管理员。

  4.安全更新检查
  Service Pack(服务软件包)是经过全面测试的更新程序集,主要用于解决用户报告的Microsoft产品中出现的各种问题。通常,Service Pack修复产品自己公开发布它所发现的问题。Service Pack具有累积性质——每个新的Service Pack中不仅包含所有新的修补程序,同时还包含以前Service Pack中的所有修补程序。它们被设计为能确保与新发布的软件和驱动程序的平台相兼容,并包含用来修复用户发现或者通过内部测试发现的问题的更新程序。
  而即时修复程序则通常是针对一个特定的错误或安全漏洞的临时更新程序。在一个Service Pack的使用周期中提供的所有即时修复程序都将积累到后面的Service Pack中。此工具识别出的每一个安全即时修复程序,都有一个与之关联的Microsoft安全公告。该公告包含有关该修补程序的详细信息。这一检查的结果将确定缺少了哪些即时修复程序,并提供一个连接到Microsoft Web站点的链接,以便用户查看每个安全公告的详细信息。
  此工具进行的这一检查将确保用户具有针对下列产品和组件的最新Service Pack和安全更新:Windows NT 4.0(除非通过mbsacli.exe/hf进行扫描,否则只能进行远程扫描)、Windows2000/XP/Server2003、IE 5.01和后续版本(包括IE 6.0)、Windows Media Player 6.4和后续版本、IIS 4.0、5.0、5.1和6.0、SQL Server 7.0和2000(包括Microsoft DataEngine)、Exchange Server 5.5、2000和2003(包括Exchange Admin Tools)、Microsoft Office(只能进行本地扫描)、Microsoft Data Access Components(MDAC)2.5、2.6、2.7和2.8、Microsoft Virtual Machine、MS XML 2.5、2.6、3.0和4.0、Biz Talk Server 2000、2002和2004、Commerce Server 2000和2002、Content Management Server(CMS)2001和2002、SNA Server 4.0、Host Integration Server(HIS)2000和2004。

  5.桌面应用程序检查
  1)IE安全区域
  该检查将列出被扫描计算机上的每一个本地用户当前采用和建议的IE区域安全设置。
  IE Web内容区域将Internet或Intranet分成了具有不同安全级别的区域。这一功能允许用户为浏览器设置全局默认设置,以便允许受信任站点上的所有内容或者禁止某些类型的内容,如Java小程序或ActiveX控件,具体情况根据Web站点所在的区域而定。
  IE带有4个预定义的Web内容区域:Internet、本地Intranet、受信任的站点和受限制的站点。在Internet Options选项对话框中,用户可以为每一个区域设置你想要的安全选项,然后在任何区域中(Internet除外)添加站点或从中删除站点,具体情况视你对该站点设置的信任级别而定。在企业环境中,管理员可以为用户设置区域。他们还可以(预先)添加他们信任的或删除他们不信任的软件发布者的身份验证证书,这样用户就不必在使用Internet时再作出安全决定了。
  对于每个安全区域,用户可以选择高、中和低3个级别,或者自定义安全设置。Microsoft建议,对于那些不能确定是否可信任的区域内的站点,应将安全性设置为高。自定义选项为高级用户和管理员提供了针对所有安全选项的更多的控制权,其中包括下列几项。
  n 对文件、ActiveX控件和脚本的访问。
  n 提供给Java小程序的功能级别。
  n 带有安全套接字层(SSL)身份验证的站点身份指定。
  n 带有NTLM身份验证的密码保护(根据服务器所在的区域,Internet Explorer可以自动发送密码信息,提示用户输入用户和密码信息,或者干脆拒绝任何登录请求)。
  2)面向管理员的IE增强安全配置
  该检查可识别出运行Windows Server 2003的计算机上,是否已经启用针对管理员的IE增强安全配置(Enhanced Security Configuration)。如果已经安装了针对管理员的IE增强安全配置,这一检查还会识别出禁用该IE增强安全配置的管理员。
  3)面向非管理员的IE增强安全配置
  该检查可识别出在运行Windows Server 2003的计算机上,是否已经启用用于非管理员的用户的Internet Explorer增强安全配置(Enhanced Security Configuration)。如IE Internet Explorer增强安全配置的非管理员用户。
  4)Office宏保护
  该检查将对每个用户逐一确定Microsoft Office XP、Office 2000和Office 97宏保护的安全级别。MBSA还将对PowerPoint、Word、Excel和Outlook进行检查。
  宏能够将重复的任务自动化。这样可以节省时间,但也会被用于传播病毒,例如,当一个用户打开一个包含恶意宏的受感染文档时。打开或者共享一个受感染的文档会使恶意宏蔓延到系统上的其他文档,或者传播给其他用户。