问题标签 [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 投票
1 回答
328 浏览

kerberos - 我缺少什么权利?

我正在尝试使用 Kerberos 从我的 ASP.Net 应用程序连接到 IBM FileNet。我的 AppPool 在 LocalSystem 帐户下运行。AD 有“信任计算机以进行委派”权限。在 IIS 上为应用程序启用了模拟。但我仍然得到

SecurityException:WSE594:InitializeSecurityContext 调用失败并显示以下错误消息:指定的登录会话不存在。它可能已经被终止。

我错过了什么?

0 投票
0 回答
452 浏览

hadoop - 使用 keytab 进行 Kerberos 登录,而不提示输入凭据

我在 jaas.conf 中做了以下更改

但我仍然收到凭据提示。对此的任何帮助都是不言而喻的。

0 投票
1 回答
23 浏览

asp.net - 从另一个网络打开 Web 应用程序时,身份验证委托失败

我一直在开发一个 Web 应用程序,它通过使用身份验证委托和 Kerberos 调用位于另一台服务器上的经过身份验证的 Web 服务。当用户通过与服务器位于同一网络(Intranet 上下文)上的浏览器/桌面进行身份验证时,一切正常。当桌面位于服务器以外的另一个网络上时(例如:来自 Internet),我会收到提示输入凭据,这是预期的。之后,Web 服务服务器返回“远程服务器返回错误:(401) 未授权”。信息。即使我在 Internet Explorer (11) 中将我的 Web 应用程序添加到 Internet 选项中的“内部网”或“受信任的站点”安全区域,也会发生这种情况。我也尝试过使用 Chrome,但结果相同。我不明白是什么造成了这个错误。我希望两个网络上的行为相同。也许有人对这种行为的原因有一个想法?

附上一张图表,以帮助阐明上下文。

在此处输入图像描述

0 投票
1 回答
1111 浏览

asp.net - ASP.NET Web 应用程序到共享点的 Kerberos 双跃点问题

我需要你的帮助来解决我遇到的 Kerberos 双跳问题……在网上阅读了许多关于该主题的帖子后,我仍然无法理解我的设置有什么问题。这是我使用的设置:

  • 客户端电脑
  • 托管简单 ASMX Web 服务的 Web 服务器
  • 托管 SharePoint 2013 的 Web 服务器

见图表

所有服务器都受委派信任,每个人都在同一个域中(没有林),并且不使用负载平衡。每个 Web 服务器都使用 IIS 7.5,每个应用程序池都设置有域服务帐户。每个服务帐户都受信任以进行委派。重要提示:这两个 Web 服务都通过 DNS 条目(HOST 记录)访问:

我还在 Web 服务器(服务器 1)上设置 IIS 以使用应用程序池凭据“useAppPoolCredentials=True”并保持内核打开。

到目前为止,我有以下 SPN 设置:

  • 服务器 1:主机/服务器 1;主机/Server1.domain.com;HTTP/我的网络服务;HTTP/mywebservice.domain.com
  • 服务器 2:主机/服务器 2;主机/Server2.domain.com
  • 服务1:
  • 服务2:

到目前为止,我已经尝试了各种 SPN 之间的许多排列,但没有运气:(

目前,我可以使用 Kerberos 连接到 Web 服务(Server1),但随后“NT AUTHORITY\ANONYMOUS LOGON”被传递到 Sharepoint 服务器。

谁能帮我弄清楚正确的设置是什么?

谢谢你的帮助。

0 投票
1 回答
186 浏览

jsoup - Kerberos 重定向

我正在使用 JSOUP 在 Kerberos 后面的页面上进行爬网。在 JSoup 中,我必须硬编码我的 ID 和密码才能访问网页并阅读内容。我想知道一种方法,我不必对凭据进行硬编码,而是(以某种方式)将其重定向到用户屏幕,询问登录详细信息。这是我目前拥有的代码。

0 投票
1 回答
985 浏览

c# - 在同一台服务器上使用 Windows 身份验证的 IIS 反向代理被拒绝访问

我在这里查看了其他一些带有 Windows 身份验证帖子的 IIS 反向代理,它们似乎不是我想要做的。希望有人能够帮助或发现我没有做错或做错的事情。

我有一个服务器,它有一个在端口 80 上运行的网站,我需要在其上展示许多其他 Web 应用程序。我无法创建新的主机名,所以我在指向我的 Web 应用程序的站点中创建了一个虚拟目录,但是根站点正在使用 .net2.0 应用程序池,它必须保持为 .net2.0 而我的 ASP.NET MVC 应用程序都需要4.0 应用程序池。根据 web.config 继承问题,这是行不通的,我无法更改根中的 web.config 以忽略对子 web.configs 的传播 - 到目前为止?;-)

长话短说,我现在在我的 80 端口站点中有一个虚拟目录,它充当端口 81 上另一个站点的反向代理,这对于匿名连接来说工作得很好。我已经用一个简单的 HTML 页面对其进行了测试,我可以访问它,并且 URL 重写正在 HTML 页面中的链接上工作,到目前为止一切都很好。

现在我需要在端口 81 站点上启用 Windows 身份验证,所以我按照类似于 MSDN 站点上这些链接中的说明为我正在使用的域帐户 (DOMAIN\testaccount) 和其他 IIS 配置配置 SPN:-

链接 1 链接 2

问题是我现在得到的只是旧的错误消息:-

访问被拒绝。说明:访问处理此请求所需的资源时出错。服务器可能未配置为访问请求的 URL。

错误消息 401.2.:未经授权:由于服务器配置,登录失败。根据您提供的凭据和 Web 服务器上启用的身份验证方法,验证您是否有权查看此目录或页面。请与 Web 服务器的管理员联系以获得更多帮助。

-------------------------------------------------- ------------------ 版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.34280

我尝试创建一个测试 aspx 页面,该页面仅将服务器变量输出到响应,但即使这样也不起作用。

我找不到其他可以尝试的东西,最初我认为我必须对 Kerberos 进行排序以将详细信息从虚拟目录传递到端口 81 上的站点,但 MSDN 帖子说这不是必需的,只是 SPN 的。

有人有什么想法吗?

0 投票
0 回答
1563 浏览

java - 如何将 kerberos 客户端凭据委托给服务器?

是否可以在服务器端为客户端(远程用户)获​​取服务票证,以便使用该票证对另一个后端进行身份验证?

场景:用户(IE)==> AppServer(Websphere,Linux 下)==> 后端(webservice)

  • 我们让 SPNEGO auth 在 AppServer 中运行和工作
  • 运行 AppServer 的 AD 用户有权进行委派

提前致谢

======================

更新

@Michael-O 所以......这应该是一步一步的?

1)登录AppServer用户(有权做委托的人)

2)以他的名义执行特权行动

3)在这个用户和远程后端之间建立一个上下文

4) initSecContext 使用 REMOTE USER SERVICE TICKET

5) 作为上下文初始化的结果,我们应该有远程用户访问远程后端的服务票证

0 投票
1 回答
48 浏览

hadoop - 为什么应用程序需要服务主体来保护自身并验证他人的身份?

目前我正在配置 Hadoop 以使用 MIT kerberos 来保护其访问。作为其中的一部分,我们必须使用主机名创建几个专用于每个服务的服务主体。

但是,我不明白服务主体的使用。为什么/如何应用服务器需要它来验证其他用户的服务票证?

我无法获得应用程序服务器对尝试使用它的用户进行身份验证所遵循的过程/步骤。

我按照以下博客了解生成服务票证所采取的步骤顺序。但是,它没有解释应用服务器如何使用服务票证来识别用户。谁能解释一下这一步。

http://www.markwilson.co.uk/blog/2005/06/kerberos-authentication-explained.htm

0 投票
2 回答
3099 浏览

hadoop - Hadoop Oozie shell 操作中的 kerberos 票证和委托令牌使用

我是 hadoop 的新手,并试图理解为什么我的 oozie shell 操作即使在执行 kinit 之后也没有获得新票。这是我的场景。

  1. 我使用我的 ID“A”登录,并为我的 ID 提供了 kerberos 票证。我使用我的 ID 提交带有 shell 操作的 oozie 工作流。在 oozie shell 操作中,我执行另一个 kinit 以获得 ID“B”的票证。只有这个 id "B" 可以访问一些 HDFS 文件。kinit 工作正常,因为 klist 显示了 id "B" 的票证。现在,当我读取只有 B 可以访问的 HDFS 文件时,我收到权限被拒绝错误,说“A”没有访问此文件的权限。但是,当我在 oozie 之外的 linux cli 上做同样的事情时,在我执行 kinit 并为“B”取票后,我可以将 HDFS 文件读取为“B”。但是相同的步骤在 oozie shell 操作中不起作用,hadoop fs 命令似乎总是作为提交 oozie 工作流的用户而不是存在 kerberos 票证的用户工作。有人可以解释为什么会这样吗?我无法理解这一点。

  2. 在同一个 shell 操作中,虽然 hadoop fs 命令无法更改为用户“B”,但 hbase shell 以用户 B 的身份工作。为了测试,我创建了一个只有“A”可以访问的 hbase 表。我添加了 hbase shell 以在此表上执行 get 命令。如果我为用户“B”做 kinit -kt 并获得它的票,这也失败了,说“B”没有访问这个表的权限。所以我认为 hbase 正在接受新票而不是提交 oozie 工作流的用户的委托令牌。当我不在 shell 操作中执行 kinit -kt 时,hbase 命令成功。如果我执行 kinit,我什至无法运行 hive 查询,说“A”没有对某些目录(如 /tmp/B/)的执行访问权限,只有“B”可以访问,所以我无法理解 hive 是如何工作的,
    有人可以帮我理解上述情况吗?哪些 hadoop 服务使用新票证进行身份验证,哪些命令使用委托令牌(如 hadoop fs 命令)?这是它的工作方式还是我做错了什么?我只是不明白为什么相同的 hadoop fs 命令从 oozie 外部作为不同的用户工作,但即使在 kinit 之后也不能在 oozie shell 操作中工作。

  3. 这个委托令牌实际上是什么时候创建的?是否仅在提交 oozie 工作流甚至我发出 hadoop fs 命令时才创建它?谢谢!
0 投票
1 回答
62 浏览

security - Kerberos 中的身份验证器

当我们尝试连接到票证授予服务器时,我们必须创建身份验证器并发送我们尝试连接的服务。我的问题是我们是手动创建身份验证器并输入服务还是自动化过程(当我们登录机器时,只会连接到该服务)