深入剖析IIS 6.0(7)_Windows教程
图六
如果缓冲区溢出攻击成功入侵了一个Web应用,攻击者只能访问当时运行工作进程的帐户有权访问的资源,默认的网络服务帐户不能写入Inetpub文件夹,执行权限也极其有限,所以象CodeRed蠕虫之类的攻击根本不可能得逞。
某些Web应用,特别是有些Internet Server API(ISAPI)筛选器,在进程外运行时可能会遇到问题。在IIS 5.0和IIS 4.0中,ISAPI筛选器总是在Inetinfo之内运行,它们的设计目标本来就不是在进程外运行,正是由于这个原因,某些筛选器在IIS 6.0的工作进程隔离模式中运行时可能会出现问题——特别地,调用SF_READ_RAW_DATA或SF_SEND_RAW_DATA的筛选器尤其明显。为此,IIS 6.0还提供了第二种操作模式,称为IIS 5.0隔离模式。如果ISAPI筛选器不能在工作进程隔离模式下正常运行,在IIS 5.0隔离模式下应该没有问题。在这第二种操作模式中,应用程序仍旧能够从IIS 6.0的许多改进中获益,例如http.sys驱动程序带来的性能、可靠性的提高。
在IIS 6.0文档中,可以看到一种叫做“应用程序池”的新特性。一个应用程序池包含一个或者一组工作进程,而且应用程序池是可以命名的。应用程序池可以从下列角度理解:在IIS 5.0中,我们可以将应用程序保护设置为低级(IIS进程)、中级(缓冲池)、高级(隔离),这个功能虽然很有用,但如果我们想要在一个池(一个dllhost.exe的实例)中运行两个应用程序,在另一个池(另一个dllhost.exe的实例?)中运行另外两个应用,该怎么办?IIS 5.0没有提供命名dllhost.exe实例的途径,因而也就不能将两个特定的应用放入某个池运行。IIS 6.0的应用程序池允许指定名称,如图七,通过网站“属性”对话框的“主目录”页,可以方便地将Web网站或目录放入应用程序池。
图七
- 相关链接:
- 教程说明:
Windows教程-深入剖析IIS 6.0(7)。