我有一个企业域的网站,使用Kerberos自动login从IE和Chrome身份validation就好了,只要用来访问它的DNS属于AD FQDN AD域不是公有领域,在这个例子中,我们把它叫做company.internal.corp.net 。 标准SPNconfiguration了IIS域用户帐户,例如HTTP / somesite.company.internal.corp.net mycompany \ svc_iis ,IEconfiguration为将此站点视为Intranet站点(允许自动login) FQ AD Domain: company.internal.corp.net NETBIOS domain name: MYCOMPANY DNS for my website: somesite.company.internal.corp.net IIS App Pool account: MYCOMPANY\svc_iis SPN: HTTP/somesite.company.internal.corp.net MYCOMPANY\svc_iis 我已决定将此站点的DNS更改为另一个名称somesite.mycompanypublic.com ,以利用我公共证书上的SSL证书链。 我不打算让网站可以外部访问。 DNSlogging将指向同一台服务器,仅用于内部parsing和访问,并将IEconfiguration为将此站点视为Intranet站点(允许自动login)。 所以现在我有这个设置: FQ AD Domain: company.internal.corp.net NETBIOS domain name: MYCOMPANY DNS for my website: somesite.mycompanypublic.com <– new DNS name, not […]
Kerberos明显阻止攻击者在SSH中间情况下(攻击者已经获得用户信任其服务器的公钥并通过该服务器redirect通信的情况)获取用户凭据。 但是,如果攻击者没有获得用户凭证,那么他们将能够在authentication之后监听会话,并可能获取有价值的信息(包括随后input的凭证),从而会发生什么情况呢? 要清楚,这里是这种情况: SSH服务器(Server1)和客户端(User1)是为Kerberos设置的。 Server1具有用于authentication的标准公钥/私钥对 User1最初尝试连接到Server1,但其连接被攻击者redirect到Server2。 用户1并不仔细查看来自Server2的公开密钥,并将其作为Server1的已知主机密钥(因此设置MITM)接受它。 用户1通过服务器1到服务器2进行Kerberosauthentication(服务器2设置两个独立的SSH会话并在它们之间传递信息)。 由于Kerberos的工作方式,攻击者在authentication过程中不会获得任何有价值的信息。 然而,一旦通过身份validation,User1就开始在Server1上执行操作,包括sudo。 攻击者能够在通过Server2时看到会话的所有内容。 这会工作吗? 在authentication步骤中,这种情况显然会受到公钥authentication的阻碍。 但是在Kerberos或SSH协议中有什么可以防止这种情况呢?
我正尝试运行带有authentication机制GSS-API的mongodb实例。 这是命令: mongod –dbpath /home/ec2-user/db/node2/data –auth –setParameter authenticationMechanisms=GSSAPI 这是我得到的错误: F CONTROL Failed global initialization: BadValue SASL mechanism GSSAPI is not supported 看来我需要SASL用于GSS-API机制的库,就像我解决的其他问题一样: https://dba.stackexchange.com/questions/94889/mongodb-couldnt-find-mech-gssapi 但是现在我使用的是Linux Red Hat 7.5,之前我使用的是Ubuntu 14.04。 我安装的库试图解决这个错误是这些: cyrus-sasl-gssapi.i686 : GSSAPI authentication support for Cyrus SASL cyrus-sasl-gssapi.x86_64 : GSSAPI authentication support for Cyrus SASL perl-GSSAPI.x86_64 : Perl extension providing access to the GSSAPIv2 library […]
我的一个朋友有一个Linux机器托pipejenkins和Windows 2008域控制器。 他在Jenkins中使用Active Directory身份validation,只在Jenkinsconfiguration中指定了域名和域控制器。 所有用户都可以使用他们的Windows域用户名和密码访问Jenkins网页界面。 我不明白这是可能的吗? 我已经了解到,您必须在Active Directory环境中使用Kerberos进行用户身份validation。 活动目录Jenkins插件的网站说他们正在使用“Active Directory的LDAP服务”。 我试图在Windows 2008服务器上find这样的东西,但找不到它。 “活动目录轻型目录服务”模拟LDAP服务器,jenkins只是试图用给出的用户名/密码访问目录(如果testing成功,访问Web界面被授予)? 如果Kerberos不需要对AD用户进行身份validation,是否可以在不使用Kerberos的情况下针对Windows域服务器validationSamba用户,也无需join域? 我有一个Linux文件服务器应该提供networking共享给Windows域中的Windows客户端。
昨天我按照本指南使用Arch Linux和Samba 4configuration了一个Active Directory服务器。 我甚至添加了一个客户端的域名,并能够成功login到我的客户端。 重新启动后,它不再起作用,我不能再使用Microsoft RSAT,我跟踪到这个问题的kinit [email protected]指令返回: 获取初始凭证时,无法联系任何KDC进行领域“INTERNAL.CORP.COM” 试图解决我的问题,我试着Googlesearch,发现这一点 : kinit(v5):获取初始凭证时,无法联系任何KDC以获取所请求的领域 应用程序找不到Kerberos服务器。 检查防火墙,DNS和/ etc / hosts。 但是,正如Arch Linux Tutorial发布adobe所指出的,我尝试了一些命令来testing连接: # host -t SRV _ldap._tcp.internal.corp.com. # host -t SRV _kerberos._udp.internal.corp.com. # host -t A core.internal.corp.com. #core is my server hostname 其中返回: _ldap._tcp.internal.corp.com has SRV record 0 100 389 core.internal.corp.com. _kerberos._udp.internal.corp.com has SRV record 0 100 […]
使用这个链接 ,我已经build立了一个服务器,正确join到Active Directory服务器,但出于某种原因,我无法使用我在笔记本电脑上创build的几个testing用户的Kerberos票证来validation服务器。 本地笔记本电脑上的所有用户都具有相同的.ssh / config,并且全部使用相同的/etc/krb5.conf; 所有的用户也可以通过使用kinit成功地从AD获得有效的票证。 但是,当我尝试SSH到前面提到的连接到AD的服务器时,会出现问题。 当我尝试用我自己的帐户“parkel”login时,它会要求我input密码,然后input我的AD密码,然后通过身份validationlogin服务器,第一次login时,我的homedir已正确我被分配到AD中gidNumber中设置的组中; 在世界上一切似乎都好。 我testing了在AD中更改gidNumber,所有更改都在激活后立即激活。 世界上所有人似乎都还好。 那是什么时候开始的问题。 在看到我的成功之后,我在AD做了两个testing账户,这是我以前工作的AD-account的副本,'test1'和'test2'。 我在我的笔记本电脑上更换了这个账号,做了kinit并拿到了一张票。 但是,当我尝试login到服务器时,它只是尝试使用密码进行身份validation,并且在日志中没有提到使用pam_sss进行身份validation,因为本地用户不存在,这将会失败。 我已经检查了更多的谷歌search和文档比我不愿意承认,但我真的在这里亏本; 我很确定我忽略了一些愚蠢的小细节,但我真的找不到我要去哪里错了。 包括服务器上的sshd日志以及服务器上和我的客户端上的krb5.conf中的一些输出。 SSHD输出 Dec 10 11:59:04 ldaptest.vs.lan sshd[2384]: Authorized to parkel, krb5 principal [email protected] (ssh_gssapi_krb5_cmdok) Dec 10 11:59:04 ldaptest.vs.lan sshd[2384]: Accepted gssapi-with-mic for parkel from 192.168.100.2 port 56752 ssh2 Dec 10 11:59:04 ldaptest.vs.lan systemd[1]: Created slice user-2001.slice. Dec […]
也许有人可以给我一个提示。 我正在评估在大型Microsoft AD环境中将所有(人类)用户的UPN更改为build议的MS格式(与用户的主要公共邮件地址一致,包括用户可公开路由的邮件域作为UPN后缀)的先决条件。 现在,使用UPN时,更改UPN可能会中断应用程序或服务或中断用户login过程。 我知道,在大多数环境中,UPN并没有被广泛用于login,但是我仍想详细说明是否有方法来诊断login进程的UPN使用情况。 我们正在谈论2003年以上的function水平,但主动的NTLM。 相关域控制器正在运行2012和2012R2。 在这种情况下,仅限于具有3个域的单个森林。 虽然这只是环境的一小部分,但它是唯一与UPN变化相关的部分。 首先也是最简单的方法是检查login事件的域控制器上的事件日志。 问题是:就我所见而言,无论使用哪种用户标识表示方式login,它们总是以“域名\用户名”的“传统”格式login。 如果我错了, 请纠正我,因为这会大大加快速度。 接下来我想到的是Kerberos票据的networking痕迹。 如果我没有错误的Kerberos,这些最初是使用用户的密码encryption,并检查他们,我需要使用(可能)未知客户端的数据解密票。 现在,这是我不确定的地方,希望是错误的,因为在某些时候,DC需要确定他们使用哪个密码哈希来解密消息。 我承认我没有做过很多的testing,因为我不想刚刚修改DC。 也许还有一种不同的方法来处理这个我还没有想到的 – 无论如何,我希望有人可以给我一个可能的应用暗示来解决这个问题。 我不愿意“应用变化和鸭子”,我宁愿在任何可能的情况下第一次做对。
我们使用Puppet来configuration我们的服务器,但是为它们创buildKerberos密钥表是一个手动过程。 当机器第一次启动时,我们希望自动生成Unix机器的Kerberos密钥表。 这里的各种教程(比如这个 )解释了新机器本身如何获得keytab,但是这需要Samba和其他工具,我们希望避免安装。 现有的Unix机器能否从AD服务器请求另一个 Unix机器的密钥表? 怎么样? 我们是否需要编写代码(也许,使用Samba4的Python API – 目前文档很less),还是可以通过现有的工具来实现?
如果我们要使用FreeIPA Active Directory信任集成选项,我们可以使用SunLDAP的现有实现来存储策略(例如,sudo,hbac等) 基本上我们不要为了存储策略而创build另一个LDAP目录。
我想devise我自己的微服务框架 – API生命周期pipe理,服务发现和安全。 authentication肯定必须是基于encryption的,但我们如何去跨两个Kerberos领域进行联合?