可以说,ldap服务的保护有一定的通用性(访问控制除外)。ldap中的保护可以挪到其他服务上使用。这里只说明ssl/tls协议在ldap中的使用。以openldap为例。
ldap协议中用到ssl/tls的地方:
sasl认证中:当采用gssapi来作为认证机制的时候,gssapi可以用ssl协议实现,尽管流行的gssapi的实现是基于kerberos的。
当采用SASL external SASL 机制时,可以采用ssl/tls来实现。
ldap协议中的startTLS: startTLS可以让ldap协议通信时,在某个时间开始采用ssl/tls协议。
另外,openldap在ldap协议外可以单独套一层ssl/tls实现,此时openssl打开的是一个ssl/tls的端口。可以用openss s_client来测试链接。但好像这种做法不是ldap协议本身要求的,其他ldap服务是否支持还有待学习。
openldap服务的启动方式LUPA开源社区Hb(dj(W`5{q
1.打开的端口是一个标准ldap服务端口: slapd -h ldap://:401
此时,可以打的命令可以有:
简单认证:
ldapsearch -H ldap://192.168.1.24:401 -D cn=xx,dc=xxx -w xxxx -x -b dc=xxx
ldapsearch -H ldap://192.168.1.24:401 -D cn=xx,dc=xxx -w xxxx -x -b dc=xxx -Z
sasl digest-md5认证:
ldapsearch -H ldap://192.168.1.24:401 -Y DIGEST-MD5 -U XXX (-Z)
-Z表面使用startTLS
2.打开的端口是一个ssl/tls端口: slapd -h ldaps://:401
此时上面的命令都能使用。只是要稍作修改:ldap://写成 ldaps://,并且可以需要指定证书信息。
此端口可以用openssl s_client工具去测试。