我花了大部分时间作为开发人员,所以我不熟悉所有的细节… 我有一个Linux主机上运行的服务。 我想使用Kerberos将身份信息传输到服务。 我的一些客户是在连接到AD的Windows客户端,所以他们已经有了一张票。 我知道如何使用kinit在我的* nix客户端上获得一张票,并且证实我可以这样做。 我有一个/etc/krb5.conf文件,似乎在我的* nix客户端上工作 我知道我需要做以下… 请ADpipe理员为特定的SPN生成密钥表。 将我的服务器上的keytab放在服务可以find它的地方。 客户端使用票证和SPN从Kerberos基础结构中获取令牌。 configuration服务以接收令牌并使用密钥表对其进行解码。 这是我的问题… SPN通常采用service_name / FQDN @ domain_name的forms。 但是,我的客户不使用服务的主机名来构buildSPN。 而是将SPN设置在configuration文件中。 如果我可以创build单个SPN并在我的服务器的每个实例上使用它,对我来说是最简单的。 所以我会做以下… 创build一个forms为service_name / some_dummy_name @ domain_name的SPN。 生成密钥表并将其复制到svr1.mycompany.mydomain,svr2.mycompany.mydomain,…,svrX.mycompany.mydomain。 使用单个SPNconfiguration我的客户端。 我似乎认为这将起作用,因为在服务器群集时,可以在具有不同主机名的多台服务器上使用相同的SPN / keytab。 为了解决这个问题,SPN的FQDN部分对于服务器来说意义重大,还是仅仅为了让典型的客户端能够生成正确的SPN呢? 如果几个服务器具有相同的密钥表,他们是否可以接收和validation相同的令牌,或者是其他要求? 只是要强调,该服务是一个在Linux上的Java应用程序,客户端是Windows和* nix上的Java应用程序。 AD将提供Kerberos服务器基础结构。
我需要使用GSSAPITrustDns选项来使用Kerberos身份validation连接到循环服务。 这可以在select的机器上正确使用OpenSSH 5.3和6.6.1p1。 我有一个具有OpenSSH 6.7的Arch Linux机器,我的~/.ssh/config在所有这些系统之间是通用的。 在OpenSSH 6.7下,在使用ssh的时候出现以下错误: ~/.ssh/config: line 91: Bad configuration option: gssapitrustdns ~/.ssh/config: terminating, 1 bad configuration options 这可以防止ssh在该机器上做任何事情,直到我手动删除这些行。 当然,这意味着Kerberos身份validation在该机器上不起作用。 我似乎无法find关于这个问题的任何事情,所以我在此之前仔细查看。
我很好奇,如果有可能在不使用winbind的情况下使用samba共享。 在我们当前的环境中,我们使用SSSD,Kerberos和Samba来完成必要的任务,例如joinWindows域并设置活动目录/ LDAP。 由于我们使用的是SSSD而不是winbind,我们如何设置Windows机器的samba共享来使用当前的实现进行访问呢? 我可以根据需要分享一些configuration。
尝试通过TFTP加载SRVTAB时,收到“不支持的键types”错误: abc(config)#kerberos srvtab remote 1.2.3.4 abc.srvtab Loading abc.srvtab from 1.2.3.4 (via Vlan123): ! [OK – 121 bytes] Unsupported keytype 18! Discarding… No principals in srvtab! Discarding… Failed to retrieve srvtab from tftp://1.2.3.4/abc.srvtab 但是,如果手动指定条目,则不会收到错误 : abc(config)#kerberos srvtab entry host/abc@REALM 1 1418612000 1 18 32 0123456… …但是生成的密钥不起作用(尽pipe没有设置config-key ,但查看configuration文件时键值看起来已经损坏)。 更糟糕的是,configuration引导IOS在启动Kerberos会话时尝试分配千兆字节的内存: Dec 15 19:42:03.030: AAA/BIND(00000B9A): Bind i/f Dec 15 […]
这是昨天出现的情况:我们必须使用别名(CNAME)才能访问我们的计算机上的共享。 该机器正在运行Windows Server 2012 R2,并为Windows 7和8客户机提供服务。 Windows 7客户端没有问题打开共享\ SHARECNAME或\ IP.AD.DR.ESS Windows 8客户端只能打开共享\ IP.AD.DR.ESS 最终有效的是为CNAME创buildSPNlogging以指向HOSTNAME(setspn -S HOST / CNAME HOSTNAME等),并突然共享可用。 HOSTNAME机器确实logging了一个错误: “Kerberos客户端收到来自服务器HOSTNAME $的KRB_AP_ERR_MODIFIED错误,使用的目标名称是cifs / CNAME。” 对此我没有find太多的信息,但是指出了我设定正确的SPNlogging的方向。 我想了解的是为什么客户体验的差异? 谢谢。
我正在使用特殊绑定帐户将Linux主机(CentOS 6)joinActive Directory。 我已经授予该用户的委托权限,当我join默认计算机OU时,将创build一个计算机对象并更新DNS。 现在,我已将同一个用户委托权限授予不同的OU。 但是,当我尝试使用此命令join不同的OU时: net ads join -k createcomputer="Custom/Location" 一个计算机对象被创build,但DNS无法更新此错误消息: hostname.example.local的DNS更新失败:ERROR_DNS_INVALID_MESSAGE DNS更新失败! 我希望得到这个工作,所以我不必手动将新创build的计算机对象移动到正确的OU,因为我已经自动化了剩下的过程。
有没有办法使用Linux客户端在Kerberized AD中列出/显示所有的SPN? 在Windows中,可以使用setspn -T <domain> -Q */*来获取它们。 有类似的东西吗? 还没有find任何东西。 或者甚至有可能? 当然,我要求我的Linux客户端TGT。
简短的问题描述 这个问题是关于NFSv4中的id映射出错的。 NFS服务器:Synology DS,DSM 5.2。 客户端:常规FC22机器,它自动挂载为上面导出的文件夹之一。 这两台机器都注册了一个freeIPA域的客户端,因此使用freeIPA服务器作为DNS和LDAP服务器。 当LDAP用户login客户端时,它会find已安装的文件夹。 所以挂载工作。 但是,文件的所有权被映射为nobody:nobody 。 我知道这个“没有人问题”并不是什么新东西,但是迄今为止我find的解决scheme都没有解决这个问题。 LDAP用户login和文件触摸 $ ssh ldapuser1@client1 ldapuser1@client1's password: -bash-4.3$ id uid=1172000004(ldapuser1) gid=1172000004(ldapuser1) groups=1172000004(ldapuser1) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 ldapuser1可以正确login并具有uid 1172000004。 -bash-4.3$ pwd /home/ldapuser1 -bash-4.3$ ls -lan total 8 drwxrwxrwx. 2 1172000004 1172000004 4096 18 aug 17:34 . drwxr-xr-x. 3 0 0 0 18 aug 18:33 .. LDAP用户在其主目录中正确着陆,先创build并分配给他。 但是任何新文件都会得到错误的所有权: -bash-4.3$ […]
我正在使用Powerbroker Open(以前同样打开)将CentOS 7计算机joinWindows 2012 R2域。 login等工作正常。 现在我试图通过PB的RemoteHomeDirTemplate选项来使用主目录的自动挂载 – CIFS共享应该挂载到HomeShare文件夹和用户的home文件夹中。 共享本身是由FreeNAS盒子(即Samba)提供的。 不幸的是,这是行不通的。 Syslog显示2个CIFS安装尝试,一个选项sec=krb5 ,另一个选项sec=krb5i 。 第一个由于缺less密钥而失败,第二个由于服务器不支持签名而失败。 似乎是Powerbroker不存储Kerberos票证(?)。 当Active Directory用户login时, klist显示没有任何凭据和手动mount -t cifs //myserver/myshare HomeShare -o sec=krb5,[…]失败时显示相同的错误消息。 一旦票据被kinit存储,mount命令成功并且可以访问共享。 问题是:Powerbroker在哪里(或应该)存储Kerberos票证? 还是我必须configuration一些东西,使PB让票证可用? 谢谢你的帮助! 编辑: 最后! 我发现解决scheme(就在我写下这个问题之后…):在CentOS 7上,PBIS服务configuration了systemdfunctionPrivateTmp=yes 。 启用此function后,Kerberos票证不会存储在/ tmp中,而是存储在/ tmp / systemd-private-xxxx(只能由root用户访问)中。 我编辑了服务configurationlwsmd.service并设置PrivateTmp=no 。 一个服务重启后,一切都按预期工作! 是!
关于使用Active Directory身份validation设置单点login到Apache托pipe网站的所有教程,都可以通过configuration具有不安全设置的Kerberos来实现。 现在最好的做法是在Active Directory中禁用Kerberos的RC4-HMACencryption ,但是很多教程都要求重写krb5.conf的默认设置,并使所有的工作都适用于RC4-HMAC。 我想尝试使用AES256encryption设置单点login,并且设法使其工作,所以我正在logging这个问题并回答任何其他谁想要更好的安全性的网站。 从RC4-HMAC开始 我们先从RC4-HMAC开始,因为这很容易。 设置SSO的标准步骤从创build具有关联SPN的域帐户开始,浏览器将使用该帐户来获得encryption凭证以发送到服务器。 对于这个例子,我的用户是REALM \ HostServiceAccount: UPN:[email protected](因此Kerberos主体名称为[email protected]) servicePrincipalName属性(也可以由setspn设置):HTTP / host.example.com; HTTP /主机(Kerberos:HTTP/[email protected]) 单独保留encryption设置; 默认情况下,这使得RC4-HMAC成为最强的encryption方式,所以来自域的票据将具有这种encryptionfunction 我们将下列条目添加到我们的目标服务器上的/etc/krb5.conf中: [libdefaults] default_realm = REALM.COM [domain_realm] .realm.com = REALM.COM realm.com = REALM.COM 我们创buildkeytab并让服务器读取它: # ktutil ktutil: add_entry -password -p HTTP/[email protected] -k 1 -e rc4-hmac Password for HTTP/[email protected]: <enter password here> ktutil: write_kt /etc/apache2/service.keytab ktutil: q […]