问题标签 [kerberos]

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 投票
3 回答
13248 浏览

kerberos - Kerberos,委托以及如何正确执行此操作?

我有两个独立的自制应用程序需要相互通信。一个是前端应用程序(实际上是asp.net),另一个是会计应用程序的后端接口。后端接口不是专门为此前端创建的——它是许多其他应用程序用来与我们的产品集成的通用接口。

为了方便用户,我们希望在前端应用程序中提供 Windows 身份验证。然而,这意味着我们需要将凭据传递给必须检查它们的后端应用程序。

我们不希望将我们的前端设置为后端的“受信任”应用程序,它可以将自己验证为任何用户。如果前端被黑客入侵,那么它也会危及后端系统。

据我了解,使用 Windows 身份验证执行此操作的一种方法是 Kerberos 委派。但是,这需要为要被委派的用户和进行委派的机器(带有我们前端的服务器)显式启用。默认情况下,这些选项在 Active Directory 中是禁用的,我怀疑许多系统管理员会保留为所有用户启用这些选项。

另外,我不确定这是否是 Kerberos 委托的目的。我不需要我们的前端来模拟正在连接的用户。我只需要证明这个用户已经对我进行了身份验证。

你会怎么做?

0 投票
1 回答
2439 浏览

wcf - 将 WCF 客户端配置为使用 Web 服务安全性 Kerberos 令牌配置文件 1.1

早晨,

有谁知道如何配置 WCF(任何绑定类型,我们目前正在使用 WSHttpBinding,但很高兴在必要时移至 CustomBinding 或替代方案)以使用

Web 服务安全 Kerberos 令牌配置文件 1.1

可以在这里找到详细信息:

http://www.oasis-open.org/committees/download.php/16788/wss-v1.1-spec-os-KerberosTokenProfile.pdf

特别是我想知道如何在 SOAP 标头中包含 Security BinarySecurityToken 和 SecurityTokenReference 部分。示例(取自上述文档)如下:

在此先感谢,保罗。

0 投票
2 回答
3093 浏览

internet-explorer - 访问 SSRS 报告时 IE 获取错误的安全区域

我有一些机器在访问 SSRS 报告时显示InternetUnknown Zone(Mixed)而不是Local Intranet. 一些用户从不报告这个问题,对于其他用户来说似乎是一致的。这些机器都应该设置相同。我们使用SSRS类似的 url 访问报告http://test-intranet.example.com。已检查 上的安全设置IE,应该将所有*.example.com页面视为local intranet. 非常烦人的这个问题,有人知道哪个组件在这里不能很好地发挥作用吗?

0 投票
1 回答
5538 浏览

java - 为什么从 Microsoft IE 到 Java 服务器使用 Active Directory SSO 时会出现 GSSException?

我正在为 Java Web 应用程序(使用 SPNEGO/Kerberos)构建一个 Active Directory 单点登录身份验证系统,并且在 Firefox 或(据报道)Safari 上一切正常,但 Internet Explorer 会导致异常:

事实上,我认为 IE 在安装 Windows 补丁之前就可以工作。

0 投票
2 回答
1491 浏览

.net - 如何获得 WSE 3.0 Web 服务来模拟我的客户身份?

我有一个基于 WSE 3.0 的 Web 服务,在 IIS 6.0 下的 Windows Server 2003 中运行。我希望 Web 服务进程模拟发送 Web 服务请求的客户端用户,但是该服务没有模拟客户端。

Web 应用程序有自己的应用程序池,当前设置为在网络服务标识下运行。Windows Server 2003 计算机帐户已启用 Active Directory 中的委派(至少根据我的 IT 人员)。服务 WSE 策略(在 wse3policyCache.config 中)如下所示:

该服务在其 web.config 中有以下条目(其中包括):

为应用程序启用匿名访问(这是必需的,因为服务不使用传输级安全性,消息级是)。机器帐户已注册以下 SPN:

客户端在其 wse3policyCache.config 中有以下内容:

客户端代码如下所示:

不过,该服务并没有冒充我的客户身份。我在服务中使用 log4net,当我要求它打印%username到 ASP.NET 跟踪日志中时,它总是NT AUTHORITY\NETWORK SERVICE而不是客户端用户 ID。有什么我做错了吗?有没有什么地方我可以查看 WSE 是否甚至试图执行模拟并失败?我确实在我的事件日志中看到了以下条目(MYDOMAIN 和 MYUSER 在这里被遮盖了):

在我的 WSE 跟踪文件中,我确实看到:

所以至少我知道 Kerberos 扩展正在处理我的 Kerberos 标头。

编辑:我的网络服务然后使用专有客户端通信库调用使用 SSPI/IWA 的另一台服务器(让我们称这第三台服务器为 foo 服务器)。我希望它在第二次调用 foo 服务器时使用客户端的身份。这意味着此客户端通信库调用AcquireCredentialsHandleInitializeSecurityContext使用 foo 服务器的 SPN 和不同的服务。在这种特殊情况下,foo 服务器实际上与 WSE Web 服务在同一台机器上运行(因此它使用 SPNmycompany/rd260-2)。由于第二个跃点是到同一台机器,我希望它使用 NTLM,但它仍然应该模拟我的 Web 服务客户端的用户身份,不是吗?在 foo 服务器的日志中,我看到它接受连接,使用提供的 IWA 安全上下文并告诉我,基于此安全上下文,连接用户是rd36-2$机器帐户,因为 WSE Web 服务在 IIS 中运行在网络服务身份(又与机器帐户相关联)下。在 foo 服务器的日志中,它接收到 IWA 安全上下文后,我最终想查看提交 Web 服务请求的用户的身份。将 foo 服务器移动到另一台机器以查看是否与此有关是否有用?

0 投票
2 回答
2116 浏览

c - 哪些程序使用 GSS-API?有没有像样的示例程序?

我以为我想使用 GSS-API,但现在不太确定,因为我很难为一个简单的客户端/服务器对找到好的示例代码。Sun 有包含示例代码的文档,但它是专门为他们的 GSS API 实现编写的,使用了一些专有功能,例如GNU GSS-API中没有的(而且我还不清楚如何针对 GNU 实现重新实现它们)。另外,它是用 pre-ANSI C 编写的,带有 K&R 函数声明等(我在转换声明时没有问题,但它确实让我认为 Sun 示例代码可能太旧以至于无关紧要)。

在过去十年中,您是否在应用程序中使用过 GSS-API?你知道一些值得一读的带有示例程序的独立教程吗?

或者,也许我走错了路,应该改用 SASL。GNU GSS-API 作者自己也提出了同样的建议

对于它的价值,我在 Linux 上使用 GCC,并且已经为其他目的设置了 Kerberos。

0 投票
1 回答
715 浏览

iis - Active Directory 和 NTLM 身份验证

我正在编写一个管理 AD 用户的 IIS 应用程序。为此,我已将站点配置为使用 Negotiate AuthenticationProvider,并且一切正常。
我想知道,NTLM 是否适合使用 Active Directory 进行操作(例如创建用户帐户)?
还是 AD 只接受 Kerberos 身份验证?

0 投票
2 回答
2904 浏览

apache - 如何在 Kerberos SSO 登录失败时设置 apache 重定向或自定义 401 文档

我有一个有效的 Kerberos SSO 设置,我将 apache 和 jboss 与 mod_jk 一起使用。Apache 使用以下配置(通过 kerberos)保护 auto-login.htm 页面:

这 100% 有效,我可以使用 Kerberos/SSO 登录并在我的 java 应用程序中读取 remote_user 变量。

现在的问题是,如果用户无法通过 Kerberos/SSO 登录,我想重定向到未受保护的 login.htm。我想到的解决方案是设置 401 ErrorDocument,但是当我通过在上面的代码中取消注释 #ErrorDocument 401 来设置它时,它总是重定向到 login.htm,因为返回 401 来请求用户凭据本质上是 Kerberos 的一部分/SSO 身份验证过程。因此结果是用户总是以 login.htm 结尾,并且永远不会完成 Kerberos/SSO 登录过程。

任何帮助或替代解决方案将不胜感激。

在此先感谢
皮埃尔

0 投票
1 回答
1054 浏览

wcf - 混合身份验证模式:使用 WCF 通过 HTTPs 发送 Kerberos 令牌和用户名令牌

是否可以使用 WCF 通过 HTTPs 发送用户名令牌和 kerberos 令牌?

我们能够使用自定义绑定,并将身份验证模式设置为“UserNameOverTransport”,根据 OASIS Web 服务安全标准,它将在 SOAP 标头中包含用户名令牌。

或者,可以将身份验证模式设置为“KerberosOverTransport”,这将在 SOAP 标头中包含一个 Kerberos 令牌。

但是,我们尝试通信的服务需要使用 kerberos 令牌和用户名令牌进行身份验证。现有的身份验证模式似乎不可能。

0 投票
1 回答
763 浏览

sharepoint - 使用基于 SSL 的 Kerberos 从 SharePoint 调用 Reporting Services Web 服务

我有多个 SharePoint Web 部件需要访问集成到 MOSS2007 中的 Reporting Service 2008。

我将使用两个端点:ReportService2006 和 ReportExecution2005。

我想将调用 Web 服务的所有逻辑放在一个公共程序集(类库)中,该程序集将打包在包含 Web 部件的同一 WSP 中。

我试图从我的公共类库项目中添加服务引用,但代理没有正确生成,我在设计时无法使用任何智能感知。因此我现在使用 svcutil.exe 来生成代理。

不幸的是,微软在本文中表示 svcutil.exe 会出现 Kerberos 身份验证问题:

Svcutil.exe 根据从服务接收到的 Web 服务描述语言 (WSDL) 或策略文件生成客户端。用户主体名称 (UPN) 是通过将用户名与“@”连接起来,然后添加完全限定域名 (FQDN) 生成的。但是,对于在 Active Directory 上注册的用户,此格式无效,并且该工具生成的 UPN 会导致 Kerberos 身份验证失败,并显示以下错误消息:登录尝试失败。要解决此问题,请手动修复该工具生成的客户端文件

我的环境已设置为通过 SSL 使用 Kerberos。我该如何解决这个问题?