问题标签 [kerberos-delegation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
33 浏览

hadoop - 以超级用户身份登录时无法在本机 UI 中查看日志页面

我无法在 hadoop 管理 UI 中查看日志文件,即使使用超级用户凭据登录也是如此。

请在下面找到详细信息:使用超级用户凭据打开本机 hadoop UI,我可以清楚地查看 UI 页面,同时相同的超级用户凭据无法查看本机 UI 页面的日志页面。

请找到我用来查看日志页面的链接: https:///mylapn:50470/logs/

我从本机 UI 得到的错误是,

访问 /logs/ 时出现问题。原因:用户 john 未经授权访问此页面。

请建议如何查看日志页面以及设置任何配置所需的任何内容。请查找附件图片;

谢谢,马蒂斯。在此处输入图像描述

0 投票
2 回答
1247 浏览

.net - 协商时重置为 Kerberos:Kerberos 故障至 NTLM

我正在使用一个系统,该系统为从 Firefox 38.2.1(或 IE 11)访问 Windows Server 2012(IIS 8.5)上运行的 Intranet .NET 4.5.1 Web 应用程序到 SQL Server 2008 R2 上的双跳实现约束委派不同的服务器。委托方案正在运行:用户的 AD 凭据被传递到与 Web 服务器分开的服务器上的数据库。DC 是 Windows Server 2008 R2,我们使用 SPN。

但是,在某些情况下,例如缺少 Firefox 配置设置,Kerberos 会失败;并且身份验证协议降级为 NTLM。在重新启用 Kerberos 身份验证协议之前,委派在一段时间内不再起作用(一些消息来源说 5 分钟;在我们的测试中更像是 10-12 分钟)。此外,失败的委派会影响协议降级生效后访问应用程序的所有用户,直到 Kerberos 自动恢复。换句话说,他们的会话使用 NTLM 并在 10-12 分钟内被阻止访问数据库。

有没有办法通过代码 (c#)/IIS/Firefox/IE 或其他方法手动将身份验证协议恢复到 Kerberos,从而缩短使用 NTLM 协议的窗口?

0 投票
3 回答
6103 浏览

hadoop - 即使在将原则添加到命令行后,HDFS 委派令牌也已过期

我正在 hadoop 中运行火花流作业。这台机器是 kerberized 并且它运行了 42 小时并且由于 HDFS 令牌委托到期而失败。

我什至为每 8 小时运行一次的 kinit 命令设置了 crontab,并且我拥有 10 小时的 Max-renew 生命周期令牌。

由于错误而失败:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.token.SecretManager$InvalidToken): token (HDFS_DELEGATION_TOKEN token

在启动它时,我也在命令行中按照原则运行该作业。

0 投票
1 回答
273 浏览

asp.net - 双跳问题

我正在尝试解决我的应用程序中的双跳问题。我们需要信任网络服务器 ITSXXXXXXX 以委托给SQL Server机器 ITXXXXXXX。我关注了这篇文章https://blogs.msdn.microsoft.com/chiranth/2014/04/17/setting-up-kerberos-authentication-for-a-website-in-iis/(第 9-12 点)来解决问题。我们所做的是选择“信任这台计算机以委托给任何服务(仅限 Kerberos)”,这很有效。但现在我收到了来自 N/W 团队的通知,说它不安全,我必须选择“信任这台计算机以仅委托给指定的服务”。我的问题是,当我选择“信任此计算机以委托给任何服务(仅限 Kerberos)”选项时,我需要为我的应用程序指定哪些服务列表以使其工作方式相同?

编辑-我可以通过以下委派设置解决问题,但问题是我需要在委派选项卡中选择“使用任何身份验证协议”选项,而我已经在 IIS 和 web.config 上进行了配置以使用 Kerberos 身份验证(文章中提到的步骤)。如果有人知道如何解决此问题,请提供帮助。

在此处输入图像描述

0 投票
2 回答
1998 浏览

mongodb - KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN。同时使用 GSSAPI 连接到 mongodb

我在 windows server 2012 r2 上设置了带有 kerberos 身份验证的 Active Directory,在第二台机器上设置了 mongodb 服务器。使用 GSSAPI 身份验证启动 mongodb,现在如果我尝试使用 follwong url 连接到 mongodb

mongo.exe --host Mongo32Test.ihubtest.com.com --authenticationMechanism=GSSAPI --authenticationDatabase=$external -u mongoService@ihubtest.com --verbose

我收到以下消息。

错误:SASL(-1):一般故障:SSPI:InitializeSecurityContext:指定的目标未知或无法访问

我已经安装了wireshark,并且数据包包含此消息

“KRB5 167 KRB 错误:KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN”

环顾四周,我发现它与服务原理名称有关
mongoService@ihubtest.com 是域用户,并且是 mongodb 中 $external 数据库的一部分。

验证了服务原则名称,看起来不错。

C:>setspn -l mongoService 注册的ServicePrincipalNames for CN=mongo Service,CN=Users,DC=ihubtest,DC=com:
mongodb/Mongo32test.ihubtest.com@IHUBTEST.COM

尝试了本页中提到的故障排除步骤,https://docs.mongodb.com/manual/tutorial/troubleshoot-kerberos/,我是否遗漏了 Active Directory 配置中的某些内容?

0 投票
1 回答
5445 浏览

sql - SSRS 2016 本机双跳 Windows 身份验证

我自己和另一位管理员一直在尝试解决我们新报告服务器上的双跳身份验证问题(报告以经过身份验证的用户身份运行,但无法委托给数据源并返回“NT Authority\Anonymous”身份验证错误)和我们似乎走到了死胡同。这里有一点关于我们的设置。

我们在一台服务器上安装了 SSRS 2016,而我们的报告数据源在另一台服务器上。我们已完成以下步骤来尝试启用身份验证

  1. 在报告服务器上设置组策略以启用凭据委派
  2. 确保报表服务器上的 SSRS 和 MSSQLsrv 为运行这两种服务的服务帐户设置了正确的 SPN:
    • http/NetBIOS:80 域\服务名
    • http/FQDN.contoso.com:80 域\服务名
    • mssqlsvc/FQDN.contoso.com:1433 域\服务名
  3. 在 Service 帐户上启用 Kerberos 委派,并确保“帐户敏感且无法委派”。框未选中
  4. RSWindowsNegotiate/在 RSReportServer.config 文件中将 Tag 切换为 < >
  5. 重新启动服务

尝试连接报表服务器上的数据源时,我们仍然收到错误消息,甚至出现通过浏览器连接到网页的问题。奇怪的是,我们尝试在报表服务器上设置链接服务器,将安全性配置为在执行命令的用户下运行,并且能够成功地在链接服务器上进行双跳,但仍然不是来自 SSRS。

数据源是否需要在服务帐户下运行,还是可以在 SQL 的本地服务帐户下运行?服务帐户是否需要对服务器所在的 OU 授予权限?我还可能缺少哪些其他物品?

0 投票
1 回答
799 浏览

sql-server - Kerberos 身份验证问题:网站在一段时间后自动停止工作

有一个网站设置为在 Windows 身份验证上运行。该站点下有 3 个 Web 应用程序,每个应用程序都在自己的应用程序池中,但具有相同的域帐户。ASP.NET 模拟、使用应用程序池凭据、使用内核模式身份验证设置为 true。

  1. 应用程序池帐户的网站 DNS url 的 SPN 已到位。
  2. SQL 服务的 SPN 已就位。
  3. 应用程序池帐户设置为委托给 SQL 服务帐户。

有了上述设置,这三个应用程序可以正常工作一段时间。然后他们自动停止连接到数据库,并出现错误“用户 NT Authority\Anonymous Logon 登录失败”。

重置IIS后,这3个应用程序停留了一段时间,然后他们又一次停止连接到数据库,一个应用程序一个接一个。诡异的?

可能是什么问题?任何指针?

0 投票
0 回答
618 浏览

java - kerberos kinit 在 Windows 服务器 12 上给出 java.lang.NullPointerException

当我在 Windows Server 2012 上运行 kinit 命令时,它会给出空指针错误。请给我任何解决方案。

0 投票
1 回答
1113 浏览

asp.net-mvc - EWS 托管 API 双跳

我正在开发一个将在本地使用的 Intranet 站点。在企业中,用户可以像 OWA 一样使用这个网站,他们可以看到他们的收件箱、发送邮件等。为此,我使用 EWS Managed Api 2.2 连接 Exchange Server (2010_sp1)。我正在使用 ASPNet MVC 5 进行开发。我正在我的安装了 IIS 10.0 的计算机。当我使用 IISExpress 进行开发时,使用默认凭据连接没有问题 >

我明白,这是因为 IIS Express 使用我的凭据作为默认凭据,因此连接服务没有错误。但是当我在我的计算机上使用 IIS 运行此代码时(在应用程序池标识中使用我的凭据,启用 ASPNet 模拟,启用 Windows 身份验证和 NEGOTIATE/NTML 提供程序)身份加载正确

但 Exchange 服务会在跟踪中返回这些 >

当我使用 EWEditor(https://ewseditor.codeplex.com/)时,我看到使用默认凭据连接没有错误,并且在 powershell 中运行 klist 时出现 kerberos 刻度,例如>

服务器:krbtgt/xxxxx.xxx.xx@xxxxx.xxx.xx KerbTicket 加密类型:RSADSI RC4-HMAC(NT) 结束时间:1/2/2017 21:35:37 更新时间:1/9/2017 11:35 :37

服务器:krbtgt/xxxxx.xxx.xx@xxxxx.xxx.xx KerbTicket 加密类型:未知(18) 结束时间:1/2/2017 21:35:37 更新时间:1/9/2017 11:35:37

服务器:HTTP/posta.xxxxx.xxx.xx@xxxxx.xxx.xx KerbTicket 加密类型:RSADSI RC4-HMAC(NT) 结束时间:1/2/2017 21:35:37 更新时间:1/9/2017 11 :35:37

服务器:HTTP/autodiscover.xxxxx.xxx.xx@xxxxx.xxx.xx KerbTicket 加密类型:RSADSI RC4-HMAC(NT) 结束时间:1/2/2017 21:35:37 更新时间:1/9/2017 11 :35:37

服务器:HTTP/xxxcas2.xxxxx.xxx.xx@xxxxx.xxx.xx KerbTicket 加密类型:未知(18) 结束时间:1/2/2017 21:35:37 更新时间:1/9/2017 11:35: 37

服务器:ldap/xxxDC2.xxxxx.xxx.xx@xxxxx.xxx.xx KerbTicket 加密类型:未知(18) 结束时间:1/2/2017 21:35:37 更新时间:1/9/2017 11:35: 37

有了这些票证,我假设 kerberos 可以工作,我的第一个问题是我是对的吗?我可以确定这些票证保证 keberos 可以与客户端访问服务器一起工作吗?

在搜索这个问题时,我看到这个问题非常像这个博客所说的双跳问题> https://blogs.msdn.microsoft.com/dhruvkh/2012/04/15/the-double-hop-dogma/ 。实际上我的问题和这篇文章一模一样。像这篇文章一样建议我使用我的帐户作为服务帐户并将 SPNS 添加到我的帐户并在 IIS 的应用程序池标识中写入

我使用的 SPN

http/autodiscover.xxxxxx.xxx.xx

http/posta.xxxxxx.xxx.xx

注意:我确信这些 SPN 没有被使用。

添加 spns 后,我还选中“信任此计算机以委托任何服务(仅限 Kerberos)”。在我的用户帐户的委派选项卡中。

我的另一个问题是,就像第 3 步上的帖子建议一样。步骤https://technet.microsoft.com/en-us/library/ff808312(v=exchg.141).aspx 我应该创建一个备用服务帐户而不是使用我的帐户吗?如果我必须使用 ASA,我应该在 IIS 应用程序池标识中添加备用服务帐户凭据吗?

感谢您的帮助。

0 投票
3 回答
2925 浏览

powershell - 使用 Powershell 从非域控制器获取 AD 帐户的身份验证委托设置

我在连接到 AD 的机器上拥有管理员权限。但我没有域控制器的权限。

使用 PowerShell 是否可以从我的管理员计算机获取 AD 帐户的所有身份验证委托设置?如果可能怎么办?

我所说的委派设置是 AD 帐户的委派选项卡,用于 Kerberos 身份验证。以下是我所指内容的快照。目前,我可以看到该帐户可以向其提供委托凭据的服务很少,但不是全部,因为我无法向下滚动列表,因为它是灰色的。

在此处输入图像描述