IIS 10 应用程序池内置帐户ApplicationPoolIdentity和NetworkService的区别



IIS 10应用程序池有四个内置帐户:ApplicationPoolIdentity、NetworkService、 LocalSystem和LocalService,它们核心差异在于权限级别、网络访问能力和安全隔离性。

ApplicationPoolIdentity

这是 IIS 7.5 及以上版本的默认推荐账户,属于专属虚拟账户,归属于 IIS_IUSRS 用户组,每个应用程序池都会生成独立的标识(格式为 IIS AppPool\ 应用池名),遵循最小权限原则,仅具备 Web 应用运行所需的基础本地权限,不同应用池之间完全隔离,一个站点出问题不会波及其他站点。访问网络资源时会使用计算机账户身份,安全性在四个账户中最优,适合绝大多数常规网站和 Web 应用。

NetworkService

同样是低权限内置服务账户,本地权限与 LocalService 基本一致,仅拥有普通用户级别的本地访问权;区别在于它可以访问网络资源,访问时以计算机账户身份验证,是旧版 IIS(IIS 6/7)的默认运行身份。但它属于共享账户,多个应用使用时无法做到权限隔离,安全隔离性远不如 ApplicationPoolIdentity,仅适合有网络访问需求、对隔离性要求不高的老旧应用。

LocalService

属于低权限的内置服务账户,仅拥有本地普通用户的权限,无法访问系统敏感目录和核心配置,安全性较低但权限受限;该账户完全不具备网络访问能力,只能操作本地资源,且所有使用此身份的应用共享同一个账户,缺乏应用间的权限隔离,仅适合无需任何网络连接、仅调用本地资源的极简应用。

LocalSystem

这是权限最高的系统内置账户,等同于本地管理员,拥有对服务器所有资源的完全控制权限,风险极高;一旦 Web 应用被入侵,攻击者可直接获取系统最高权限,掌控整个服务器。它访问网络时同样使用计算机账户身份,仅适用于必须操作系统核心资源的特殊系统服务,绝对不建议用于 IIS 网站的应用程序池。

评论: 0 | 引用: 0 | 查看次数: 61
发表评论
登录后再发表评论!