我对Kerberos如何在Active Directory环境中工作有基本的了解,以及它用来validation用户和工作站到networking上的方法,但是我的问题是,因为Kerberos依赖于发布安全令牌,最终用户然后使用它来访问networking资源,系统(便携式计算机)不在域上能够仅使用活动目录用户的用户名和密码访问相同的networking资源?
我想如果仅仅使用用户证书,Kerberos会生成一个安全令牌并将其发给系统,但是似乎应该有更多的安全性来防止非域系统访问networking资源。
如果有人能够启发我,我会感激!
在这种情况下使用NTLM …
http://msdn.microsoft.com/en-us/library/windows/desktop/aa378749(v=vs.85).aspx
系统(便携式计算机)不在域上,只能使用活动目录用户的用户名和密码访问相同的networking资源?
这取决于涉及哪些“networking资源”。 在您login的join域的Windows计算机上,至less有两个客户端Kerberos身份在使用:
还有主机/工作站@ DOMAIN,但通常是在主机上运行的服务的标识,从其他地方访问。 如果主机上的特权进程想要执行某些操作(例如,使用Kerberosauthentication的dynamicDNS将其名称添加到DNS),则它将使用其标识来执行工作站$ @ DOMAIN。 如果您在login会话中自己访问某个资源,请说出CIFSnetworking共享或经过身份validation的HTTP URL – 那么客户端标识是您的主体名称user @ DOMAIN(凭据将自动为您使用您input的密码login)。 从你的问题来看,你似乎认为涉及到一些组合。 不是,他们是分开的。
这就是为什么使用Kerberos从其他平台访问基于Windows的资源没有问题的原因。 您也可以在Linux机器上键入“kinit user”,input您的密码以从域控制器获取Kerberos凭证(TGT),然后使用Firefox在IIS上访问Kerberosauthentication的网页。 所有这些协议都是标准的,除了你的用户凭证,你不需要任何东西。
以前的回答声称在这种情况下需要NTLM; 这是错误的(虽然当然可以使用)。 但是,当您从非域计算机访问某些资源并提示您input用户名和密码时,您不一定知道实际使用哪种authentication方法。 它可能使用Kerberos。 它也可能只是回到基于密码的机制,它将您的用户名和密码发送到服务器进行validation,然后caching您的密码,以便您不必重新input密码。 许多协议都允许通过像SASL这样的抽象scheme。 你必须看看电线,看看发生了什么事情。
我知道至less有一个系统可以使用从非域名工作站工作的Kerberos。 这个应用程序的名字是“SAP NETWEAVER Portal”。 当我login到工作站和域控制器之间的Web应用程序时,我在工作站和通信上执行了一些networking嗅探。 在此之前,一个DNS查询srv _krblogging的域,我传递给用户名字段(它必须是FQDN域格式,如mydomain.local \ myusername)。 在那之后,一些kerberos框架发生。
下面的说明是关于如何使用来自Windows 7/10(也许是其他)客户端的Kerberos对Samba服务器进行身份validation。 我还没有testing过其他版本的客户端和服务器:
在Windows客户端上,以“以pipe理员身份运行”cmd.exe。 然后input此命令为Windows提供kerberos REALM.COM的Kerberos域控制器(KDC)的知识。
如果KDC在DNS中:
ksetup /addkdc REALM.COM
除此以外:
ksetup /addkdc REALM.COM kdc01.realm.com
(如果存在的话,input更多的KDC进入REALM.COM领域,并且可以添加其他的领域)
然后使用资源pipe理器访问感兴趣的networking共享。 (例如\\samba.realm.com\share在地址栏中)。如果共享受到保护,将会打开密码提示。
您需要在用户名中指定领域。 这可以像[email protected]或REALM.COM\user一样完成。
然后input密码。