Postfix收件人地址validation:它是否工作,没有维护转发器上的中继域列表?

我试图设置一个后缀服务器与收件人地址validation,但我没有成功。 这是我的相关configuration( 按此 )

relayhost = xxxx smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_unknown_recipient_domain, reject_unverified_recipient unverified_recipient_reject_reason = Address lookup failed address_verify_negative_cache = no unverified_recipient_tempfail_action = defer 

我将主机设置为我正在testing的域的MXlogging。

我唯一得到的是这样的:

 May 4 10:36:29 marine postfix/smtpd[28788]: connect from xyz May 4 10:36:29 marine postfix/smtpd[28788]: NOQUEUE: reject: RCPT from xyz: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<example.nl> May 4 10:36:29 marine postfix/smtpd[28788]: disconnect from xyz 

同时,我了解到收件人地址validation只validation用户,而不是域。 这意味着我仍然需要将该域列为中继域。 这是个问题。

我不想保留它可以中继的服务器上的域名列表。 目标服务器接受的是dynamic的,所以我不能保持同步域列表。 我本来打算这样做的:

  • 停止成为带有reject_unknown_recipient_domain的开放中继。 因为文档说:“当Postfix不是收件人域的最终目的地时拒绝请求”,我认为它会拒绝当MXlogging不是这个主机,但显然它不(用netcattesting端口25;这是一个开放的中继)。
  • 如果已经有效,那么它将探测relay_host,以查找将此主机logging为MXlogging的所有地址域。 但是,它不。

显然,收件人地址validation只validation用户,而不是域。

我怎样才能确保postfix实际上拒绝邮件有一个MXlogging指向其他地方?

如果你在讨论postfix通过smtp来探测relay_host,那么这不能在本地完成,这将成为postfix的一个负担。 如果通过本地文件/ db / ldap或dns(域mx)不能立即确定它被允许,它将拒绝它。 否则,DOS攻击会很快占用你的资源,并将你的relay_host也取出。

如果relay_host具有数据库或ldap用户列表,则可以使用relay_recipient_maps和virtual_mailbox_domains来查询relay_host并知道它有什么可用的。 唯一的缺点是,如果它在任何时候都处于closures状态,那么你的后缀框很可能会出现4XX临时失败的错误,而不是接受邮件,直到relay_host可用来接受它,这是本地caching副本的好处。 我从我的中央服务器使用wget到本地3个postfix中继主机,这些主机定期下载用户和域名列表。

没有你的中继主机提供的详细信息,不能真正给出太多的configurationbuild议。

postfix中的permit_mx_backupconfiguration选项可以做你想做的事情:


permit_mx_backup

当本地邮件系统为RCPT TO域备份MX时,或当域是授权目标时(请参阅permit_auth_destination以进行定义),请允许请求。

  • 安全性:permit_mx_backup不接受具有发件人指定的路由信息​​的地址(例如:user @ others @ domain)。
  • 安全性:当访问不受permit_mx_backup_networks限制时,permit_mx_backup可能会被误用。
  • 安全性:从Postfix版本2.3起,当本地邮件系统是收件人域的主MX时,permit_mx_backup不再接受地址。 例外:当permit_mx_backup指定一个授权的目的地址时,它会接受这个地址(参见permit_auth_destination的定义)。
  • 限制:如果Postfix 2.0之前的临时DNS查找问题,邮件可能会被拒绝。