我正在尝试configurationsendmail以使用LDAP查找作为别名表。
我有我的configuration这一行:
Kldapfullname ldap -k"uid=%s" -v"mail" -h"my-ldap-server"
我已经使用了很长时间了。 它的工作原理,别名被抬起,电子邮件结束在适当的收件箱。
但是,它正在工作,因为LDAP目前允许匿名绑定。 由于一些政策的变化,这是不能做的了。
我得到这个工作:
Kldapfullname ldap -k"uid=%s" -v"mail" -H"ldaps://my-ldap-server/" -Msimple -d"CN=LDAP_USER" -P /path/to/ldap.secret
这符合“不再匿名绑定”的要求。
但是,仍然存在一些安全问题:LDAP绑定不是通过安全通道完成的。 用户名和密码都以明文forms发送。 从长远来看,和匿名绑定一样有用。
在我search的几个例子中,我看到-H标志可以让你指定一个协议,比如ldap:// ,或者在我的情况下是ldaps:// 。
但是当我去validation时,我看到数据仍然通过非安全LDAP端口(端口389),而不是LDAPS端口(端口636)。 (我用snoop来查看我的主机和LDAP服务器之间的stream量。)
所以我的问题是:*为什么是ldaps://被忽略和使用,就好像它只是ldap:// ? *为了做到这一点,我需要改变什么?
根据“bat book”(第3.4.56节)的第4版,当sendmail编译时使用LDAP支持但没有SM_CONF_LDAP_INITIALIZE时,scheme:// LDAP的一部分被省略。