问题标签 [kdc]

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 回答
980 浏览

internet-explorer - 仅当 IE 中的兼容模式打开时才会发送 Kerberos 票证

在我们的 Kerberos 设置中,当使用 IE 11 访问我们的应用程序 URL 时,Kerberos 票证不会随请求一起发送。但是,当打开兼容模式(在兼容性视图中显示 Intranet 站点)时,会发送 Kerberos 票证并且身份验证工作正常。我们使用的是 IE 11。使用开发人员工具时,用户代理字符串从默认更改为 Internet Explorer 10,然后它也可以工作。

身份验证在 chrome 上始终可以正常工作。

更新:我们观察了wireshark上的流量,发现当兼容模式关闭时,服务器并没有挑战客户端进行协商。但是,当兼容性为 ON 时,服务器会通过发送 401 响应来挑战客户端。

任何指针都受到高度赞赏。

0 投票
1 回答
1252 浏览

active-directory - Kerberos SPN 被缓存在 Windows 服务器上?

一直在我的 SSO 项目中集成 Kerberos 身份验证。遇到了一个奇特的场景。

我创建了一个新用户并为其附加了一个 SPN。按照这个问题的步骤,让一切正常。我的意思是:-

  1. kinit 用户名-然后输入密码给了我票已保存的消息。
  2. kinit spn(int the format HTTP/FQDN) - 然后输入密码给了我打勾的消息已保存。

过了一段时间,我决定再试一次,所以我使用了命令

从用户名中分离 spn。然后我从 AD 中删除了这个用户(用户名)。

接下来,我创建了一个新用户,说 username1 并按照这个问题为这个新用户注册了与上述步骤相同的 spn。

现在 kinit username1 - 输入密码给出了保存票证的消息,但是 kinit spn - 输入密码给了我错误

请注意,如果我使用不同的(新)spn,一切正常。

所以问题是,Windows 服务器是否有某些缓存,其中一些链接仍然存在,因为我无法再次使用这个 spn?还是我在从用户分离 spn 时犯了一些错误?

谢谢,尼基尔

0 投票
2 回答
290 浏览

docker - 在 Dockerfile 中启动 kdc

在 Dockerfile 中,我输入了以下内容:

期望是当我使用“docker run -it”命令时 KDC 会启动。

但是,启动 docker VM 后,KDC 没有运行。我的预期正确吗?

谢谢

0 投票
1 回答
117 浏览

ldap - kdb5_util 转储给出服务器错误

我一直在尝试使用 kdb5_util 转储(文件名)转储我的 Kerberos 数据库(ldap 后端),但我得到:

Kerberos KDC 和 Kadmin 日志什么都没有,ldap.log 给出 May 31 12:40:17 kdc slapd[28020]: connection_input: conn=1091 deferring operation: binding

其他一切正常,创建,删除,主体身份验证,没问题。只是转储数据库失败。据我了解,后端不应该对转储产生任何影响。

有什么想法可以调试或解决这个问题吗?我错过了什么?

/etc/krb5.conf

/etc/krb5kdc/kdc.conf

0 投票
1 回答
312 浏览

single-sign-on - Kerberos 不起作用,响应标头中没有标记

我们正在尝试设置 kerberos,最初我们必须使用 kinit 进行初始化才能进行身份验证。我们像团队中的其他人一样创建了我们的校长。现在突然之间,三个用户无法让他们的 kerberos 正常工作。因为我们都是开发人员,我们的机器需要充当服务器,所以我们为每台机器创建了我们的主体。

奇怪的是,它一开始对所有人都有效,现在只对少数人有效。我们可以在 klist 中看到我们的 keytab 名称

这就是我们创建密钥表的方式

C:\Windows\system32>ktpass -princ HTTP/<complete system name>@<domain> -pass <password> -mapuser <keytab_filename>@<domain> -ptype krb 5_nt_principal -kvno 0 -out c:\keytabs\<keytab_filename>Targeting domain controller: <domain server>.<domain> Successfully mapped HTTP/<complete system name> to <keytab_filename>. Password succesfully set! Key created. Output keytab to c:\keytabs\<keytab_filename>: Keytab version: 0x502 keysize 84 HTTP/<complete_system_name>@<domain> ptype 1 (KRB5_NT_PR INCIPAL) vno 0 etype 0x17 (RC4-HMAC) keylength 16 (some hash number)

我可以看到的唯一区别(从 kerberos 工作机器到非工作机器)是响应标头具有协商授权,但响应标头没有使用令牌响应。我们无法弄清楚问题是什么。

Pragma: no-cache Connection: keep-alive Content-Length: 71 Cache-Control: no-cache, no-store, must-revalidate Content-Type: text/html;charset=UTF-8 Date: Fri, 30 Jun 2017 20:18:06 GMT Expires: 0 Server: JBoss-EAP/7 WWW-Authenticate: Negotiate X-Powered-By: Undertow/1

我确保浏览器正在使用kerberos

任何帮助是极大的赞赏。

0 投票
0 回答
69 浏览

kerberos - KERBEROS - 限制用户登录领域中的特定主机

我已经在 linux 机器上配置了 kerberos 作为用户授权管理的单点。现在我想限制少数用户登录特定的 linux 主机。例如。

我有用户管理员、开发人员和测试人员。我有 3 台运行 centos7.、machine1、machine2 和 machine3 的 linux 客户端机器。

用户 admin 可以同时登录 3 台客户端机器。用户开发者可以登录到客户端 machine1 和 machine2。用户 tester 只能登录到客户端机器3。

需要指导来配置上述策略。

0 投票
1 回答
137 浏览

java - GSSContext acceptSecContext 方法中的安全漏洞?(JAVA)

当客户端生成的服务票据发送到服务器时,GSSContext的acceptSecContext方法就是对KDC编码的票据进行解码。

当以服务票证作为其参数调用此方法时,票证实际上是否被发送到 KDC 本身进行解码?

否则这不是安全问题吗?因为如果服务器可以解码任何有效的票证,除了发送给它的某个客户端或票证的用途或对象之外,它一无所知?

有点困惑

非常感谢任何澄清。

我读过应用程序服务器和 KDC 确实进行了通信,但我认为这并不总是正确的。

例如,看一下示例服务器代码

应用程序服务器登录以获取上下文

然后使用该主题,它将执行特权doAs

0 投票
1 回答
124 浏览

windows - 配置允许 Kerberos 禁用的加密类型

我在 Windows Server 2012 R2 上的 KDC 中使用了为 Kerberos 配置允许的加密类型几次,但现在它已被禁用。我不知道为什么或如何启用它。帮助将不胜感激:)

禁用的配置面板

禁用的配置面板

0 投票
0 回答
24 浏览

ubuntu - 仅使用一个域控制器进行 Kerberos 身份验证

我们需要仅使用一个域控制器而不是两个域控制器来测试 Kerberos 身份验证。

在我的 Kerberos 配置中,我有以下几行:

不是使用 ABC01.ABC.ABC.DE,而是使用 ABC02.ABC.ABC.DE 进行 Kerberos 身份验证。

我怎样才能只使用指定的域控制器?

0 投票
0 回答
316 浏览

hadoop - 两个具有 Kerberos 身份验证的 Hadoop 集群

使用 Kerberos 身份验证连接到单独的 Hadoop 集群的最佳方法是什么。从客户端的角度来看 - 我们有两个 keytab 文件,Kerberos 配置很好,我们可以使用相关的 keytab 连接到单独的集群。问题是我们如何同时连接到两个集群?