Articles of kerberos

禁用Kerberos密码

当试图在Debian 6.0框中添加一个新用户时,我得到: passwd: User not known to the underlying authentication module 如何禁用Kerberos身份validation并使用旧的UNIX密码?

CentOS7 Kerberos Auth:Kerberosconfiguration文件的格式不正确;

我正在为基于组的AD身份validation设置一个Squid 4.0显式代理,针对Active Directory域(Server 2012 R2),在最小的CentOS 7(64b)安装上使用SSL进行冲突。 域join使用authconfig-tui非常粗略,但我设法得到它基本上configuration,以便AD用户可以通过SSH进行身份validation,Squid代理与身份validationclosures。 但是kinit失败: [root@tc-icap squid]# kinit kinit: Improper format of Kerberos configuration file while initializing Kerberos 5 library 在加强Squid的debugging日志并尝试使用join域的客户端进行身份validation之后,我在Squid的cache.log看到了这一点: 2016/03/02 11:12:56.151| Starting new negotiateauthenticator helpers… 2016/03/02 11:12:56.151| helperOpenServers: Starting 1/10 'negotiate_kerberos_auth' processes 2016/03/02 11:12:56| negotiate_kerberos_auth: ERROR: krb5_init_context: Improper format of Kerberos configuration file 2016/03/02 11:12:56| negotiate_kerberos_auth: ERROR: krb5_init_context: Improper format […]

鱿鱼代理身份validation – 最无痛的方式

好吧,标题说明了一切,真的。 最终目标是为最终用户实施代理authentication。 用户的系统大部分(95%)是基于Windows的,代理是一个运行鱿鱼的Debian Lenny 2.7。 我已经调查了可能的方法来实现它,首先使用ntlm_auth助手,在Lenny squid2.7发货,它失败了, -​​ 一些用户得到authentication就好,有些没有出于某种原因。 我无法find一个corellation,我甚至用wireshark检查实际的数据包stream无济于事 – 这似乎是完全随机的。 我已经在不同的物理机器/帐户上试过了,所以排除了。 然后,看起来有两条可能的路线可用。 使用winbind(使用samba)并使用ldap + kerberos。 我本人反对使用samba,因为首先它需要你跳过像join域等特定的环节,其次(这是cruncher) – 我不需要samba提供的所有function,它是只是不希望在那台机器上拥有所有的function,比如窗口式的共享等等。 如果我不得不求助于使用samba,我真的只想使用一小部分function,就足以让samba的ntlm_auth(用winbind)来authentication用户。 有没有人有这种设置的经验? 我读过这个问题 (不是真的是一个问题:P),我真的很喜欢我所看到的 – Kerberos似乎是一个可能的解决scheme,足迹并不是那么庞大。 问题是,是否有可能在windows-2000版本的域上运行? 那么浏览器如何支持?

通过Kerberos使用SSH密钥

所以在我们公司遇到了一个问题,导致我过去一周把头发拉出来: 我们有数百个服务器箱(如果有的话,CentOS6 / 7的组合)需要在一个团队之间每天快速接入SSH服务器。 每个人都使用mRemoteNG或SuperPutty作为保存和组织连接信息以及标签连接的必备条件。 目前,每个人都共享一个SSH密钥login到所有的盒子。 显然,我们目前的做法是一个可怕的想法,所以我们想要做的是给每个用户一个个人账户和密钥在整个框中使用。 环顾四周,似乎Kerberos是pipe理多个用户和在大量服务器上处理authentication的理想select。 不幸的是,我们似乎在按照我们想要的方式工作时遇到了一些问题。 我们可以设置Kerberos来为使用密码的用户处理SSH连接,但是当禁用密码和使用SSH密钥时,我们无法弄清楚。 我们也考虑使用Kerberos keytabs,以及我们无法让他们通过PuTTY工作,或find一个可行的解决scheme来保存连接信息,并与keytabs选项卡连接。 这里的主要问题是:Kerberos可以用SSH密钥pipe理SSH用户吗? 如果没有,是否有可用的PuTTY版本与Kerberos密钥表一起使用,还是可以组织并具有选项卡式连接的替代版本? 谢谢!

通过VPN进行Active Directory集成

我最近开始作为一个networkingpipe理员的公司有2个地点,我们使用VPN来连接他们。 我们需要在第二个位置设置一个Active Directory和Exchange Server,以便与第一个完全集成。 我已经创build并testing了一个具有新的林/域的新服务器。 我的问题是,最好的办法是什么? 记住,我们需要将VPNstream量降到最低,我们需要所有的AD动作保持在本地,只有当我们需要访问其他域的信息时,我们才需要通过VPN。 那么,最好是去一个森林还是两个森林,并在这两个领域之间build立信任? 保持中期,我们也需要将两个交换服务器彼此以及两个AD域完全集成。

Windows服务器pipe理器Kerberos错误0x80090322

我已经对这个问题感到沮丧了两天了,所以我最终决定在serverfault上询问这个问题。 我正在build立一个Windows实验室环境。 它有一个Win2012R2域控制器(srv001),我想添加另一台Win2012R2服务器到域(srv003)。 其实一切顺利 我给新的服务器一个静态的IP地址在DC的同一个子网,指向正确的DNS服务器,并将服务器添加到域。 但是,当我将新服务器添加到服务器pipe理器,我得到一个Kerberos错误:0x80090322。 我有一个相当长的错误信息,我会在下面发表。 我做了一些testing,发现我实际上能够使用Kerberos身份validation为服务器设置一个远程Powershell会话: $s = New-PSSession -ComputerName srv003 -Authentication Kerberos $s | Enter-PSSession 这里没有问题。 我在远程服务器上运行了Enable-PSRemoting ,在那里也没有问题。 为什么服务器pipe理器不喜欢我的新服务器? 尤其是因为可以使用服务器pipe理器所抱怨的相同协议来设置远程Powershell。 属于错误代码0x80090322的错误消息: configuration刷新失败,出现以下错误:由于以下错误,元数据无法从服务器中检索:WinRM无法处理请求。 使用Kerberos身份validation时发生错误代码0x80090322的以下错误:发生未知的安全错误。 可能的原因是: 指定的用户名或密码无效。 当没有指定validation方法和用户名时,使用Kerberos。 Kerberos接受域用户名,但不接受本地用户名。 远程计算机名称和端口的服务主体名称(SPN)不存在。 客户端和远程计算机处于不同的域,两个域之间没有信任。 检查上述问题后,请尝试以下操作: 检查与事件查看器相关的身份validation事件。 改变authentication方法; 将目标计算机添加到WinRM TrustedHostsconfiguration设置或使用HTTPS传输。 请注意,TrustedHosts列表中的计算机可能未经过身份validation。 有关WinRMconfiguration的更多信息,请运行以下命令:winrm help config。 要回到错误消息中编号的项目: 我使用域pipe理员帐户来执行此操作。 不知道如何改变这在服务器pipe理器,所以我想默认应该这样做。 我在域内运行,启动服务器pipe理器作为域pipe理员。 服务器实际上有以下SPN我没有碰过: DFSR-12F9A27C-BF97-4787-9364-D31B6C55EB04 / srv003.rwwilden01.local TERMSRV / SRV003 TERMSRV / srv003.rwwilden01.local […]

在没有用户干预的情况下更新kerberos票证

我们已经find了最优秀的程序,这将允许我们的OSX机器通过我们的Windows打印服务器进行打印。 (来自http://deploystudio.com/的 ksmbprint) 该程序允许通过Kerberosauthentication与服务器进行smb打印 – 不需要为每个打印作业不断地inputAD用户名和密码,也不需要在300台左右的机器上设置特定的打印机使用lpadmin进行打印。 问题是Kerberos票持续10个小时。 10小时1秒,印刷工作进入以太网 – 看起来像是经过,但无处可去。 在testing中,我可以进入钥匙串访问 – >票务查看器,然后在input我的AD密码后更新票证。 这对于testing者来说是好的,但对用户来说不是这样。 我发现了一个脚本,用来检查用户在票上剩余不到30分钟的时间,并要求他们重新进行身份validation。 将其设置为启动代理,然后运行 ​​- 直到要求用户重新进行身份validation。 作为代理运行时,这部分不会发生。 寻求一种尽可能less的用户干预来重新授权票据的方法。 如果我可以让启动代理像刚刚运行一样工作,那么对于第一次运行我就可以,但是真的想要一种方式来悄悄地重新authenticationkerberos票。 用Domain Admins说话,他们不build议增加票价时间,经过讨论,我们意识到无论什么时候我们设置它过期将有一个人的票将会过期,所以我们最好find一个更好的解决scheme。 编辑:我已经得到启动代理工作,但我仍然在寻找一种方法来做到这一点,无需用户干预。 当这个随机框出现并且键入他们的域密码时,要求用户信任我们的想法就是我们不应该要求用户做的事情的列表。

内核模式身份validation:从远程计算机访问站点时出现401错误

我有几个使用集成Windows身份validation和Kerberos委派的经典ASP站点。 它们可以在活动服务器(最近移动到Server 2008 / IIS7服务器)上正常工作,但不能在我的开发PC或我的开发服务器上正常工作。 两台机器上的IIS都是通过从旧机器导出的IIS Web部署工具包configuration的; 部署没有完美的工作,我不得不修补一点让网站的工作。 在任何一台机器上本地访问应用程序时,都能正常工作。 当从另一台机器访问时,用户将被用户名/密码对话框提示,无论您input什么内容,最终都会导致401(未授权)错误。 我已经尝试过将这些机器的configuration与类似的活动服务器进行比较(所有这些工作都正常),并且它们看起来大体相当(假设IIS7.5(Windows 7 / Server 2008 R2)上还没有活动的服务器。 这些应用程序运行在一个通用的应用程序池中,该应用程序池使用一个特殊的域用户作为身份标识 – 该用户在实时和开发机器上具有相似的权限 在IIS6平台上,为了启用Kerberos委派,我需要为这个用户设置一些SPN,并且他们仍然在位(即使我不相信由于内核模式身份validation,他们已经不再需要IIS7 +), 此外,在Active Directory中为这个帐户启用了Kerberos委托,就像我正在处理的每台机器一样。 我正在考虑部署可能更改/无法对IISconfiguration进行更改从而导致此问题的可能性。 也许一个完整的重build(减去另一个Web部署尝试)将解决这个问题,但我宁愿修复(从而理解)当前的问题。 任何想法到目前为止? 我刚刚尝试解决这个问题,并取得了一些进展,但我还没有完全解决。 我发现,如果我通过IP地址访问网站(比通过NetBIOS名称),我得到相同的对话框,除了它接受我的凭据,从而应用程序的工作 – 不是一个修复,但一个有用的步骤。 更有趣的是,我发现,如果我禁用内核模式身份validation(在IISpipe理器>网站>身份validation>高级设置 ),应用程序工作完美。 我的模糊的理解是,这是有效的工作在IIS7以前的方式。 一个合理的短期解决scheme,但是在这个问题上考虑以下来自IIS的明确build议: 默认情况下,IIS启用内核模式身份validation,这可能会提高身份validation性能并防止configuration为使用自定义身份的应用程序池的身份validation问题。 最佳做法是,如果您的环境中使用了Kerberos身份validation,并且应用程序池configuration为使用自定义标识,则不要禁用此设置。 显然,这不是我的应用程序应该工作的方式。 那么问题是什么?

如何在ubuntu 11.04上configurationldap服务器? (用于颠覆和trac)

我有一个EC2上的Ubuntu服务器11.04(我提到这一点,因为它看起来事情已经改变了以前的Ubuntu发行版,当它涉及LDAPconfiguration)。 我想把它configuration成一个带有trac的subversion服务器,用于私人仓库(即用户必须有一个用户名:密码和权限来查看或提交svn,以及查看或更改trac)。 既然我想确保它是安全的,我首先select了svn + ssh选项,这意味着我必须为每个需要访问svn的人创build一个linux用户。 但我找不到一种方法来使用同一个用户trac – 这意味着我将不得不手动创build一个trac用户为我在linux机器上创build的每个用户,这可能会导致svn和trac之间的不同密码简而言之:一团糟。 所以我决定去实现一个openldap服务器,这个服务器将来可以select将ldap用户用于其他function。 我发现的唯一一个在configurationopenldap部分工作的指南是这个 (“ 指南 ”)。 然而 ,当我到了Kerberos部分 – 我有一些问题,我不知道如何回答他们,然后我得到了错误,所以没有Kerberos。 一些说明: 服务器最终会像svn.myserver.com一样。 但是,目前还没有DNSlogging。 考虑到前面的注意事项,在configurationopenldap时,我使用了svn.myserver.com名称(如上面的指南中所述)(我没有做指南的前两部分,所以我必须运行sudo dpkg-reconfigure slapd命令重新configuration,并使用dc=svn,dc=myserver,dc=com而不是dc=danbishop,dc=org或svn.myserver.com而不是danbishop.org )。 在指南的kerberos部分,当运行sudo apt-get install krb5-kdc krb5-admin-server命令时,我被问到以下问题: 领域 – 我写了SVN.MYSERVER.COM 关于服务器的东西 – 我写了localhost 关于pipe理员服务器 – 我写了localhost 当问题结束后,继续configurationkerberos,有一些File or directory not found错误,并且发生an error has occured, see logtypes的消息。 但是,我没有find任何日志文件。 有可能是一个更好的方法来做到这一点,也可能有另一种解决scheme,以获得我想要的(svn,trac和其他未来的应用程序统一的用户pipe理),但由于svn和错误跟踪function假设生存很长一段时间,没有任何困难,对我来说select正确的解决scheme,并以正确的方式进行configuration是非常重要的(我确信有多个正确的方法,但我不想select一个糟糕的方法办法)。 我真的很感谢这方面的帮助,因为我现在已经搞乱了几天,觉得自己在浪费时间。

授予Kerberos约束委派到SQL Server 2012作为托pipe服务帐户运行

我看不到如何为托pipe服务帐户标识的服务授予Kerberos约束委派。 我有一个Windows 2008 R2function级单域单林,两个2008 R2 SP1 DC,新build。 我已经在服务器“SQL-01”上安装了新的SQL Server 2012实例,以便在托pipe服务帐户“MsaSqlServer”中运行。 迄今为止都很好。 托pipe服务帐户具有以下属性:cn = MsaSqlServer sAMAccountName = MsaSqlServer $ servicePrincipleName = MSSQLSvc / SQL-01.fasttrac.local,MSSQLSvc / SQL-01.fasttrac.local:1433 我现在在服务器APP-02上有一个IIS网站(在同一个域中)。 我可以很容易地在Web服务器的属性对话框APP-02的委派选项卡上设置ADUC中的约束委派,例如通过单击添加,find文件服务器并select“CIFS”服务来访问文件服务器types。 但是,我想要委派SQL Server,所以我单击添加,findSQL服务器SQL-01,并且没有SQL或MSSQLSvc或类似的服务。 这是正常的,因为MSSQLSvc SPN注册到运行SQL Server的帐户,并且只有在运行为本地系统时才会显示在计算机帐户上。 SQL 2008运行在一个正常的域用户帐户,我只需input该域的用户名,并selectMSSQLSvc SPN,我们走了,但我不能得到“select用户或计算机”框find我的托pipe服务帐户(与或没有$后缀)。 我认为我可以通过直接攻击web服务器(APP-02)AD对象的msDS-AllowedToDelegateTo属性并添加“MSSQLSvc / MsaSqlServer”和“MSSQLSvc / MsaSqlServer.domain.local”来获得所需的效果,但是我没有知道是否包括训练$(即“MSSQLSvc / MsaSqlServer $”),实际上,我虽然GUI应该工作。 有谁知道我该怎么办?