gpt4 book ai didi

iis-8.5 - IIS AppPool 到 SQL Server 权限(添加 NT AUTHORITY\IUSR)

转载 作者:行者123 更新时间:2023-12-01 21:13:11 28 4
gpt4 key购买 nike

我有一个运行 Windows Server 2012 R2、IIS 8.5(包括 ClassicASP 功能)和 SQL Server 2014 Express 的新服务器版本。我想使用应用程序池标识连接到数据库。数据库设置为“Windows 身份验证模式”。

我的应用程序池标识名为 activbase.net。我在 SQL Server 中设置了一个名为 IIS AppPool\activbase.net 的安全登录,并且用户使用 db_datareaderdb_datawriter 访问权限将其映射到我的数据库.

但是,当我尝试从网站访问数据库时,我得到:

Cannot open database "ActivbaseLive" requested by the login. The login failed.

我认为这足以让连接正常工作。应用程序日志(事件查看器)显示:

Login failed for user 'NT AUTHORITY\IUSR'. Reason: Failed to open the explicitly specified database 'ActivbaseLive'. [CLIENT: ]

因此,我同样将 NT AUTHORITY\IUSR 添加到 SQL Server>Security>Logins and Databases>[ActivbaseLive]>Security>Users,这解决了问题。

我的问题如下:

  1. 除了 IIS AppPool\activbase.net 登录/用户之外,我是否还需要将 NT AUTHORITY\IUSR 登录/用户添加到我的 SQL Server 实例和数据库中?
  2. 这样做是否存在安全问题? (注意:这将是生产环境)

谢谢,克里斯

最佳答案

没有。除了 IIS AppPool\activbase.net 身份之外,您不需要为 NT AUTHORITY\IUSR 身份添加 SQL Server 登录名。仅登录 IIS AppPool\activbase.net 应用程序池标识就足以使用 Windows 身份验证连接到 SQL Server。

NT AUTHORITY\IUSR 是内置 Windows 帐户,是为应用程序启用匿名身份验证时使用的默认身份。 This page描述该帐户的理由。

要使用 IIS AppPool\activbase.net 身份连接到数据库,您需要将匿名用户的帐户设置从 NT AUTHORITY\IUSR 更改为您的IIS AppPool\activbase.net 应用程序池标识。请按以下步骤进行此更改:

  1. 打开Internet 信息服务 (IIS) 管理器
  2. 连接面板中,找到并单击选择托管您的应用程序的网站,例如默认网站。 (如果您想配置网站下的特定应用程序,可以选择该应用程序。)
  3. 在中央面板的功能 View 中,双击身份验证
  4. 匿名身份验证很可能会在您的设置中启用。右键单击匿名身份验证,然后选择编辑
  5. 编辑匿名身份验证凭据对话框中,单击应用程序池身份选项,然后单击确定

下面链接中的问题(及其答案)解决了同样的问题:

Login failed for user NT AUTHORITY\IUSR

关于你的第二个问题“这样做是否存在安全问题?”,答案是"is"。您最好不希望 NT AUTHORITY\IUSR 内置帐户访问您的 SQL Server 数据库,因为它被用作您托管的任何其他网站(及其应用程序)上的默认匿名帐户。 IIS 网络服务器。这意味着其他网站和应用程序将能够连接到您的数据库。如果它们在攻击中受到损害,它们可能会被用来访问您的数据。因此,最好不要使用 NT AUTHORITY\IUSR 进行 SQL Server 登录。相反,应限制对您网站(或应用程序)的应用程序池标识的数据库访问。

关于iis-8.5 - IIS AppPool 到 SQL Server 权限(添加 NT AUTHORITY\IUSR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26231743/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com