【问题标题】:IIS application pool identity account passwords shown in clear text以明文形式显示的 IIS 应用程序池标识帐户密码
【发布时间】:2013-05-18 08:40:00
【问题描述】:

当我使用appcmd list appool <ApplicationPoolName> /text:* 命令时,它会以明文形式显示应用程序池身份密码。我也可以在 PowerShell 中使用 Get-WMIObject 以明文形式查看密码。这可能是一个严重的安全威胁,因为拥有正确访问凭据的用户可以轻松查看密码。

IIS (v7.5) 中的应用程序池是使用域用户帐户/密码配置的。在applicationHost.config 文件中,密码使用IISWASOnlyAesProvider 加密提供程序进行加密。尽管如此,当我使用上述两种方法中的任何一种时,密码仍以明文形式显示。

当我使用上述两种方法时,有什么方法可以加密密码,使密码不以明文形式显示?

【问题讨论】:

    标签: iis appcmd applicationhost


    【解决方案1】:

    只有当您以管理员身份运行 appcmd 时,密码才会被解密。如果你以普通账户运行,你会得到加密的字符串。

    这将类似于 [enc:IISSomethingProvider:…:enc],就像您在 applicationHost.config 中找到的一样。

    【讨论】:

      【解决方案2】:

      除非有所改变,否则答案是否定的。校长最好用Raymond Chen表示:

      '这就像说某人的窗户不安全,因为窃贼只需从里面解锁和打开窗户就可以进入房子。 (但如果窃贼必须进入室内才能解锁窗户......)'。

      总而言之,任何可以访问您的 IIS 服务器或可以远程对您的服务器执行 WMI 命令或可以对您的服务器执行 powershell 命令的人都可以访问。

      他们被认为是管理员,并且被认为是受信任的,因为有时管理员需要提取密码以进行恢复,或者如果没有进行适当的注释或密码管理,则需要将节点添加到共享池 [主要需要在以下情况下在需要共享密码的域集群上进行基本身份验证]。

      【讨论】:

      • 我不是我工作机器上的管理员,但 Visual Studio 以管理员权限启动(可能使用某些软件进行了配置)。我被要求为同事导出我的 iis 配置。所以我使用了 VS、文件、打开菜单并以管理员权限打开了命令提示符(因为 VS 有它们),我导出了我的配置并无意中看到了我不允许看到的密码(我没有配置 IIS)。我承认我的情况并不常见。
      最近更新 更多