后缀:允许未经身份validation的传入邮件,但只有经过身份validation的传出邮件?

我是新来的邮件服务器的世界,并一直在设置自己的Ubuntu 11.10通过Postfix的。 到目前为止,我有SASLauthentication工作在TLS,所以这是很好的; 我现在担心安全问题。

简而言之:我希望Postfix接受所有未经身份validation的传入邮件,但只允许经过身份validation的传出邮件。 这也让我怀疑在端口465和587上是否有STARTTLS和TLS支持,还是需要在端口25上监听? 如果25封闭,邮件服务器是否会尝试在587端口上发送邮件?

但回到允许未经身份validation传入,但只validation传出,我试着添加

-o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject 

到我的master.cf文件中的smtp行,但然后阻止未经身份validation的传入邮件。 有没有办法只允许传入端口25,并离开端口465/587只传出?

我不知道它会做什么好,但如果有必要,我可以发布我的configuration的其余部分。 任何帮助非常感谢,因为我是新手,这仍然是混乱。 谢谢!

正如您已经理解的那样,要在master.cf应用选项,以基于每个端口的方式覆盖main.cf中的选项。

要实现您的目标,您希望将限制设置为smtpd_recipient_restrictions而不是smtpd_client_restrictions 。 关键是reject_unauth_destination而不是reject

 mydestination = aardvark.com, acme.com smtpd_recipient_restrictions = permit_sasl_authenticated,reject_unauth_destination 

这可以防止未经身份validation的客户端发送到您不负责的任何域。 在这种情况下,您所负责的领域不仅仅是我的目标。 请参阅手册中的reject_unauth_destination 。

我一直在寻找几个小时来解决这个问题,你的答案是Couling。

有关更多信息,这也适用于使用Plesk / CentOS(我的情况)。 特别是在使用Plesk时,默认情况下, smtpd_recipient_restrictions的值也会添加到smtpd_recipient_restrictionsvariables中,从而允许所有Plesk域在没有身份validation的情况下发送SMTP邮件。

请参阅: http : //forum.parallels.com/showthread.php?296391-Plesk-domains-can-submit-emails-through-unauthenticated-SMTP

也出于安全原因添加到main.cf(对于任何感兴趣的人;

 smtpd_client_connection_count_limit = 20 smtpd_sasl_authenticated_header = yes maximal_queue_lifetime = 1d