文章导航绿软下载站软件下载安卓资源苹果资源专题

您当前所在位置:首页服务器WEB服务器 → 彻底掌握IIS6.0功能及应用详(下)

彻底掌握IIS6.0功能及应用详(下)

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  前文介绍了IIS 6.0的安装和Web服务器的新型体系结构。IIS 6.0新特性的数量多得令人惊奇,其中一些特性是如此引人注目,以至于人们的大部分注意力都被它们吸引。在这第二篇介绍IIS 6.0的文章中,我们不仅将了解这些已成为"明星"的特性,还将关注一下IIS 6.0各种较少有人注意却同样重要的改进之处。

  一、安全

  微软一次又一次地做着同样一件事情——某个软件产品出了问题,饱受人们诟病,于是赶紧发布新的版本将问题解决。例如,发布Windows NT 4.0之后,因稳定性问题而饱受批评;于是微软发布了Windows 2000,新操作系统的稳定性颇受好评,但Win 2K服务器默认安装的IIS 5.0却成了巨大的安全隐患,需要下大力气加以整治才能解决问题。IIS 6.0默认不安装,如果按照缺省方式安装,Web服务器只能提供静态内容服务。因此,从这个角度看,即使以后IIS 6.0应用引擎和组件突然出现了问题,IIS 6.0还是极大地降低了安全风险。另外,Windows Server 2003还有一个新的组策略"禁止安装IIS",有了该组策略,我们就可以禁止Windows 2003在活动目录(AD)森林中禁止不准备作Web服务器用的机器上安装IIS 6.0,防止网络上出现根本无用的、不安全的IIS 6.0服务器。不过,目前这个组策略只对Windows 2003服务器有效,不能防止Windows XP Pro和Win 2K的机器安装IIS 5.0。

  当然,由于刚刚安装好的IIS 6.0不支持动态内容,所以出现了第二个人们经常会问的问题:"为什么我的服务器不能运行ASP?"(前文提到,第一个人们经常会问的问题是:"IIS 6.0可以在Win 2K服务器上运行吗"?答案是"不")。要想在IIS 6.0上运行程序,必须使用IIS 6.0的一种新特性,即Web服务扩展,或Web Service Extension(这个名字似乎意味着它与XML Web服务有某种关系,实际情况并非如此。)

  如果要为某个程序启用Web服务扩展,首先打开IIS管理器(在"控制面板"→"管理工具"中。以前叫做Internet服务管理器或ISM),如图一,点击"添加一个新的Web服务扩展",启动向导创建一个新的规则。为规则指定一个名字,然后找到想要启用的执行文件。另外,\system32\inetsrv下有一个iisext.vbs脚本,它也能够配置并管理运行带有IIS 6.0的Windows Server 2003的Web服务扩展、应用程序和单独的文件。管理员可以使用此脚本来启用和列出应用程序;添加和删除应用程序依赖性;启用、禁用和列出 Web 服务扩展;添加、删除、启用、禁用和列出单独文件。



图一
  在图一中,注意"所有未知ISAPI扩展"和"所有未知CGI扩展"这两种Web服务扩展。默认情况下,这两种扩展是禁用的,意味着除非明确地允许一个应用在IIS 6.0上运行,否则它就不能运行。如果一个用户请求了某个没有启用的文件,IIS 6.0将向用户返回404错误——文件或目录没有找到,同时在W3SVC日志中记录"404.2文件或目录无法找到:锁定策略禁止该请求"。在IIS 6.0中,404.2和其他子状态代码是W3SVC日志文件的一项可选功能,用来帮助排解故障、疑难(IIS 5.0和IIS 4.0中也有子状态代码,不过不会在日志文件中记录,但可以将它们转到定制的错误页面,便于根据子状态代码执行特殊的处理)。IIS 6.0的子状态代码很有用,它们提供了描述问题的详细信息,例如:403.20,禁止访问:Passport登录失败;403.18,禁止访问:无法在当前应用程序池中执行请求的URL;404.3,文件或目录无法找到:MIME映射策略禁止该请求;500.19,服务器错误:该文件的数据在配置数据库中配置不正确。所有这些错误和其他错误都映射到定制的错误页面,错误页面不会把子状态代码发送给用户,攻击者无法获知具体的错误信息。
  另一个安全方面的改进之处是IIS 6.0允许指派一个加密服务提供者(Cryptographic Service Provider,CSP),能够将基于硬件的安全套接字层(SSL)加速器集成到IIS 6.0,从而把加密任务从服务器的通用CPU转移到了专门为加密操作而优化的专用设备,有利于提高性能和可靠性。
  二、配置数据
  在IIS 5.0和IIS 4.0中,配置数据库采用二进制文件结构,但IIS 6.0放弃了这一做法。IIS 6.0的配置数据由两个XML文件构成:一个是Metabase.xml,包含IIS 6.0服务器的配置信息;另一个是mbschema.xml,包含配置数据的模式定义。IIS管理器提供了一项新的功能,允许保存配置数据副本,只要右击Web网站,然后选择"所有任务"→"将配置保存到一个文件",然后指定配置数据副本的文件名字和保存路径即可。按照这种方式保存配置数据时,IIS 6.0利用系统的机器码(Machine Key)加密配置数据的某些部分,因此,配置数据的副本只对创建该副本的机器有用。
 
  不过,在"将配置保存到一个文件"对话框中,我们可以选中"用密码对配置进行加密"选项,然后指定密码,用密码来保护导出的配置文件。如果提供了密码,IIS 6.0将用密码来替代机器码,以后只要提供同一个密码,就可以将配置数据导入到另一个服务器。另外,我们可以使用命令行脚本iisback.vbs(在systemroot\System32中)创建和管理远程或本地计算机的IIS配置的备份副本,管理员可以使用此脚本工具创建其IIS配置的备份副本,从备份副本还原IIS配置以及列出和删除备份副本。
  有些时候,我们只要保存某个应用程序池、Web网站或虚拟目录的配置,而不是保存全部的配置信息,这时可以按照如下步骤操作:右击要保持配置信息的对象,选择菜单"所有任务"→"将配置保存到一个文件",如图二所示,如果准备将配置数据导入到另一个服务器,必须提供加密文件的密码。



图二

  如果右击一个应用程序池、Web网站组或单个网站,然后选择"新建"→"应用程序池(来自文件)",或者"新建"→"网站"→"来自文件",或者"新建"→"虚拟目录(来自文件)",就可以从保存的配置文件创建新的应用程序池、Web网站或虚拟目录。因此,必要的时候,我们可以只创建和配置一个对象,利用"将配置保存到一个文件"功能导出对象的配置信息,然后利用"新建"→"虚拟目录(来自文件)"等功能将配置信息导入到多个Web网站。这就是说,我们可以先精心配置一个模板,然后用它来创建和配置新的网站。当然,出现问题时,配置信息副本还可以用来恢复网站的设置。

  由于IIS 6.0配置信息是可移植的,它还有另外一个好处,这就是方便了升级。假设我们升级时不能直接在Win 2K/IIS 5.0上安装Windows 2003/IIS 6.0,必须换一台机器,这时就要解决如何将IIS 5.0不可移植的配置数据转移到新的IIS 6.0服务器的问题。利用IIS 6.0配置数据的可移植性,解决办法是:首先安装好新的Windows 2003服务器,为原来的Win 2K服务器做一个完整的备份,然后在Win 2K服务器上安装第二个Windows 2003服务器将它升级,导出第二个Windows 2003服务器的配置数据(用密码加密),然后将配置数据导入到新的Windows 2003服务器。新安装的Windows 2003服务器必须作一些调整,例如允许IUSR帐户等,但至少现在不必重新执行全部配置操作了。

  IIS 6.0的配置数据是标准的文本文件(XML文件),所以可以用记事本之类的文本编辑器打开和编辑。如果修改了IIS 5.0或IIS 4.0的配置数据,有时必须重新启动IIS,如果系统上网站的数量很多,可能需要不少时间,例如ISP的服务器就属于这类情况。为了解决这个问题,IIS 6.0支持一种"运行时允许编辑"功能。"运行时允许编辑"功能按照如下方式启用:在IIS管理器中,右击服务器,选择菜单"属性",然后选中"允许直接编辑配置数据库"选项,如图三所示。启用了这个功能之后,如果我们用记事本打开配置数据文件,插入一个虚拟目录的配置,然后保存并关闭配置文件,IIS 6.0几乎立即就能根据配置文件的设置作相应的修改,根本无需重新启动。



图三

  既然允许直接编辑配置文件,因配置文件不合法造成的服务器、应用程序故障也必然增多。为此,IIS 6.0提供了配置文件历史版本目录,即\system32\inetsrv\history,每次修改配置数据或重新启动IIS 6.0,IIS 6.0都会在该目录中保存一份原有的配置数据。

相关阅读

文章评论
发表评论

热门文章 CentOS 6.3安装配置LAMP服务器(Linux+ApachCentOS 6.3安装配置LAMP服务器(Linux+Apach如何授权web服务器提供安全数据库访问如何授权web服务器提供安全数据库访问IIS6.0下配置MySQL+PHP5+Zend+phpMyAdminIIS6.0下配置MySQL+PHP5+Zend+phpMyAdminDiscuz Windows 环境搭建推荐教程Discuz Windows 环境搭建推荐教程

相关软件

人气排行 XAMPP配置出现403错误“Access forbidden!”的解决办法WIN2003 IIS6.0+PHP+ASP+MYSQL优化配置访问网站403错误 Forbidden解决方法Server Application Unavailable的解决办法如何从最大用户并发数推算出系统最大用户数http 500内部服务器错误的解决办法(windows xp + IIS5.0)报错“HTTP/1.1 400 Bad Request”的处理方法Apache [forbidden 403]错误的解决办法