通过证书连接时如何防止使用 "LocalSystem" 应用程序池标识

How to prevent using "LocalSystem" application pool identity when connecting through certificate

我需要在我们的 IIS 服务器(在 Win 2019 上)上配置的站点使用证书与外部服务通信。 该证书存在于个人和受信任类别的证书插件中。 它还使用中间证书。

正确的应用程序池对 /personal 中的证书具有完全权限。也是“网络服务”用户。 私有证书不可导出。

当应用程序池配置为身份“LocalSystem”但它不适用于“ApplicationPoolIdentity”时,SSL 连接有效。 将应用程序池的“加载用户配置文件”从 false 更改为 true 不会改变任何内容。

该站点使用为其编写的库,并且仅在公司内部使用。 使用库时使用“LocalSystem”是唯一的解决方案吗?

您可以在应用程序池标识中尝试不同的用户帐户。

内置用户帐户 Select 此选项使用预定义的安全帐户之一。然后 select 以下帐户之一:

  • LocalSystem - 本地系统帐户拥有所有用户权限,并且是 Web 服务器上 Administrators 组的一部分。每当 可能,避免使用本地系统帐户,因为它提供了 您的 Web 服务器存在严重的安全风险。
  • LocalService - 本地服务帐户是用户的成员 组并具有与网络服务帐户相同的用户权限, 但仅限于本地计算机。工作人员时使用此帐户 您的应用程序池中的进程不需要外部访问 运行s.
  • 所在的 Web 服务器
  • NetworkService - 默认情况下,网络服务帐户是 selected。 它是 Users 组的成员,并且具有以下用户权限 运行 应用程序需要。它可以在整个活动期间进行交互 基于目录的网络,使用计算机帐户的凭据。 此帐户提供了最大的安全性来抵御可能的攻击 尝试接管 Web 服务器。
  • ApplicationPoolIdentity - 从 IIS 7 开始,应用程序池可以 将 运行 作为“ApplicationPoolIdentity”帐户而不是 “网络服务”帐户。这是一个专用的伪用户帐户 一个应用程序池的工作进程,是推荐的 池标识。 自定义用户帐户 Select 此选项用于为应用程序池标识配置自定义用户帐户。

自定义用户帐户 Select 此选项用于为应用程序池标识配置自定义用户帐户。

已安装的用户帐户 您可以配置一个已安装的用户帐户,您希望工作进程在该帐户下 运行.

属性 型用户 通过使用对 Windows 安装程序属性的引用,您可以动态选择您希望工作进程 运行 使用的用户名和密码。通过使用此选项,您可以选择密码的方式 selected:

密码属性 密码存储在 属性.

预定义密码 通过 selecting 这个选项你可以定义你自己的密码。

注意:如果您使用自定义身份,请确保您指定的用户帐户是 Web 服务器上 IIS_IUSRS 组的成员,以便帐户对资源具有适当的访问权限。此外,当您在环境中使用 Windows 和 Kerberos 身份验证时,您可能需要向域控制器 (DC) 注册服务主体名称 (SPN)。