客户端 LocalSystem (SYSTEM) 是否由目标/服务器计算机识别?在什么情况下?

发布于 2024-09-24 13:39:39 字数 3245 浏览 5 评论 0原文

[1] 讲述:

  • “当您配置使用特定帐户作为进程身份时,ASP.NET 会尝试委派该帐户。如果它是与本地帐户相同(包括密码)的本地帐户,如果远程计算机上不存在这样的帐户,则它在网络上显示为 Windows 匿名帐户 (NT AUTHORITY\ANONYMOUS LOGON)。帐户是有权访问远程计算机的域帐户,在这种情况下,它使用该帐户的域网络身份。”

[2] 通知:

  • “所有区域设置中的帐户名称都是 .\LocalSystem。也可以使用名称 LocalSystem 或 ComputerName\LocalSystem
    • “该服务向远程服务器提供计算机的凭据

此外,预定义的“NT AUTHORITY\LOCAL SYSTEM”(或 SYSTEM [3])存在于任何 Windows 中
并且应该可用于识别(即使客户端(进程)从工作组 Windows 访问),不应该吗?

不过,例如,[3] 的一排答案说明了相反的情况:

  • “在工作组中,SID 仅在本地工作站上有意义。”当访问另一个工作站时,SID 不会仅传输名称。 “本地系统”无法访问任何其他系统'

LocalSystem 是否被远程/目标计算机识别? 又如何呢?

  • 作为计算机名\本地系统?
    或者
  • 作为 NT AUHORITY\LOCAL SYSTEM ?

更新:
这个问题完全在Windows工作组开发环境的范围内......
尽管所有答案都偏离了 Windows 域...


引用:
[1]
ASP.NET 委托
http://msdn.microsoft.com/en-us/library/aa291350。 .aspx
[2]
本地系统帐户
http://msdn.microsoft.com/en-us/library/ms684190。 .aspx
[3]
sysadmin1138 对我的问题“Windows LocalSystem 与 System”的回答
https://serverfault.com/questions/168752/windows-localsystem-vs-system


我的相关问题:

[1] tells:

  • "When you configure to use a particular account as the process identity, ASP.NET attempts to delegate that account. If it is a local account that is identical (including password) to a local account on a remote machine, delegation is possible. If such an account does not exist on the remote machine, to the network it appears as the Windows anonymous account (NT AUTHORITY\ANONYMOUS LOGON). In addition, delegation is also possible if the account is a domain account that has access to the remote machine, in which case it uses the domain network identity of that account."

[2] informs:

  • "The name of the account in all locales is .\LocalSystem. The name, LocalSystem or ComputerName\LocalSystem can also be used"
    • "The service presents the computer's credentials to remote servers

Also, the predefined "NT AUTHORITY\LOCAL SYSTEM" (or SYSTEM [3]) is present in any Windowses
and should have been usable for identification (even when client (process) accessed from workgroup Windows), shouldn't have?

Though, a row of answers, for ex., [3] tells the opposite:

  • 'In Workgroups, the SID only has a meaning on the local workstation. When accessing another workstation, the SID is not transferred just the name. The 'Local System' can not access any other systems'

Is LocalSystem identified or not by remote/target machine?
and how?

  • as ComputerName\LocalSystem ?
    or
  • as NT AUHORITY\LOCAL SYTEM ?

Update:
This question is completely inside the context of development environment in Windows workgroup...
though all answers deviated to Windows domain...


CITED:
[1]
ASP.NET Delegation
http://msdn.microsoft.com/en-us/library/aa291350.aspx
[2]
LocalSystem Account
http://msdn.microsoft.com/en-us/library/ms684190.aspx
[3]
sysadmin1138's answer to my question "Windows LocalSystem vs. System"
https://serverfault.com/questions/168752/windows-localsystem-vs-system


My related questions:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤云独去闲 2024-10-01 13:39:39

您的场景有两种可能性,具体取决于本地(“客户端”)计算机上的 Windows 版本以及服务与 Windows 服务 API 的集成程度:
- 远程计算机将把来自“客户端”计算机的请求视为 NT AUTHORITY\ANONYMOUS
- 远程计算机会将来自“客户端”计算机的请求视为 DOMAIN\COMPUTER_ACCOUNT_NAME

远程计算机将仅将来自其自己进程的请求视为来自 SYSTEM/LocalSystem。

如果您想通过测试找出由于远程请求而看到的帐户上下文,请在远程系统上的审核策略中启用审核登录事件(成功和失败)。您还可以使用 Microsoft 网络监视器,并捕获从“客户端”发送到远程计算机并返回的数据包流。

编辑:另请参阅我对此处相关/重叠问题的回答以获取相关详细信息。

There are two possibilities in your scenario, depending on the version of Windows on the local ("client") machine and on how well the service integrates with the Windows services APIs:
- remote machines will see requests from the "client" machine as NT AUTHORITY\ANONYMOUS
- remote machines will see requests from the "client" machine as DOMAIN\COMPUTER_ACCOUNT_NAME

A remote machine will only see requests from its own processes as coming from SYSTEM/LocalSystem.

If you want to find out through testing which account context you're seeing due to remote requests, enable Audit Logon Events (Success and Failure) in Audit Policy on the remote system. You can also find complementary (and sometimes helpful) information by using a protocol analyser like Microsoft Network Monitor, and capture the packet stream sent from "client" to remote machine and back.

Edit: also see my answer to the related/overlapping question here for related details.

眉目亦如画i 2024-10-01 13:39:39

System/LocalSystemNETWORK SERVICE 也都将作为计算机帐户 DOMAIN\MACHINENAME$ 进行远程身份验证。还有另一个内置帐户,LOCAL SERVICE,它将始终以ANONYMOUS LOGON 进行远程身份验证(因此大多数授权都会失败)。

试图将这些概念理解为 SID 和名称并没有多大意义。身份验证是在结束时的 SSPI 握手验证者将查询被验证者的上下文令牌并验证访问(执行授权),并且也可以从安全上下文中查询被验证者的名称。如果 SSPI 握手是远程的(在两个不同的 LSA 之间),则名称 QueryContextAttributes 将返回远程计算机名称 domain\machine$。如果这是一次仅涉及一个 LSA 的环回握手,则同一调用将返回 NETWORK SERVICE 或 System.握手也有可能验证“匿名登录”,例如工作组案例、使用本地帐户或尝试跨域信任边界,但基本上都会出现身份验证失败的情况。

System/LocalSystem and NETWORK SERVICE as well will all authenticate remotely as the computer account, DOMAIN\MACHINENAME$. There is a another built in account, the LOCAL SERVICE which will always authenticate remotely as ANONYMOUS LOGON (therefore failing most authorizations).

Trying to understand these concepts as SIDs and names has not much meaning. Authentication is an SSPI handshake at the end of which the authenticator will query the context token of the authenticatee and validate access (perform authorization), and the name of the authenticatee can also be queried from the security context. If the SSPI handhsake was remote (between two distinct LSAs) then the name QueryContextAttributes would return, in a successful authentication scenario, the remote machine name domain\machine$. If it was a loop-back handshake where only one LSA is involved, then the same call will return NETWORK SERVICE or System. There is also the posibility of the handshake authenticating 'ANONYMOUS LOGON', like the Workgroup case, use of a local account, or attempt to cross domain trust boundaries, but basically there are all failed authentication.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文