Postfix/LDAP 身份验证-限制选定用户从公共 IP 连接到 smtp

Postfix/LDAP 身份验证-限制选定用户从公共 IP 连接到 smtp

在 dovecot 中,我可以使用 LDAP 限制特定用户的公共访问,方法是使用 LDAP user_filter 和 pass_filter 查询。我想做同样的事情,以限制特定用户从远程 IP 地址发送电子邮件。

在 dovecot 中,我的 user_filter/pass_filter 如下:

(&(uid=%u)(!(accountStatus=noaccess))(employeeType=%{if;%3r;eq;10.;LOCAL;REMOTE}))

这将查询 LDAP 数据库并检查 accountStatus 字段中的“noaccess”。它还将远程 IP 地址的前三位数字与“10.”进行比较。如果 employeeType 为 REMOTE,则他可以从任何 IP 地址连接。如果 employeeType 为 LOCAL,则他只能从 10.x 网络进行连接。

有人可以建议一种使用 Postfix 身份验证来完成同样的事情的方法吗?

提前致谢。

答案1

我找到了如何在 Postfix 中使用 Dovecot 身份验证的方法。这给了我一个可以管理 IMAP 和 SMTP 身份验证的地方。

答案2

我知道,这个话题已经存在将近 4 年了,但我遇到了同样的问题:我喜欢只为 OpenLDAP 目录中具有特殊属性的某些用户授予 dovecot 的 SMTP 身份验证访问权限。我使用 user_filter 和 pass_filter 进行的所有测试均未成功 - dovecot 忽略了其他属性并简单地传递了所有身份验证请求。

user_filter = (&(userattribute=auth)(mail=%u))

相同的 ldap-query 与 ldapsearch 配合使用效果很好 - 但与 dovecot 配合使用效果不佳。有什么提示吗?

编辑:我找到了解决方案:当 auth_bind 设置为“no”并且配置了用于身份验证的用户(使用选项 dn 和 dnpass)时,Dovecot 仅使用 user_filter 和 pass_filter 选项。否则这些选项将被忽略。

相关内容