【问题标题】:Should I use IUSRS or Physical Path Credentials?我应该使用 IUSRS 还是物理路径凭证?
【发布时间】:2017-01-06 16:35:01
【问题描述】:

最近,我接到了一个项目,需要我遵循一些我不太习惯的步骤。通常,当在带有 IIS 的 Windows Server 上设置站点时,我会安装 IIS,让它完成它的工作,然后从那里开始……但是,这种设置有点不同。

环境信息:

  • Windows Server 2012
  • IIS 8.0
  • .NET 4.5 WebAPI 2 应用程序

要求:

  • 应用程序必须安装到“私人应用程序”文件夹中。此文件夹的权限非常有限,几乎所有必要的权限都必须以独占方式添加。
  • 应用程序必须在 IIS 上作为 默认网站 下的应用程序运行,使用 AppPool 作为应用程序特定的域用户:“DOMAIN\AppUser

问题:

  • 初始安装应用程序后,IIS 开始抛出 401.3 错误。跟踪显示,这特别是由于“NT AUTHORITY\IUSRS”无法访问应用程序文件夹(即使应用程序池被告知在“DOMAIN\AppUser”下运行) em>")。

发现:

当然,我尝试的第一件事是将“NT AUTHORITY\IUSRS”添加到具有读取/执行/列表权限的文件夹中。这让一切正常工作!不幸的是,这让我很担心。如果架构师非常关注安全性以至于他们要求我们将内部应用程序安装到这个“Private Applications”文件夹中,那么授予对如此广泛的东西的访问权限就不会成为安全问题, 也?所以,我决定研究更多的选择。我最终发现了 IIS 中的物理路径凭据。我将这些凭据设置为与 AppPool 用户的凭据相匹配(该用户已经具有继承到该文件夹​​的访问权限)并且这也有效!

可能的解决方案:

  1. 授予对目录的 IUSRS 权限。收工。

- 或 -

  1. 设置物理路径凭据以匹配 AppPool 凭据。

问题:

  • 如果努力保持服务器及其目录尽可能安全,谁能告诉我为什么其中一种可能的解决方案(上面列出的)会比另一种更好?
  • 我是否只是偏执地担心 IUSRS 是一种广泛、盲目的权限授予?
  • 这些选项是否会带来我不知道的影响(假设我是个白痴)?

【问题讨论】:

    标签: .net security iis asp.net-web-api2 iis-8


    【解决方案1】:

    您可以使用您设置的 IIS 应用程序池授予对文件夹的访问权限。当您在文件夹上设置安全性时,将搜索位置从整个网络更改为本地计算机并搜索“iis apppool\defaultapppool”并将 defaultapppool 更改为您在 IIS 中的应用程序池名称。您的应用程序池应该只需要读取、文件夹列表和执行。此外,您可能需要转到 IIS 中的匿名身份验证并单击编辑并将其更改为使用应用程序池凭据而不是匿名通过。如果您不更改它,它仍将使用 IUSRS 进行匿名请求。

    【讨论】:

    • 感谢您的回复,但问题并不特别是关于如何做到这一点,更多的是关于哪个选项更好以及为什么。在这种情况下,我会问:为什么遵循您的建议而不是我在原始问题中列出的两个可能的解决方案会是更好的选择?
    • 选项二与我描述的相同,除了使用内置应用程序池名称对您进行设置故障排除的人来说更直观。如果服务器不是多租户,则选项一很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 2023-03-24
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多