rga*_*ber 1 authentication spn kerberos keytab mit-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文件是否需要为其他服务都有主体?
在您给出的示例中:primary/instance @ REALM
primary =服务名称(例如,在目标服务器上运行的HTTP)
instance = FQDN(通常)需要在DNS中 - 它将是"主要"(服务)运行的服务器的FQDN
SPN的示例:HTTP /server1.acme.com@ACME.COM.在这个例子中,假设DNS在机器环境中设置正确,它可以缩短为HTTP/server1.acme.com.
对于你的例子,foo.bar.com,这个领域很可能是FOO.BAR.COM.不一定是这样.您肯定可以在另一个名称的Kerberos领域中存在foo.bar.com的DNS FQDN,但该领域名称必须是完全限定的,您不能将其作为"REALM1".Kerberos严重依赖DNS.我认为技术上可能有一个非完全限定的Kerberos领域名称虽然我从未在实践中看到它.你只是要求遇到重大麻烦.对于您的3个服务相互交流,是的,每个服务都必须拥有自己的SPN,它们必须在Kerberos数据库中单独描述,否则客户将如何找到它们?在这种情况下,三个不同的服务都需要自己的keytab文件.但是每个keytab都没有其他服务的主体.不要像你自己那样使用"校长"这个词.委托人是可能拥有SPN的安全对象,也可能不是.这取决于.有不同类型的安全主体,例如用户,而不是UPN.服务是SPN.计算机是第三类.如果您在Microsoft Active Directory环境中,建议您在此处阅读更多内容,这是目前最流行的Kerberos实施版本. http://social.technet.microsoft.com/wiki/contents/articles/4209.kerberos-survival-guide.aspx