gpt4 book ai didi

sql-server - 是什么允许 Windows 身份验证用户名在两台服务器之间工作(流动)?

转载 作者:行者123 更新时间:2023-12-03 02:36:55 27 4
gpt4 key购买 nike

典型的 ISP 设置。一台服务器是 Web 服务器,另一台是 DB SQL 服务器。在两台计算机上创建了一个本地管理员帐户(假设为 XYZ)。因此,当我远程登录时,我要么是 WebServer\XYZ,要么是 DBServer\XYZ,具体取决于我登录的位置。

现在,当我使用 Windows 身份验证登录到 DBServer 上的 SQL Server SSMS 并执行“S​​ELECT SUSER_NAME()”时,我会得到 DBServer\XYZ。这是有道理的,因为它发现了我使用这些凭据登录的事实。

现在,移至 Web 服务器。我以 WebServer\XYZ 身份远程登录。我已经在那里安装了 SQL 客户端组件。当我启动 SSMS、选择 DBServer、使用 Windows 身份验证登录并执行“S​​ELECT SUSER_NAME()”时,我以某种方式得到 DBSERVER\XYZ,而不是我认为应该是 WebServer\XYZ。

不知何故,来自Web服务器的XYZ变成了来自DB服务器的XYZ。这是为什么?这是怎么发生的?当然,这不会只是因为名字碰巧相同吧?

我听说过可信域,但两台机器都不是域 Controller ,所以我无权访问该信息。如果没有 GUI 工具,我如何判断它是否可信?

我问这个问题的原因是,我试图在我的 XP 笔记本电脑上实现同样的事情(使用 Virtual PC),这样我就可以模仿生产环境,但我没有任何运气。

最佳答案

机器之间的 NTLM 挑战有点复杂 @Quassnoi 指出,但它是相似的。这些计算机很可能位于同一域或受信任域中,但您使用的帐户是本地计算机帐户,仅限于本地计算机的安全访问管理。

以机器名\用户 ID 形式存在的本地 SAM 帐户是不可传播的。当您尝试使用该帐户对外部资源进行身份验证时,您会遇到一系列协商的回退,如下所示:

  1. 传递当前域名/用户名/密码哈希 token - 它将失败,该帐户不受信任
  2. 后备 - 恢复传递用户 ID + 密码的哈希
  3. 后备 - 恢复为以匿名凭据进行连接。

回退也可以通过配置禁用,阻止匿名身份验证是很常见的。

正如 @Quassnoi 所示,在此实例中您成功使用 #2 后备登录。

要使帐户凭据能够传播,您需要满足以下条件:

  1. 计算机需要是彼此之间至少具有单向信任的域的成员(它们不一定必须是同一域的成员)。
  2. 使用域帐户 - 而不是本地计算机帐户 - 看起来类似于域名\用户 ID。一个特殊情况是网络服务帐户,它在域场景中有一个代理帐户 - 域名\machinename$。

如何判断您的计算机是否是域的成员?如果您可以交互式登录机器,这将非常容易。有几个策略

  1. 系统控制面板将以交互方式显示工作组或域成员身份。 (右键单击开始菜单中的“计算机”属性)
  2. 在命令行中,IPCONFIG/ALL 还将显示默认 DNS 前缀,该前缀通常与您的域名相同。

我怀疑您的 ISP 会创建一个域,只是为了方便管理和监控他们的机器。他们是否允许您创建域帐户是另一个问题。

关于sql-server - 是什么允许 Windows 身份验证用户名在两台服务器之间工作(流动)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566350/

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