2023年12月12日发(作者:善良的女人)
IIS的系统账户
IIS与操作系统
IIS5.1集成于Windows XP操作系统中。
IIS6.0 集成于Windows Server 2003操作系统中。
IIS7.0 集成于 Windows Vista 和 Windows Server 2008操作系统中。
IIS7.5 集成于 Windows 7 和 Windows Server 2008 R2操作系统中。
IIS的工作进程
IIS5.1 上的 程序运行在 aspnet_ 进程下。服务器同一时间只能开启一个aspnet_进程,所有的应用程序都运行在该进程中,也就是说,如果由于一个应用程序导致aspnet_ 崩溃,所有的应用程序都将不可用。
IIS6.0 上的 程序运行在 进程下。为了防止出现上述的一个应用程序崩溃导致所有应用程序都不可用的情况,IIS6.0引入了应用程序池的概念。一般情况下,一个应用程序池对应一个进程,但是当启用Web Garden时,一个应用程序池就可对应多个进程了。一个应用程序池可托管一个或多个程序。
IIS7.0和IIS7.5的工作进程同IIS6.0。
IIS的运行账户
IIS5.1
IIS5.1的工作进程aspnet_运行在 ASPNET 账户下。ASPNET账户隶属于Urs用户组,该用户组下的用户无法对操作系统进行有意或无意的改动,但可以运行经过验证的应用程序。Urs用户组除了拥有ASPNET账户外,还拥有 Authenticated Urs 用户组和INTERACTIVE用户组。由于内置账户LocalSystem也是aspnet_的默认运行账户,而LocalSystem账户拥有几乎全部的操作系统访问权限,所以这就导致了严重的安全隐患。
IIS6.0
IIS6.0的工作进程 运行在 NETWORK SERVICE 用户组下。为了加强安全性,IIS的工作进程默认运行在新的内置的NETWORK SERVICE 用户组下,该用户组只拥有低级的用户访问权限。
NETWORK SERVICE 隶属于 IIS_WPG 用户组。默认情况下,IIS_WPG用户组只拥有最小化的权限集合用于开启和运行进程。如果要设计一个特殊的用户账户用于运行网站,最简单的方法便是将用户账户作为IIS_WPG用户组成员。
IIS_WPG 用户组除了拥有 NETWORK SERVICE 用户组外,还拥有 IWAM_计算机名 账户、Service 用户组和 SYSTEM 用户组。IWAM_计算机名 账户是启动 IIS 进程账户,是用于启动进程外应用程序的IIS的内置账户。在IIS6.0中还有一个账户是 IUSR_计算机名 ,这个账户是 IIS 来宾账户,是用于匿名访问 IIS 的内置账户,该账户同时隶属于 Guests 用户组。
在IIS6.0中,无论默认的应用程序池还是新建的应用程序池都运行在NETWORK SERVICE用户组下。所有的Web应用程序都运行在相同的权限下,那么一个在应用程序池A中的应用程序可以读取应用程序池B的配置信息,甚至有权访问属于应用程序池B的应用程序的内容文件。虽然创建新的应用程序池以及为它们配置自定义账号的任务足够简单,但是随着时间的推移,管理这些账号却并不那么轻松。
IIS7.0
在IlS7.0里,系统自动为各应用程序新建一个应用程序池。默认情况下,应用程序池被配置为以 NETWORKSERVICE 账号运行。而当工作进程被创建时,IIS7.0会向
NETWORKSERVICE安全令牌注入一个特殊的唯一标识该应用程序池的SID(通常是应用程序池的名称)。IIS7.0还会为工作进程创建一个配置文件,并且将文件的ACL设置为仅允许应用程序池唯一的SID访问。这么做的结果就是:一个应用程序池的配置将无法被别的应用程序池读取。顺便提醒一下,你可以更改内容文件的ACL,从而允许应用程序池唯一的SID进行访问而不是NETWORKSERVICE账号。这可以阻止应用程序池A中的某个应用程序读取应用程序池B中某应用程序的内容文件。
对于Web服务器来说,使用哪个账号作为匿名访问的身分凭证是关系进程身份的重要问题。IIS6依赖于一个本地账户——IUSR_计算机名,将其作为匿名用户登录的身份凭证。IlS7则使用了一个全新的内置账号——IUSR,这是一个特殊的账户,用户不能使用该账户进行本地登录,它没有密码,所以任何基于密码破解的攻击对它是无效的。由于IUSR账号总是拥有相同的SID,所以它的相关ACL在WindowsSewer2008的机器之间是可传递的。如果IUSR账号不适合我们的应用场景的话(也就是说,如果匿名请求需要经身份验证的网络访问的话),可以关闭匿名用户账号,IIS7将为匿名请求使用工作者进程身份。
同样全新的还有内置的IIS_IUSRS组,这个用户组取代了原先的IIS_WPG组。在IIS6里,IIS_WPG组提供了运行一个工作者进程所需的最小权限,而且必须手动地将账号添加到该组,从而为一个工作者进程提供自定制的身份凭证。IIS_IUSRS组为lIS7提供了类似的角色,但是不必特意将账号添加到该组。取而代之的是,当账号被指派为某一应用程序池的身份凭证时,IIS7会自动将这些账号收入到IIS_IUSRS组。并且和IUSR账号一样,IIS_IUSRS组也是内置的,所以在所有的WindowsServer2008机器上,它总是具有相同的名称和SID,这就让ACL以及其它配置在WindowsServer2008(以及WindowsVista)机器之间是完全可迁移的。
IIS7.5
同IIS7.0
本文发布于:2023-12-12 12:19:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1702354741244065.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:IIS与系统账户的关系.doc
本文 PDF 下载地址:IIS与系统账户的关系.pdf
留言与评论(共有 0 条评论) |