陈奇网络工作室

使用KerberosLDAPNFSv4单点登录--SASL/GSSAPI

系统运输

上一篇Kerberos LDAP NFSv4实现单点登录(续1 )1(-DNSDHCP的krb5 ldap bind9 bind9-dyndb-ldap全面升级到debian 10

查看日志:

sasl/gssapiauthenticationstarted

error :本地error

additionalinfo:sasl(-1 ):generic failure:gssapi error:miscellaneous failure ( seetext ) ) didnotfindapluginforccache )

在网上搜索GSSAPI ccache_ops后,必须自行调试。

思想:从绑定9-dyn d B- LDAP包及其每个依赖包中手动降级一个; 或者从常规debian 9,将软件源更改为debian 10,然后逐个升级。 也就是说,降级/升级一个,然后测试一次。

说明: debian系统不能自动降级。 可修改的软件源手动下载低版本或低版本的deb软件包重新安装软件包

实际的整个调试过程还只有盲人知道。 krb5、ldap、sasl都是复杂的东西,问题可能在服务器端,也可能在客户端,也可能缺乏配置。

本人的能力有限,想从源代码中定位于问题的位置。 日志中的关键字\\\\& quot; pluginforCcache_ops\\\& quot; 在中搜索上面的三个源代码,也只能找到只言片语,莫名其妙。

功夫不负有心人,从每个依赖包中逐一降级,幸运地决定了lib sasl2-modules-gssapi-heimdal包。 这意味着所有其他相关软件包都使用最新版本的debian 10,并且不需要修改配置文件。

只要降级lib sasl2-modules-gssapi-heimdal包,bind9-dyndb-ldap就可以成功连接到ldap数据库。

debian 10的版本为2.1.27 dfsg-1

debian 9版本为2.1.27~101-g0780600 dfsg-3

实际上,对于一个文件/usr/lib/x86 _ 64-Linux-GNU/sasl2/libgssapiv2. so.2.0.25,可以用debian 9版本的解包直接替换。

sasl/gssapi也是比较常用的APP应用,但问题是lib sasl2-modules-gssapi-heimdal的2.1.27 dfsg-1版没有更新到debian 11,而是版本

如果openldap客户端工具在2.1.27 dfsg-1版中正常,请运行以下命令

ldapwhoami-y gssapi-h 192.168.1.11

因此,也无法确定是2.1.27 dfsg-1版错误,还是此升级版需要sasl/gssapi客户/衣服的进一步配置。

或者像我的需求一样,bind9-dyndb-ldap SASL/GSSAPI比较少见,网上几乎找不到相关问题,也不能确定是否是bind9-dyndb-ldap问题。

这个问题很平静,可能隐藏得很深.因为调试bind9-dyndb-ldap很麻烦,所以改变了思路,自己编写最简单的ldap/sasl/gssapi/krb5客户端程序测试

krb5客户端可以按如下方式指定票证的位置

& #039; MEMORY:krb5cc_1000& #039; 存储在进程存储器中

& #039; FILE:/tmp/krb5cc_1000& #039; 存储在临时目录中

krb5的票证通常位于临时目录下,诸如/tmp/krb5cc_1000,并且openldap客户端工具读取临时目录下的票证。

测试结果表明,lib sasl2-modules-gssapi-heimdal2.1. 27 dfsg-1版在内存票证中存在错误,文件票证正常。

上一篇使用Kerberos LDAP NFSv4安装单点登录SSSD客户端包括libsasl2-modules-gssapi-mit和lib sasl2-modules-gssapi-heimdal

因此,安装debian 10的libsasl2-modules-gssapi-mit后,内存票证完全正常。 也许正因为mit版更为主流,而mit版取代了heimdal版,heimdal版的问题才得以平息。

总结:

对于sasl/gssapi APP应用程序,请安装libsasl2-modules-gssapi-mit

后记:

对于krb5客户端,尽量使用mit版。 Kerberos原本是mit发明,更活跃。

2 .我的Kerberos服务器为什么要采用heimdal版?

我的目标是Kerberos LDAP一体,因为两个密码同步。

mit heimdal

请参见----------------------------------------- -

不支持krb5服务器通过外部连接到ldap

slapd-smbk5pwd同步密码不支持

3.debian 10的bind9-dyndb-ldap配置格式有了新的更改

客户/服务配置可以通过参考上一篇中的Kerberos LDAP NFSv4实现单点登录(续1 ) (1(-DNSDHCP )。

但是,请按Kerberos并使用您自己的本地数据库来了解以下配置: 使用ldap作为Kerberos后端数据库后,我们发现krb5主体和ldap条目是混淆的

1 ) bind9-dyndb-ldap配置

/etc/bind/named.conf.ldap

//其他缩写

……

不同的体系路径,如//usr/lib/i386-Linux-GNU/bind/LDAP.so

dyndb& #039; my_db_name& #039; & #039; /usr/lib/bind/LDAP.so& #039; {

server_id& #039; & #039;

目录和映射; #039; /var/cache/bind& #039;

uri & #039; ldap://127.0.0.1& #039;

base & #039; ou=dns,dc=ctp,dc=net& #039;

//认证机制

auth_method & #039; sasl& #039;

sasl_mech & #039; GSSAPI& #039;

//v添加krb5主体

krb5_principal & #039; dnsadmin@CTP.NET& #039;

KRB5_keytab& #039; file:/etc/bind/krb5.keytab& #039;

//^

timeout 50;

reconnect_interval 100;

(;

2 ) ldap配置

/etc/LDAP/slapd.d/cn=config/OLC database={1} MDB.ldif

#其他缩写

……

OLCaccess:{3}todn.subtree=& #039; ou=DNS,dc=ctp,dc=net& #039; by dn=& #039; uid=dnsadmin,cn=gssapi,cn=auth& #039; writth}

……

说明:

设置krb5主dnsadmin写入ldap数据库权限。 如果只需要读取权限,则不需要设置。

& #039; cn=gssapi,cn=auth& #039; 是固定格式,表示是krb5条目。 其中,krb5条目不是使用ldap作为Kerberos后端存储在ldap数据库中的条目。 请使用每个Kerberos自己的数据库进行理解。 在ldap数据库中存储& #039; 不需要创建uid=DNS

其他名称& #039; dnsadmin& #039;& #039; dns& #039;& #039; ctp& #039;& #039; net& #039; 我用你的实际名字填写。

3 )执行以下命令

kadmin-ladd-ruse-defaultsdnsadmin

kadmin-lext-k/etc/bind/krb5.keytabdnsadmin

使用ldap作为Kerberos后端,add命令自动在ldap数据库中填充krb5主体的dnsadmin条目& #039; 添加krb5 principal name=DNS admin @ CTP.net,ou=hdkrb5,dc=ctp,dc=net

chown bind:bind/etc/bind/krb5.keytab

chmod o-r /etc/bind/krb5.keytab

chmod g-r /etc/bind/krb5.keytab

4 .其他注意事项

我的krb5 ldap bind9 bind9-dyndb-ldap集成kdc服务器( 192.168.1.11 ) )。

1 )1) ) )。

如果/etc/resolv.conf为空

或命名服务器127.0.0.1

或nameserver 192.168.1.11

或者,假设nameserver 192.168.1.xx和kdc服务器网段不存在的地址

bind9启动失败。 提示已超时

对于上述resolv.conf配置,请匿名更改/etc/bind/named.conf.ldap中的sasl/gssapi验证机制

auth_method & #039; none& #039;

bind9启动成功,无法匿名写入ldap,但dig读取成功; 说明可能是因为sasl/gssapi机制。

2 )

必须将与kdc服务器不存在其他网段的地址添加到/etc/resolv.conf

例如,nameserver 127.0.0.2

或nameserver 192.168.2.22

sasl/gssapi认证机制不知道bind9的成功启动是因为。

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3