首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置kerberos ktpass ktab所有JAAS

设置kerberos ktpass ktab所有JAAS
EN

Server Fault用户
提问于 2014-02-07 07:43:44
回答 1查看 1.5K关注 0票数 0

关于Windows上的Kerberos,我有几个问题。

我想知道使用ktpass将用户映射到服务的目的是什么。

例如,我在windows上运行ktpass,如下所示:

代码语言:javascript
复制
ktpass -out <keytab location> -princ <host/domain.com> -mapUser userA@domain.com -mapOp add .........

当我们将用户映射到-princ时,是否意味着只有"userA“才能对服务进行身份验证?我们如何使用-add-set选项?有什么关系?

我的问题是:

我有:

  • 许多用户希望使用我拥有的服务,并通过kerberos (JASS Krb5LoginModule)进行身份验证。

但是:

  • 我不想在jaas.config文件中指定许多用户主体名称。

因此,我正在考虑使用SPN代替,并映射到userA,而userA只能使用该服务。但我不确定这种映射是否也有授权的目的。

对于sun的Krb5LoginModule,有一个选项useTicketCache。

如果我将此设置为true,是否意味着如果某些用户登录,Krb5loginmodule将使用存储在其计算机内存中的kerberoes凭据?

我这么问是因为在Krb5loginmodule的其他实现中,

例:IBM没有useTicketCache,但是有useCcache,但是useCcache需要指定票证位置;我不想指定这个位置。

如何在IBm的krb5loginmodule版本中做到这一点?

我可以这么做吗?

通常,keytab文件用于服务主体,但我可以使用这个keytab来存储用户凭据。

ktab -k mykeytab.keytab -a userA@REALM.COM ?不做setspnktpass吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-03-05 04:41:29

在AD中,Kerberos服务主体与AD用户或计算机对象关联为servicePrincipalName LDAP属性,因此您必须指定要向其中添加主体的帐户。这并不能确定哪些用户可以对服务进行身份验证(正如您所猜测的那样),而是在哪个AD帐户下运行服务本身(如果它在Windows上运行)。这是因为服务需要该主体的密钥,以便验证用户将发送的Kerberos票证,并且如果它在附加主体的帐户下运行,它将有权访问密钥。这在Windows上自动发生;在Unix上,通常由管理员手动安排,创建包含密钥的keytab文件,并配置服务来使用它。

对于sun的Krb5LoginModule,有一个选项useTicketCache。如果我将此设置为true,是否意味着如果某些用户登录,Krb5loginmodule将使用存储在其计算机内存中的kerberoes凭据?

这就是想法,尽管它的工作效率很低,因为Java选择在JDK中嵌入一个完整的Kerberos实现,而不是使用主机提供的实现(后者有一个选项,但只在Unix上,大多数人不知道或使用它)。在Unix上,包可以读取MIT风格的ccache,但不能写入它。在Windows上,它可以读取SSPI (用户的登录凭据),但是您需要设置一个注册表项:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\allowtgtsessionkey = DWORD 1

..。这样Java就可以获得TGT的会话密钥以便使用它。这在默认情况下受到限制,通常不需要,因为Windows程序通常会要求SSPI执行需要会话密钥的操作,而不是自己执行这些操作。

通常,keytab文件用于服务主体,但我可以使用这个keytab来存储用户凭据。

keytab存储一组(主体,键)对;不管主体是用户还是服务。您可以将与密码相对应的密钥存储在密钥选项卡中(例如,使用MIT "ktutil“程序),然后使用密钥选项卡进行身份验证,而不是键入密码(例如,使用"kinit -k -t")。但是,请记住,这与在文件中输入密码基本上是一样的,这涉及到安全性。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/573881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档