微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在IIs 10上设置AppPool,keySet不存在

如何解决在IIs 10上设置AppPool,keySet不存在

我正在运行Windows 2016服务器,我们正在其上运行IIs 10,并且在部署网站之前,我需要能够断言是否存在AppPool安装程序。如果不存在,则需要使用特定的用户名和密码来设置AppPool。

所有这些操作都是通过Azure Devops使用发行代理完成的。

该代理程序以non-admin身份运行,并且我涉及的所有帐户都以non-admin身份运行。出于安全原因,我完全无意运行任何管理员帐户,我想对所有涉及的帐户给予最少的特权。

当我尝试使用appcmd.exe设置AppPool时,出现错误消息:

KeySet does not exist

管理员身份运行所有内容时,它可以正常工作(我绝对不打算以管理员身份运行任何内容)。

我尝试过的方法: 我已将非管理员帐户添加IIS_IUSRS组中。

确保用户具有76944fb33636aeddb9590521c2e8815a_GUID文件夹中的文件%ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys的读取权限。

在这里尝试了所有操作:Error when you change the identity of an application pool by using IIS Manager from a remote computer

真正知道此问题的原因的人吗?

更新:

Microsoft clearly recommends Microsoft应该使用服务帐户来运行代理,而我正在这样做,并且当他们显然不需要构建代理对数千台服务器的管理权限时,我没有兴趣将它们授予管理权限。我想限制他们的权力,只允许他们做他们需要做的事情。我真不敢相信,让一切都由管理员来完成显然是常事。

解决方法

经过大量的搜索,我的意思是很多。我设法解决了这个问题。而且,让我感到困惑的是,“ 最低特权帐户”在Microsoft和Windows世界中并不常见。

我发现InfoSecMike locking down azure devops pipelines的这篇出色文章。

我们对这个主题有完全相同的要求和看法。


很显然不需要管理员权限来更新IIs配置(因为那样太疯狂了,对!!)。 IIs配置API并不关心您拥有什么权限,您需要访问的是某些文件。但这没有记录。为了简单起见,Microsoft本身告诉您,您需要成为管理员,并且在最佳实践时将所有真正的细节都隐藏在文档中。同样令我惊讶的是,没有人对此提出疑问。

您需要的是以下内容:

  • 完全访问C:\ Windows \ System32 \ inetsrv \ Config
  • 完全访问C:\ inetpub
  • 读取对C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys \中的三个键的访问权限
6de9cb26d2b98c01ec4e9e8b34824aa2_GUID (iisConfigurationKey)
d6d986f09a1ee04e24c949879fdb506c_GUID (NetFrameworkConfigurationKey)
76944fb33636aeddb9590521c2e8815a_GUID (iisWasKey)

如果您确定您的服务帐户是IIS_IUSRS组的成员,则可以获得前两个要点。

该组将不允许您访问密钥。您需要手动将这三个键的读取权限授予代理用户。

如果您不访问这些键,则会收到模糊的错误消息

Keyset does not exist ( exception from HRESULT : 0x8009000D)

如果您问我,这是不正确的错误,因为它应该是IllegalAccessException,并有适当的原因告诉您,由于那里的密钥,您无权读取密钥,它们确实存在(很好的代码微软,也许您应该对此开源,以便我们进行修复。)


我将保留infosecmike的这句话。

目标是锁定Azure Pipeline代理{...}的权限。我开始使用Google搜索,很确定我会找到一种方法来实现这一目标。我没有找不到答案,这令人惊讶。似乎最小特权原则在devops世界中不再适用。

这就是为什么我更喜欢Linux而不是Windows的原因。这是一个简单的任务。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。