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

c# - Internet 上的代理 Kerberos Web 服务安全性

是否可以通过 Internet 对 Web 服务使用代理 Kerberos 身份验证?我正在研究已经具有 Active Directory 的环境的 Web 服务安全性。由于现有的架构,Web 服务会很繁琐,我无法控制这个架构。执行一个业务流程最多可能需要 6 个 Web 服务调用。

存在对多次身份验证以及这将产生的开销的担忧。从我对代理 kerberos 身份验证的初步阅读来看,一旦提供了用户凭据,就会返回一个 Kerberos 安全令牌,并且每个 Web 服务调用都不需要身份验证。

我正在设想一个系统,其中用户凭据通过 Web 服务调用传递到 Active Directory,并返回 Kerberos 令牌。然后,此令牌将用于所有后续 Web 服务调用。

这是可能的还是我正在切线?如果我正在切线前进,是否有首选方法?我已阅读完 Microsoft Web 服务安全性:WSE 3.0 的场景、模式和实施指南,但仍有点不清楚。

0 投票
2 回答
4017 浏览

authentication - Windows 域的 JAAS 身份验证

使用提供的用户名、密码和域名,我如何检索一个布尔值,指示用户是否已成功通过主域控制器进行身份验证?应使用 Windows 域控制器的 Kerberos 协议执行身份验证。在此先感谢,丹

0 投票
3 回答
14153 浏览

iis - 将 Firefox 3.0.x 配置为使用 Kerberos 进行身份验证而不提示

我有一个 Intranet http 应用程序在我们 Windows 域中的几台机器上运行;使用 IE 7 时一切正常,因为我可以将其配置为使用 Kerberos 身份验证,并且我已经弄清楚如何让其中一台中间机器受信任以进行委派。

我已经研究并尝试让 Firefox 3.0.10 使用 Kerberos:

  • 导航到 about:config
  • 过滤到network.negotiate
  • 更新network.negotiate-auth.delegation-urisnetwork.negotiate-auth.trusted-uris 使用以下条目(以逗号分隔):http://jupiter2000/trimbrokerclient,http://johnxp/fileservicedemo

我已经这样做了,甚至重新启动了 Firefox,当我在我们的 LAN 上浏览上述网站时,仍然会提示输入用户名和密码,即使我提供了它们并加载了网页,我在应用程序中有一些代码显示有效的身份验证方法,它仍然是 NTLM,而不是使用 IE 时的 Kerberos。

有人可以评论如何让 Firefox 在我的这个 Intranet 应用程序上可用吗?谢谢你。

ps 虽然上面的名称不同,但应用程序是相同的。JUPITER2000 是 IIS 6.0;JOHNXP 是 IIS 5.1。

0 投票
4 回答
1744 浏览

.net - 使用 Kerberos 对网站和 Web 服务进行身份验证是个好主意吗?

通过收购,我们有许多需要认证和授权的产品。产品包括网站和客户端应用程序,客户端应用程序使用一些网络服务。我们是一家.Net 商店,服务器将运行 Server 2008,客户端将运行 XP SP?然后。

产品的用户不属于我们的组织,从具有独立 PC 的单个用户到运行 Active Directory 等的组织中的用户运行。

目前没有通用的身份验证或身份存储,我们正在寻求补救。我们的目标是:

  • 所有产品的单一用户名和密码(或证书)。
  • 理想情况下是单点登录(如果我们从客户端应用程序启动网站,这很容易,如果用户先登录网站然后再启动客户端应用程序,则可能不太容易)。
  • 加上平时;健壮、可扩展...

像大多数公司一样,我们的资源有限,时间紧迫。

一种建议的身份验证路径是 Kerberos,这可能是客户端应用程序对 Web 服务进行身份验证的理想途径,但我不太乐意在用户提交用户名和密码的网站上使用它,而 Web 服务器将是负责票务(然后将票存储在 cookie 中?)。我觉得使用单一身份存储和我们自己的身份验证服务可能会更好,该服务接受用户名和密码,与排序的哈希值进行比较,然后发布一个自定义的、基于时间的安全令牌。也许使用 SqlMembershipProvider?

感谢读到这里的任何人。Kerberos 是否最适合这种情况,还是我应该寻找其他地方?如果不合适,为什么不呢?

我们也在寻找 AD LDS 的授权,但我认为这篇文章已经足够长了......

0 投票
1 回答
1978 浏览

authentication - Kerberos 的感知/实际优势是什么?该技术是否有任何可行的替代方案?

我们计划在我们的架构中使用 kerberos。我想知道这项技术有哪些感知或实际优势,以及是否有任何替代方案。

请注意,我们有一个 .net 客户端和 java 服务器端。通信将通过消息总线和 SOA

0 投票
1 回答
4854 浏览

internet-explorer - 为 kerberos 禁用 IE 提示符

以为我会在这里试试运气。几乎已经尝试了我可以在那里找到的所有解决方案,包括之前在 SO 中的相关问题。我已经黔驴技穷了。

对于我们的 Intranet 站点,我们的德国用户始终会收到安全提示。对于所有其他人,它工作正常。每个人的 IE 设置都是一样的。

任何为我指明正确方向以禁用提示的好的解决方案都将受到欢迎。

0 投票
3 回答
11117 浏览

python - 使用 Python 进行 SSO 的 SPNEGO(kerberos 令牌生成/验证)

我正在尝试实现一个简单的单点登录方案,其中一些参与的服务器将是 Windows (IIS) 框。看起来 SPNEGO 是一个合理的路径。

这是场景:

  • 用户使用他的用户名和密码登录到我的 SSO 服务。我使用某种机制对他进行身份验证。
  • 稍后,用户想要访问 App A。
    • 用户对 App A 的请求被 SSO 服务拦截。SSO 服务使用 SPNEGO 将用户登录到 App A:
      • SSO 服务点击 App A 网页,获得“WWW-Authenticate: Negotiate”响应
      • SSO 服务代表用户生成“Authorization: Negotiate xxx”响应,响应 App A。用户现在登录到 App A。
    • SSO 服务拦截用户对 App A 的后续请求,将 Authorization 标头插入其中,然后再将其传递给 App A。

听起来对吗?

我需要两件事(至少我现在能想到的):

  • 代表用户生成“授权:协商 xxx”令牌的能力,最好使用 Python
  • 在 Python 中验证“授权:协商 xxx”标头的能力(用于项目的后面部分)
0 投票
1 回答
4018 浏览

c# - System.Net.CredentialCache.DefaultCredentials 中的密码是如何加密的?

如果我使用 system.net.credentialcache.defaultcredentials 将当前用户凭据传递给 Web 服务,信息将以哪种方式传输?我认为它不会是明文,因此必须对凭据进行加密,但是它们如何呢?

0 投票
2 回答
3111 浏览

windows - Anonymous、Authenticate、Impersonate 和 Delegate 有什么区别,为什么 Delegate 需要 Kerberos?

当我们的客户安装我们的软件时,他们通常会选择“拆分安装”,即服务在一个机器上运行,而数据库在另一个机器上。服务可能与其他服务通信,或者数据库可能包含需要与另一个数据库通信的存储过程。

这将我们带入了 Kerberos 和 SetSPN 的阴暗世界。

我正准备向支持人员发送一封电子邮件,详细说明 Windows 支持的各种身份验证级别之间的差异,但我意识到我对模拟和委托之间的区别的了解有点模糊,而且我真的很粗略到 Kerberos。

任何人都可以启发我吗?

0 投票
3 回答
3603 浏览

wcf - 可以为 Windows Auth 和 Anonymous 配置 IIS 托管的 WCF 服务吗?

我有一个小型 WCF 网络服务,它与内置的 WCF 服务主机一起工作,并由 Visual Studio 2008 内置的开发网络服务器托管。

在这些托管环境中,我依赖 WCF 测试客户端来调用服务方法。

现在我在下一阶段的测试中遇到了问题:

我将它托管在我的 WinXP 开发机器上的 IIS 5.1 中,我认为问题可能是我不能再继续使用 WCF 测试客户端了。这是正在发生的事情:

案例 1:“匿名访问”被选中(启用)

WCF 测试客户端 UI 正确显示,显示 WebMethods 和 INVOKE 按钮。然而,当我单击 INVOKE 时,它无法连接到需要 Windows 身份验证的后端数据存储(第 3 方产品)。我可以发布从 product.DLL 返回的错误,但我认为它不相关。

案例 2:“匿名访问”未选中(禁用)

WCF 测试客户端 UI 甚至无法正确初始化。我对此的研究告诉我,MEX(WS-Metadata Exchange)需要“匿名访问”并且(显然)WCF 测试客户端需要 MEX。以下是返回的错误的关键片段:

有很多关于绑定选项、消息安全等的解释以及我真的不明白的东西。这是我对自己所处位置的看法,但我很想听听您的意见:

(a) 因为我知道我的 WCF Web 服务必须配置为使用 Windows 身份验证,所以我得出结论,在 IIS 中托管我的服务时,我无法继续使用 WCF 测试客户端。它实际上已经超过了它对我的用处。我只需要花时间编写一个 Web 客户端,因为如果没有 Anonymous,WCFTestClient 将无法工作。

(或者)

(b) 如果 WCF 测试客户端和托管服务配置正确(我只是不知道为此有什么特殊配置技术),则可以使用 WCF 测试客户端。

哪个是对的?是时候停止使用 WCFTestClient 了,还是有办法同时使用它?提前感谢您的建议。

编辑:09 年 6 月 11 日

我还能提供什么来帮助其他人帮助我解决这个问题吗?