问题
如何使用LDAP Accept Query验证中继邮件的发件人?
警告:如果邮件到达公共侦听程序,您只能对信封“mail from”地址执行LDAP接受查询。专用侦听程序不允许使用LDAP接受查询。LDAP接受查询仅适用于入站连接。因此,邮件流策略的“连接行为”(Connection Behavior)不能设置为中继(Relay),此设置才起作用。
以下是设置LDAP接受查询发件人验证所需的步骤:
- 要允许/拒绝内部发件人向互联网进行中继(具体取决于其邮件地址在LDAP中的存在),必须将专用侦听程序替换为公共侦听程序。在本示例中,新的公共侦听程序命名为“Outbound_Sender_Validation”。
- 创建新的LDAP服务器配置文件并设置此配置文件的LDAP接受查询。若要使LDAP接受查询验证信封邮件发件人地址,您需要将{a}替换为查询字符串中的{f}。有关如何配置和使用LDAP的详细信息,请参阅《高级用户指南》。
示例: (mail={a}) => (mail={f})
- 在“Outbound_Sender_Validation”侦听程序中启用已配置的LDAP接受查询。
- 转到Mail Policies > Recipient Access Table(RAT)”并切换到新的公共侦听程序“Outbound_Sender_Validation”。要允许中继,请将“所有其他收件人”(All Other Recipients)设置为“接受”(Accept),并确保这是RAT中的唯一条目。
- 转到“HAT概述”并切换到“Outbound_Sender_Validation”侦听程序。在这里,您只需要一个发件人组。 为避免开放邮件中继的风险,建议将此发件人组设置为仅与允许中继的MTA的IP地址匹配。
- 重要的一点是,分配的邮件流策略的“连接行为”未设置为“中继”,否则会禁用LDAP接受查询。
- 为确保其他MTA无法通过“Outbound_Sender_Validation”进行连接,请将默认“ALL”发件人组的策略设置为BLOCKED。
日志中看到的内容
警告:根据此设置,在收到信封“收件人”地址之前不会拒绝邮件。这是因为LDAP接受查询最初用于收件人而不是发件人验证。 这也会显示在邮件日志中,其中LDAP拒绝与收件人地址在同一日志记录行中声明:
Wed Feb 18 16:16:19 2009 Info: New SMTP ICID 2643 interface Management
(10.0.0.100) address 10.0.0.200 reverse dns host unknown verified no
Wed Feb 18 16:16:19 2009 Info: ICID 2643 ACCEPT SG RELAY_HOSTS match 10.0.0.200
rfc1918
Wed Feb 18 16:16:32 2009 Info: Start MID 2554 ICID 2643
Wed Feb 18 16:16:32 2009 Info: MID 2554 ICID 2643
From: <do_not_exist@example.test>
Wed Feb 18 16:16:39 2009 Info: MID 2554 ICID 2643 To: <good_user@example.com>
Rejected by LDAPACCEPT
Wed Feb 18 16:17:14 2009 Info: ICID 2643 close
查看此日志条目会使您认为被拒绝的地址是“good_user@example.com”,即使它实际上是“do_not_exist@example.test”被拒绝。