标签: mit-kerberos

Kerberos kinit:获取默认 ccache 时未知的凭据缓存类型

我在 Bash 上使用 Kerberos 并尝试运行 kinit 命令。

我不断收到此错误:

kinit: Unknown credential cache type while getting default ccache
Run Code Online (Sandbox Code Playgroud)

对于我运行的任何其他 Kerberos 命令( 、 等),也会出现此klist错误kdestroy

我已将 KRB5CCNAME 设置为以下值:KEYRING:persistent:{uid}

[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
# default_realm = EXAMPLE.COM
default_ccache_name = KEYRING:persistent:%{uid}
Run Code Online (Sandbox Code Playgroud)

有人可以建议如何进一步解决这个问题吗?关于这个特定错误的文档似乎很少。

kerberos mit-kerberos

7
推荐指数
1
解决办法
1万
查看次数

Hadoop安全

场景: - 用户登录到他的计算机将通过Kerberos身份验证进行身份验证并提交地图缩减作业

我正在努力学习"如何在Hadoop中实现Kerberos?" 我曾经使用过此文档不见了 https://issues.apache.org/jira/browse/HADOOP-4487 我还通过基本Kerberos的东西不见了(https://www.youtube.com/watch?v=KD2Q-2ToloE)

在从这些资源中学习之后,我得出了一个结论,我通过图表来表示.场景: - 用户登录到他的计算机通过Kerberos身份验证进行身份验证并提交地图缩减工作(请阅读图表的说明,它几乎不需要5分钟的时间)我想解释图表并提出与几个相关的问题步骤(粗体) 黄色背景中的数字表示整个流程(数字1到19)DT(带红色背景)表示委托令牌BAT(带绿色背景)表示块访问令牌JT(带有棕色背景)表示作业令牌

步骤1,2,3和4表示: - 请求TGT(票证授予票证)请求名称节点的服务票证. 问题1)KDC应该在哪里?它可以在我的名称节点或作业跟踪器所在的机器上吗?

步骤5,6,7,8和9表示: - 显示名称节点的服务票证,获得确认.名称节点将发出委托令牌(红色)用户将告知令牌更新程序(在这种情况下,它是作业跟踪器)

问题2)用户将此授权令牌与作业一起提交给Job Tracker.授权令牌是否会与任务跟踪器共享?

步骤10,11,12,13和14表示: - 询问服务票据以获取作业跟踪器,从KDC获取服务票证将此票证显示给Job Tracker并从JobTracker获取ACK将作业+委派令牌提交给JobTracker.

步骤15,16和17表示: - 生成块访问令牌并分布在所有数据节点上.将blockID和Block Access Token发送到Job Tracker,Job Tracker会将其传递给TaskTracker

问题3)谁将从名称节点请求BlockAccessToken和Block ID?JobTracker或TaskTracker

对不起,我错误地错过了18号.Step19表示: - 作业跟踪器生成作业令牌(棕色)并将其传递给TaskTrackers.

问题4)我可以得出结论,每个用户将有一个代表队令牌,它将分布在整个集群中,每个作业会有一个作业令牌吗?因此,用户将只有一个委托令牌和许多作业令牌(等于他提交的作业数量).

请告诉我,如果我错过了某些内容,或者在我的解释中某些方面我错了.

hadoop kerberos hadoop-plugins kerberos-delegation mit-kerberos

6
推荐指数
1
解决办法
1790
查看次数

如何防止浏览器发送 NTLM 凭据?

我正在使用 Spring Security Kerberos 使用 Kerberos 身份验证的站点上工作。所以,我们不支持 NTLM。当用户发出未经身份验证的请求时,服务器将回复带有标题 WWW-Authenticate: Negotiate 的 HTTP 401。

问题:对于某些用户/配置,浏览器将发送 NTLM 凭据。服务器不一定在 Windows 上运行,因此它无法处理 NTLM 凭据。

据我了解,“协商”的意思是“如果可能,请向我发送 Kerberos,否则发送 NTLM”。是否有不同的设置说“只向我发送 Kerberos”?或者有什么方法可以告诉浏览器该站点仅支持 Kerberos?

作为后续,为什么浏览器没有 Kerberos 可用?在这种情况下,他们登录到同一个域。也许他们的凭据已过期?

ntlm kerberos spring-security-kerberos mit-kerberos

6
推荐指数
1
解决办法
4641
查看次数

kinit(v5):获取初始凭据时未找到密钥表条目

我按照以下步骤设置 KDC 和 kerberos。现在 kinit 面临以下问题。

操作系统-SUSE 11

1. zypper install krb5 krb5-server krb5-client
2. Updated krb5.conf with proper realm details. 
3. kdb5_util create -s <kerberos database created. password provided on prompt>
4. echo "*/admin@EMEA.EBS.CORPINTRA.NET" >> /var/lib/kerberos/krb5kdc/kadm5.acl <provided permission to principals>
5. rckrb5kdc restart & then rckadmind restart 
6. kadmin.local -q "addprinc admin/admin" <creating principal>
7. kadmin.local -q "list_principals" <verified principals>

8. kinit admin/admin@EMEA.EBS.CORPINTRA.NET <initalise>
9. klist

Create kerberos user:

10. kadmin.local    
    - addprinc himansu@EMEA.EBS.CORPINTRA.NET
                (provide passwrd, when prompted)
11. …
Run Code Online (Sandbox Code Playgroud)

kerberos mit-kerberos

6
推荐指数
0
解决办法
3532
查看次数

通过 ambari 启动 Ranger KMS 服务时由于没有密钥可存储而失败

我的集群启用了 kerberos,并且在从 ambari UI 启动 ranger kms 时收到“无密钥可存储”错误:-

**ERROR [/kms] - Exception starting filter authFilter
javax.servlet.ServletException: org.apache.hadoop.security.authentication.client.AuthenticationException: javax.security.auth.login.LoginException: No key to store**
        at org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler.init(KerberosAuthenticationHandler.java:241)
        at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationHandler.init(DelegationTokenAuthenticationHandler.java:117)
        at org.apache.hadoop.security.authentication.server.AuthenticationFilter.initializeAuthHandler(AuthenticationFilter.java:248)
        at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.initializeAuthHandler(DelegationTokenAuthenticationFilter.java:195)
        at org.apache.hadoop.security.authentication.server.AuthenticationFilter.init(AuthenticationFilter.java:234)
        at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.init(DelegationTokenAuthenticationFilter.java:161)
        at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4828)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5508)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.hadoop.security.authentication.client.AuthenticationException: javax.security.auth.login.LoginException: No key to store
        at org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler.init(KerberosAuthenticationHandler.java:225)
        ... 17 more
Caused by: javax.security.auth.login.LoginException: No key to store
        at com.sun.security.auth.module.Krb5LoginModule.commit(Krb5LoginModule.java:1119) …
Run Code Online (Sandbox Code Playgroud)

security hadoop kerberos hdfs mit-kerberos

5
推荐指数
0
解决办法
993
查看次数

了解Kerberos主体

我试图了解Kerberos的基本概念.我在这里读到了关于这里的原理,通常看起来像:

primary/instance@REALM
Run Code Online (Sandbox Code Playgroud)

我想问一下什么是主要的,实例和领域.当然,上面的页面和互联网上的其他几个地方都有定义,但有人可以举个例子吗?

我的理解是:主要是消费者(用户或服务).实例是用于访问控制的东西.主要可以是多个实例的一部分.Realm是实例的集合?如果我错了,请纠正我.

如果我有一台服务器:foo.bar.com
,我可以拥有2个领域:REALM1,REALM2.这些可以这样命名吗?或者我可以在这里只有1个领域作为FOO.BAR.COM
现在我说3个服务:s1,s2,s3相互通信.由于启用了kerberos,它们中的每一个都必须拥有一个带有自己的keytab文件的主体?或者由于每个服务都与其他服务进行通信,每个keytab文件是否需要为其他服务都有主体?

authentication spn kerberos keytab mit-kerberos

1
推荐指数
1
解决办法
259
查看次数

Kerberos 密钥生命周期

我的域上运行着 HTTP 服务。但我对 HTTP 服务的生命周期是如何决定的几乎没有疑问。客户端可以使用我的 HTTP 服务多长时间?

authentication kerberos klist kdc mit-kerberos

0
推荐指数
1
解决办法
1632
查看次数

kinit:krb5_init_creds_set_keytab:找不到密钥表(未知的 enctype)

为了能够从 MacBook 访问 Kerberized Hadoop,尝试创建 SPNEGO。在 Centos 7 中从 KDC 复制 spnego keytab 后,执行 kinit 失败,并出现以下错误:

$kinit -kt /etc/security/keytabs/spnego.service.keytab ambari-qa-tcluster@EXAMPLE.COM

kinit: krb5_init_creds_set_keytab: Failed to find ambari-qa-ambari-qa-tcluster@EXAMPLE.COM in keytab FILE:/etc/security/keytabs/smokeuser.headless.keytab (unknown enctype)
Run Code Online (Sandbox Code Playgroud)

在 Centos 上,使用以下命令检查 enctype:

[root@vpimply1 ~]# klist -kte /etc/security/keytabs/smokeuser.headless.keytab
Keytab name: FILE:/etc/security/keytabs/smokeuser.headless.keytab
KVNO Timestamp           Principal
---- ------------------- ------------------------------------------------------
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (des-cbc-md5)
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (aes128-cts-hmac-sha1-96)
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (arcfour-hmac)
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (des3-cbc-sha1)
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
[root@vpimply1 ~]#
Run Code Online (Sandbox Code Playgroud)

尝试使用特定的 enctype 创建密钥表,但仍然遇到相同的错误。

如何解决这个“enctype”问题?

kerberos spnego enctype mit-kerberos

0
推荐指数
1
解决办法
5104
查看次数