您所在的位置:欢聚电脑网 > 网络技术 > 网络安全 > 正文

IIS 6.0 安全

时间:11-28 关键字:网络 来源:www.huanju.org

作为全球网络破坏者和蠕虫的编译者的主要目标的流行的Web服务器,使得IIS成为微软值得信赖电脑行动中的焦点。IIS已经完成对默认设置和安全的重新设计。这篇文章讨论了在IIS6.0中为了获得更安全的重要的网络应用平台而对主要的默认配置和设计的改变。

默认的安全性

在过去,包括微软在内的厂商打包一系列的样本脚本,文件处理和给管理员提供的必要的便于是用的小型的文件系统许可在网络服务器默认安装程序中。然而,这样一来增加了被攻击的可能性,而且也是多种对IIS进行攻击的基础。因此,IIS6.0比其以前的版本都要安全。其中最为显著的改变是IIS6.0不是作为windows server 2003的缺省安装。其他的改变包括:

• 缺省安装只是一个静态HTTP服务器
IIS6.0默认安装被配置只用来服务于静态HTML页面;动态内容是不被许可的。下面的图表比较了IIS5.0和IIS6.0的缺省设置的优势。


• 没有强行安装的样本应用软件
IIS6.0没有包括任何像showcode.asp和codebrws.asp的样本脚本和应用软件。原本是为了满足程序员编译的目的,让他们快速的看到数据库连接代码而设计的这些程序。然而,Showcode.asp 和codebrws.asp不可以正确的检查输入来确定需求的文档是在网络根目录下的。这给攻击者造成机会来读系统中任何文档(这其中包括了那些有敏感信息和有重要意义的配置设定)。建议阅读以下连接来了解这些漏洞。
asp?url=/technet/security/bulletin/MS99-013.asp" target=_blank>http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS99-013.asp


• 改进文件系统访问控制
匿名用户不再有权限在Web Sever的目录写。另外FTP用户隔离在他们自己的路径下面。这些限制保护用户不会令别人上传恶意文件到服务器文件系统的其他部分。

• 没有可执行的实质上的路径
他们没有提供实质性目录的可执行许可。这样就避免了像以往的版本中存在的大量的路径traversal ,代码上传和MDAC的使。

• 去掉了子授权模型
IISSUBA.dll已经从IIS6.0中去除了。任何在以前IIS版本中有这样的功能的账号需要有"access this computer from the network" 的权限。去掉这个dll后,也就去除了这样的依存的关系,并通过迫使所有得授权直接指向SAM或者能起作用的路径减少了被攻击的可能性。

• 父路径收到了限制
访问文件系统中的父路径被默认取消了。这样可以防止可能允许攻击者Web文件系统的根和获得访问敏感文件的权限的路径traversal攻击,例如SAM文件。然而,这也可能造成在以前IIS版本中利用父路径来移动应用程序的问题。

通过设计来保护

基本设计改变IIS6.0的组成,其中包括改良了data validation, 增强了日志功能,rapid-fail protection, 应用隔离,而且本着不违背最终权限的原则。

改进data validation

在IIS6.0的设计中一个主要的新的功能是核心的HTTP驱动, HTTP.sys. 这不仅仅是要提高Web服务器的性能和可测量的特点,也是要明显的强化服务器的安全情况。HTTP.sy担当用户访问Web服务器的网关的职责。第一步,他先提出请求,然后发送请求到适当的用户层来处理。这种对用户模式处理的约束防止了他们访问系统内核的特殊权限资源。这样,攻击者企图访问的服务器的目标部分被很大程度上限制了。

核心模式驱动合并了很多安全机制来增强IIS6.0原本的安全。这些特点包括针对潜在缓存溢出的保护,改善的日志机制帮助事件响应处理和改进URL分析来检查用户要求的合法性。

为了及时阻止随后可能发生的主要的缓存或者内存溢出漏洞, 微软已经在IIS6.0的设计中采取了深层防御安全原则。该技术已经通过加明确的URL分析能力到HTTP.sys的特点当中。这些性能使得可以通过改变细节注册值做进一步的调整。下面的图表提供了重要的注册关键字的简要介绍:


提高日志机制

全面的日志是一个作为成功检测和响应一个安全事件的基本要求。微软已经验证了这个需求,并在HTTP.sys中实现了一个广阔和可靠的日志体系。HTTP.sys在发送请求到专门的进程之前先记录到日志当中。 这样可以保证尽管进程终止错误的情况也会被记录。每个日志的记录都将包括发生错误情况的日期和时间,目标与源IP地址和端口,协议版本,HTTP动词,URL, 协议状态, 网站Id和HTTP.sys 原因描述。无论是因为没有预期到的归结于超时或者连接被断开而终止,这个原因描述提供了关于错误发生的细节信息。

一个HTTP.sys日志文件录入的例子可以在下面的链接中看到:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/iis/iis6/proddocs/resguide/iisrg_log_qlow.asp


Rapid-Fail 保护

除了分析注册表外,一个IIS6.0的管理员也可以配制服务器为自动关机或者重启那些在一段时间内反复失败的进程。这个附加的防范是为了保护那些可能由于攻击造成的应用程序反复失败. 这个特点叫做Rapid-Fail 保护.
Rapid-Fail 保护能按照下面步骤通过IIS manager进行配置:

1. 在 IIS Manager, 打开local computer.
2. 打开 Application Pools
3. 右键击application pool
4. 点击 Properties
5. 在 Health 标签上, 选择 Enable rapid-fail protection
6. 在 Failures选项框中, 健入可以允许的失败次数(在停止进程值前)。
7. 在 Time Period 选项中, 标明进程失败在多少分钟内是允许的。

应用程序孤立

在以前的IIS版本中, 对于隔离Web应用程序为独立个体的行为会被停止。因此在Web服务器上一个Web应用程序的失败或者危及安全问题不会影响其他在同一个服务器上的应用程序。然而,在IIS6.0请求处理结构设计方面的改进已经使其成为独立成为一个孤立的叫做应用程序池的个体。通常由一个或多个进程服务于一个应用程序池。 这样就允许定位错误的位置,防范一个进程的故障影响其他的。这个也推动了服务器和服务器上的应用程序的可靠性

坚持最小特权原则

IIS 6.0 坚持最基本的特权原则 – 最小特权原则. 所有的在HTTP.sys中需要运行本地系统(高级)权限的代码全部包含在其中。所有的工作进程作为网络服务器运行,一种新的windows 2003新的有限制操作系统权限的账户类型。此外, IIS 6.0只允许系统管理员运行命令行工具, 从而来防范对这些工具的恶意使用. 这个设计的改变减少了通过潜在攻击漏洞对服务器安全的威胁。部分基础设计的改变、一些简单配置的更改—其中包括拒绝匿名用户对Web服务器主目录写权限和只允许FTP用户访问其自己的主目录、以及很大程度上的改善了IIS6.0的安全状态。

IIS 6.0 是微软帮助和正确指导其他组织改善安全特性的一个步骤。他为了Web应用程序提供了一个可信赖的和安全的基础结构。改善了的安全措施能够作为默认的安全配置属性, 明显强调IIS6.0服务器在设计工程中的安全和改善了监测和日志记录能力。然而,管理员应该不会因为简单的移植到这个平台而有错误的感觉,而结合他与执行和复合安全层面。这个与为了针对红色代码和Nimda威胁的安全深层防御原则是一致的。

如果这篇文章对你有帮助,就请点个赞吧!
休息一下