目标: 我正在利用Implicit Remoting集中模块,以便访问超过150名员工。其中一些模块使查询出站到互联网上的不同站点。
问题: 虽然用户可以使用以下方法成功远程访问服务器:
$session = New-PSSession -ComputerName ServerA -Authentication Kerberos
由于缺乏身份验证,他们在代理服务器上被阻止,同时对互联网进行查询。但是,用户可以向内部作品发送查询。
问题:
如何在我的powershell脚本中将Kerberos身份验证附加到出站到Internet的查询以使其通过代理?
其他信息:
-Kerberos身份验证使用'无约束委托'。因此,它应该在查询出站之前正确委派auth。我还检查了会话变量的外部范围,它不是空的。
答案 0 :(得分:2)
啊我记得那篇文章。我认为你正在阅读有关无约束委托的部分错误。这不是默认设置;它默认是关闭的(这就是双跳问题存在的原因),应该如此。当它说不需要编码时,那是因为它完全配置在代码之外。
您需要使用某种授权,无论是通过Kerberos还是CredSSP或其他任何方式。
CredSSP can be used fairly securely if you understand exactly what's it doing and what the risk is,对于让一台机器将凭据委托给另一台机器的用例,我认为这可能是一个很好的用例。
很多人不这样做,只是让每台机器都委托给其他很糟糕的机器。
我很难从你的描述中告诉它是什么类型的代理,凭证真正需要去哪里等等,所以这可能是一个坏主意..
如果您不想(或不应该)委派,另一种方法是在ServerA上设置使用RunAs用户的会话配置;在该会话中运行的所有代码都可以跳一跳,但这也可能很糟糕;所有代码都将以该用户身份运行,而不是连接用户。它可以使审计成为一项挑战。这种方法只应在特定情况下使用,听起来这不是其中之一。 I wrote an answer here that talks about session configurations