Articles of kerberos

我如何设置一个身份validation系统,具有凭证的单个实例存储以及多个身份validation方法/接口?

背景:我有一系列基于Linux的服务器(比如几十个),这些服务器位于不同的位置。 一些服务器是独立的卫星,而另一些服务器则在同一个数据中心中。 一些是物理硬件服务器,另一些是虚拟专用服务器。 服务器提供电子邮件,Web应用程序托pipe,数据库以及某些自定义应用程序的服务器端部分。 服务器本身已经有pipe理硬件的工具,操作系统级的pipe理(pipe理员账号,虚拟服务器pipe理等)也被照顾到了。 问题:到目前为止,在应用程序级别对不同服务的身份validation使用了许多解决scheme。 有时,这意味着帐户密码必须存储在多个位置。 一个更好的解决scheme是拥有一个集中pipe理的单一源authentication系统,允许每个服务从一个帐户的单一实例authentication一个用户,并允许在单个数据项上进行操作,而不是确定哪个位置需要在创build,更改和删除帐户时进行更新。 凭证数据可以被复制以提供冗余。 (请注意,此处的目标与单一login不同:您必须分别对每个应用程序进行身份validation,但您的凭据存储在一个位置。请参阅此问题 。 以前的几个问题都提到了LDAP,并且还谈到了Kerberos。 这个问题询问了LDAP的安全性,并要求比较LDAP和Kerberos。 Kerberos很好,但是在这种情况下不需要单点loginfunction,所以设置Kerberos可能会过度,导致不必要的pipe理负担。 这个问题扩大了范围,包括networking设备,重点是在操作系统级别比应用程序级别。 在我的情况下,它只是需要的应用程序级authentication。 这也意味着需要支持的各种authentication协议有较大的变化。 PAM是不够的。 这个问题要求替代LDAP,但答案指向LDAP,无论如何,有充分的理由。 NIS是另一个提出的解决scheme,但在这种情况下,它确实不适合,因为它只是解决了密码(和其他)信息的分发,而不是存储,pipe理和身份validation方法。 最后, 这个问题似乎很相似,但重点是真正的VPNvalidation。 (这里也有一个类似的问题,但不够精确,不适合ServerFault。) LDAP是我目前使用的validation来源之一。 但是,并非所有应用程序都可以使用LDAP。 有些需要一个基于HTTP的接口,而另外一些需要使用SQL接口。 例如,需要运行OpenID提供程序,并且我需要为用户运行的一些自定义软件只能configuration为通过ODBC进行身份validation。 另一个build议是FreeIPA http://freeipa.org/ ,但它也有额外的Kerberos负担,看起来更像是OS级别的解决scheme。 它已经发展了一段时间了,但我并不完全相信它已经够成熟了,它也可能有太多的不可思议的特征,但是还没有提供我真正需要的特征。 我想分离validation数据(用户名和密码)与validation服务的存储 。 我将使用一个定义明确的安全位置来存储数据,以及使用存储位置使用各种协议/接口提供身份validation的多个身份validation服务。 至less需要一个LDAP和一个SQL接口,一个OpenID提供者也在列表上。 我认为LDAP是存储的好select,但是我也愿意接受其他的select。 最好是免费/开源软件。 问题:我应该select哪种软件来存储身份validation凭证,以及如何提供不同的接口来对这些凭证进行身份validation? 你有什么build议?

用户存储在AD中时,Windows机器是否可以通过Kerberos进行Sambavalidation?

我知道这个标题可能不太清楚,但我想不出什么更好的。 我们有两个域,我们称之为example.com和subnet.example.com 。 前者由Active Directory服务器进行pipe理,并包含一些服务器以及所有Windows客户端。 后者包含许多Unix机器(主要是Solaris)。 从SUBNET.EXAMPLE.COM到EXAMPLE.COM有一个单向的信任。 有了这个设置,通常的东西工作正常,如SSHlogin,NFSv4等 现在,我想要做的是在subnet.example.com的Unix机器上运行Samba服务器。 Windows用户应该能够访问这些服务器上的文件。 我在Samba中设置了Kerberos身份validation,并且可以在任何Linux客户端上正常工作。 当我有一个Kerberos TGT时,我可以通过smbclient访问机器,如果我删除它,它将停止工作。 用户映射完全按照预期工作。 机器在MIT Kerberos服务器上有cifs/hostname条目。 但是,Windows客户端无法做到这一点。 在查看Samba日志时,我可以看到Samba服务器试图与AD服务器交谈,但由于Samba服务器尚未joinAD域,因此不允许这样做。 所以,我听到你问: “你为什么不joinAD域呢?” 。 答案是,我无法做到这一点,因为子网上的系统是正在安装和重新安装的testing系统,通常每天多次,我们不希望有一个ADpipe理员configuration这个(并删除它们以及)每次testing系统安装或脱机。 另外,对于Linux客户端来说,一切都是完美的,这使我相信应该有可能以某种方式来实现这一点。 所以,我的问题是:这是可能的吗? Windows中是否存在一些限制,阻止它们成为正常Kerberos领域的客户端? 如果是这样,这个问题最好的解决方法是什么?

使用GSSAPIRenewalForcesRekey通过SSH更新委派的Kerberos凭据

我一直在调查的选项,以尽量减less作为凭证过期需要重新input的凭证数量。 我现在面临的一个重大问题是处理委托凭据,这会干扰长时间运行的SSH会话。 看起来GSSAPIRenewalForcesRekey和GSSAPIStoreCredentialsOnRekey选项完全符合我的要求 – 当客户端更新其票证时,凭证将重新发送到服务器。 但是,这些选项似乎完全没有效果。 例如,一旦build立SSH连接,我希望运行kinit或kinit -R最终将刷新服务器上的凭证caching。 在详细/debugging模式下运行ssh和sshd也不会对此产生任何影响。 我对这些选项有什么错误的想法吗? 我将不胜感激关于我在做什么错误的任何信息或完成这个的替代方法。

设置问题使用Kerberos身份validation设置单一login

我需要使用Kerberos身份validation通过Active Directory进行Ruby on Rail应用程序集身份validation。 一些技术信息: 我正在使用Apache 安装了mod_auth_kerb 在httpd.conf中,我添加了LoadModule auth_kerb_module modules / mod_auth_kerb.so 在/etc/krb5.conf中添加了以下configuration [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = EU.ORG.COM dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h forwardable = yes [realms] EU.ORG.COM = { kdc = eudc05.eu.org.com:88 admin_server = eudc05.eu.org.com:749 default_domain = eu.org.com } [domain_realm] .eu.org.com […]

IIS,SQLServer,Google Chrome和Windows身份validation

我在互联网上search了近4天,现在我被卡住了。 我已经创build了一个简单的ASP MVC4 Intranet网站,并将其部署到了名为iis服务器。 那台电脑和我的电脑在同一个域内。 我的域名内有3台电脑: my_pc , iis服务器和sql server。 当我在我的电脑上input地址http://iis ,我发现我login正确: 这适用于IE和Chrome。 < – 到现在一切都好! 当我尝试在我的网页中执行sql查询时,问题就开始了 – WebAPI控制器。 在IE浏览器我得到正确的结果,但在Chrome上我得到错误: 在Web.config里面我需要configuration: <authentication mode="Windows" /> <identity impersonate="true" /> 在IIS内部,我禁用了匿名身份validation并启用了Windows身份validation。 我的IIS是信任的委托请求到我的SQL服务器。 最奇怪的是,当我试图打开我的网页(与SQL查询),我得到错误,然后当我打开在IE浏览器(这是成功的),我刷新Chrome网站正确加载和工作一段时间(随机,有时5分钟,有时30秒)。 我尝试添加[Authorize]属性到特定的方法,但是这并没有帮助。 看起来Chrome并没有将kerberos令牌传递给IIS。 我试过这里描述的步骤: http : //dev.chromium.org/developers/design-documents/http-authentication但没有任何运气。 有人请指导我一步一步如何configuration谷歌浏览器和其余(IIS,SQL,如果需要)在Chrome中使用Windows身份validation?

在领域信任的桑巴服务器上安置漫游configuration文件?

Raison D'être 我正在尝试,目前为止还没有成功地在一个领域信任的Ubuntu 12.04LTS ZFS-on-Linux文件服务器上安置Active Directory域的漫游configuration文件。 最终目标是要有一个可互操作的文件服务器来存放Linux的autofs nfs主目录和Windows的漫游configuration文件。 纯粹的Windows服务器或将Linux服务器join到Active Directory中对我来说在政治上是困难的。 因此,我正在寻求技术解决scheme或certificate这种技术解决scheme不如打仗政治斗争成立。 我怀疑我目前的困难与Windows客户端到Samba交互而不是ZFS有关,但是我有点不深入,所以我没有完全排除它。 亲爱的读者,请您指出为什么我所做的是不正确的,并解释正确的程序? 我想我知道的 用户可以从Kerberos领域成功login到客户机。 但是,用户使用临时configuration文件login。 在文件服务器上创build一个configuration文件文件夹(大概是通过login过程),但是在该新创build的configuration文件文件夹中没有其他文件。 configuration文件夹是使用正确的所有者/组自动创build的。 鉴于此,在证书caching被实例化或者krbtgt被授权之前似乎不太可能加载configuration文件。 login到临时configuration文件时,用户可以在文件服务器上创build文件,而无需为文件服务器提供任何(附加)凭据。 那是没有提示。 这些文件也是用正确的所有者/组创build的。 附加信息 这是我想你想知道的所有configuration,但我可能是错的。 我很抱歉找不到可折叠的方式。 涉及的系统和机器的简要概述 AD domain: ad.example.com (Functional Level 2012) domain controllers: dc1.ad.example.com, dc2.ad.example.com (OS: Windows Server 2012 Std) mit-krb5 realm: EXAMPLE.COM mit-krb5 kdcs: kdc1.example.com, kdc2.example.com (mit-krb5: 1.9.4) smb/cifs server: zfs.example.com (OS: Ubuntu […]

为什么不能使用Kerberos身份validation来访问CIFS共享?

我在CentOS 6.4上。 使用kstart我有一个TGT使用Active Directory中的计算机帐户(即computername $)保持活动状态。 票据caching分配给根,位于/ tmp / krb5cc_0。 我使用sec = krb5以root身份mount.cifs。 这工作,我可以浏览共享。 问题是,虽然用户可以通过ssh浏览共享,但是在cron下运行的rsync在挂载之后无法访问它。 Subversion Edge备份function也无法使用。 Rsync得到错误: rsync: ERROR: cannot stat destination "/mnt/dfs/backups/redmine/": Key has been revoked (128) 和csvn的备份得到相同的128错误: CIFS VFS: Send error in SessSetup = -128 CIFS VFS: cifs_mount failed w/return code = -128 有时一个 CIFS VFS: Send error in SessSetup = -122 CIFS […]

只有麻省理工学院Kerberos的Alfresco:什么authentication.chain?

我希望Alfresco使用SSO和MIT Kerberos来validation用户身份。 我应该使用哪种身份validation链? 我尝试了authentication.chain=kerberos1:kerberos没有成功。 基于这个答案,我也build立了一个包含与MIT Kerberos相同的用户的LDAP服务器,并且用authentication.chain=kerberos1:kerberos;ldap1:ldap尝试了,但是这也不起作用。 ldap1/ldap-authentication.properties重要行: ldap.authentication.active=true ldap.synchronization.active=true 我总是得到CIFS server configuration error, Error creating bean with name 'globalAuthenticationFilter' ,即使我不关心CIFS,只有HTTP。 在kerberos1/kerberos-authentication.properties我有kerberos.authentication.authenticateCIFS=false 。 我究竟做错了什么? 我可能需要passthru莫名其妙吗?

使用应用程序池凭据的Kerberos

我有以下设置: ServerA,一个带有asp.net mvc站点的web服务器 ServerB,一个具有asp.net Web Api服务的Web服务器 ServerA上的MVC站点使用ServerB上的Web Api服务。 用户login到MVC站点,但Web Api中的某些服务方法要求用户处于特定的angular色等等,所以我需要能够在Web Api级别对用户进行身份validation。 出于这个原因,我试图设置Kerberos。 ServerA已经被委托信任。 MVC网站运行在一个networking用户帐户(我们将其称为ServiceAccount在这里)已经设置为委派。 我为此build立了一个SPN。 但是,从MVC站点到Web Api的所有请求都显示用户是ServiceAccount,而不是MVC站点的实际login用户。 Kerberos周围的信息似乎分散,所以我正在努力寻找解决scheme。 有没有人有什么想法这里可能是错的? 谢谢

Samba身份validation

我知道这样做似乎没有在这里做过研究,因为我已经完成了,我知道有多less相关的问题和教程。 我已阅读每个教程,我可以在网上find这个。 我已经浏览了serverfault上Samba / Kerberos / AD /身份validation主题的完整列表。 实际上,只是因为我能够validation每个阶段的成功,所以让我最远的教程是http://www.howtoforge.com/samba_active_directory 。 唉,它仍然没有工作。 不用再说了,我的问题是: 我有一个运行CentOS 6.5的KVM客户机。 我已经安装了Samba 3.6.9。 我想使用Samba共享用户的主目录,以便他们可以将它们映射为Windows 7机器上的networking驱动器。 我已经用本地帐户使用smbpasswd 成功完成了这个任务 。 问题是我想要使用Kerberos(Active Directory,我无法控制)validation这些用户。 我不需要或不需要来自Kerberos / AD / LDAP的任何types的用户,组或策略信息。 我只想validation用户提供的用户密码到Windows驱动器映射GUI并发送到Samba。 同样值得注意的是,我已经在相同的KVM guest虚拟机上为相同的用户configuration了Kerberos来进行SSH访问。 通过/etc/passwd条目和/etc/passwd设置的密码,用户在SSHlogin时inputKerberos密码并进行身份validation。 这正是我想要的Samba。 我希望用户能够“映射networking驱动器”,inputSamba服务器的FQDN,input他们的用户名和密码,然后让Samba使用该密码对其进行身份validation,方法与SSH通过密码进行身份validation的方式相同成功映射。 我已经做好了: service winbind start service smb start service nmb start 用于SSHauthentication的krb5.conf是: [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log […]