Ldap

使用 OpenSMTPD 的 LDAP+SSL 配置

  • July 21, 2020

根據這篇博文,我有一個使用 OpenSMTPD 6.6.4(託管在 debian 10 上)的工作設置,該設置插入到 OpenLDAP 2.4.50 伺服器(託管在 Alpine 3.8 上)。它適用於普通 LDAP 連接,但適用於 LDAPS。

/etc/smtpd.conf

pki mail.mydomain.tld cert "/path/to/fullchain.pem"
pki mail.mydomain.tld key "/path/to/privkey.pem"
pki mail.mydomain.tld dhe auto

public_addr = "xxx.xxx.xxx.xxx"
listen on $public_addr port 465 smtps pki mail.mydomain.tld auth
listen on $public_addr port 587 tls-require pki mail.mydomain.tld auth

table ldap ldap:/etc/mail/ldap.conf

action dovecot lmtp "/var/run/dovecot/lmtp" userbase <ldap>
action "relay" relay

match from any for domain "mydomain.tld" action "dovecot"
match from any action "relay"

/etc/mail/ldap.conf

url                     ldap://ldap.mydomain.tld
username                cn=admin,dc=mydomain,dc=tld
password                xxxxxxxx
basedn                  ou=Users,dc=mydomain,dc=tld

...

切換到ldaps://ldap.mydomain.tldin/etc/mail/ldap.conf會使 OpenSMTPD 無法啟動:

Jul 16 16:26:55 mail.mydomain.tld systemd[1]: Starting OpenSMTPD SMTP server...
Jul 16 16:26:55 mail.mydomain.tld smtpd[5073]: info: OpenSMTPD 6.6.4p1 starting
Jul 16 16:26:55 mail.mydomain.tld systemd[1]: Started OpenSMTPD SMTP server.
Jul 16 16:26:55 mail.mydomain.tld smtpd[5077]: warn: table-proc: imsg_read: Connection reset by peer
Jul 16 16:26:55 mail.mydomain.tld smtpd[5077]: lookup: table-proc: exiting
Jul 16 16:26:55 mail.mydomain.tld smtpd[5074]: warn: parent -> lka: imsg_read: Connection reset by peer
Jul 16 16:26:55 mail.mydomain.tld smtpd[5074]: smtpd: exiting: Connection reset by peer

如何修復此配置以啟用ldaps與 OpenSMTPD 的連接?

我在 FreeBSD 上使用 opensmtpd-extras-table-ldap-6.7.1,1 執行 OpenSMTPD。當我在調試模式下配置ldaps://urlldap.conf並執行 OpenSMTPD 時,會出現以下錯誤:

warn: ldap_parse_url fail
warn: ldap_connect error
fatal: failed to connect

因此,OpenSMTPD 目前似乎不支持 ldap over TLS。

引用自:https://serverfault.com/questions/1025497